pre-commit-checklisted
Install: claude install-skill aiskillstore/marketplace
# Pre-Commit Check Skill - コミット前品質チェックスキル
## 役割
コミット前の品質チェックを高速に実行するスキルです。qa-checkよりも軽量で、開発中の頻繁なチェックに適しています。
## qa-check との違い
| 項目 | pre-commit-check | qa-check |
|------|-----------------|----------|
| 目的 | 開発中の頻繁なチェック | PR作成前の最終チェック |
| 実行速度 | 高速(変更ファイルのみ) | 通常(全体チェック) |
| テスト | 変更箇所のみ(オプション) | 全テスト実行 |
| カバレッジ | チェックしない | 80%以上必須 |
| ビルド | スキップ可能 | 必須 |
| 使用タイミング | コミット直前 | PR作成直前 |
## 実行フロー
### Phase 1: 変更ファイル確認
```bash
# 変更されたファイルを確認
git status --short
# ステージングされたファイルを確認
git diff --cached --name-only
# 変更ファイルからBackend/Frontendを判定
```
### Phase 2: Backend チェック(変更がある場合)
#### 2-1. Lint実行(変更ファイルのみ)
```bash
cd backend
# Checkstyle(変更ファイルのみ)
./gradlew checkstyleMain checkstyleTest
# SpotBugs(変更ファイルのみ)
./gradlew spotbugsMain spotbugsTest
```
#### 2-2. テスト実行(skip_tests=false の場合)
```bash
# 変更されたクラスに関連するテストのみ実行
./gradlew test --tests "*[変更されたクラス名]Test"
```
#### 2-3. コンパイル確認
```bash
# ビルドはスキップしてコンパイルのみ
./gradlew compileJava compileTestJava
```
### Phase 3: Frontend チェック(変更がある場合)
#### 3-1. Lint実行
```bash
cd frontend
# Biome Lint(全体)
pnpm run lint:check
```
#### 3-2. テスト実行(skip_tests=false の場合)
```bash
# 変更されたファイルに関連するテストのみ実行
pnpm run test:ci --changed
```
#### 3-3. 型チェック
```bash
# TypeScript型チェック
npx tsc --noEmit
```
### Phase 4: 結果レポート
#### 成功時
```markdown
## Pre-Commit Check 完了
### Backend
- ✅ Lint: エラーなし
- ✅ テスト: [実行数] 件成功
- ✅ コンパイル: 成功
### Frontend
- ✅ Lint: エラーなし
- ✅ テスト: [実行数] 件成功
- ✅ 型チェック: エラーなし
### 次のステップ
コミット可能です。
```
#### 失敗時
```markdown
## Pre-