When to Use This Skill
このスキルは以下の場合に必ず実行してください:
- PR作成前 -
gh pr create を実行する前
- Git push前 -
git push を実行する前
- コード変更後 - src/ 配下のファイルを変更した後
- ユーザーが明示的に品質チェックを要求した場合
When NOT to Use This Skill
以下の場合はこのスキルをスキップできます:
- ドキュメントのみの変更 (README.md, CLAUDE.md等)
- 設定ファイルのみの変更 (.gitignore, .envファイル等)
- src/ 配下のコードが変更されていない場合
Quality Check Process
Step 0: Install Dependencies (MANDATORY)
まず最初に、必ず依存関係をインストールしてください:
重要: このステップをスキップすると、lintやtype checkが失敗する可能性があります。必ず実行してください。
Step 1: Run Auto-Fix Commands
まず、自動修正可能な問題を修正します:
bash
1# 1. ESLintとStylelintの自動修正
2bun run fix
3
4# 2. Prettierでコード整形
5bun run format
重要: これらのコマンドでファイルが変更された場合、変更をgit addする必要があります。
Step 2: Run Type Check
TypeScript型チェックを実行します:
型エラーが1つでもある場合、PRやpushは禁止です。
Step 3: Final Lint Check
最終的なlintチェックを実行します:
lintエラーが1つでもある場合、PRやpushは禁止です。
Complete Workflow
For PR Creation
PR作成時は以下の順序で実行してください:
markdown
10. `bun install` を実行 (MANDATORY - 最初に必ず実行)
21. コード変更を完了
32. `bun run fix` を実行 → ファイルが変更された場合は git add
43. `bun run format` を実行 → ファイルが変更された場合は git add
54. `bun run type` を実行 → エラーがある場合は修正して再度実行
65. `bun run lint` を実行 → エラーがある場合は修正して再度実行
76. すべてのチェックが通ったら git commit
87. git push
98. gh pr create
エラーが発生した場合:
- 型エラーの場合: エラーメッセージを読み、該当ファイルを修正
- lintエラーの場合: エラーメッセージを読み、該当ファイルを修正
- 自動修正で解決しない場合: 手動で修正
For Git Push
git push前は以下の順序で実行してください:
markdown
10. `bun install` を実行 (MANDATORY - 最初に必ず実行)
21. コード変更を完了
32. `bun run fix` を実行 → ファイルが変更された場合は git add
43. `bun run format` を実行 → ファイルが変更された場合は git add
54. `bun run type` を実行 → エラーがある場合は修正して再度実行
65. `bun run lint` を実行 → エラーがある場合は修正して再度実行
76. すべてのチェックが通ったら git commit
87. git push
CRITICAL: All Errors Must Be Fixed
🚨 絶対に守るべきルール 🚨
検出されたすべてのエラーを修正する必要があります。以下の言い訳は一切認められません:
❌ 禁止される言い訳:
- ❌ 「このエラーは既存のもので、私の変更によるものではありません」
- ❌ 「このエラーは以前から存在していました」
- ❌ 「この型エラーは自分のコードとは関係ありません」
- ❌ 「このlintエラーは別の人が作ったコードです」
✅ 正しい対応:
- ✅ 検出されたエラーが既存のものであっても、全て修正する
- ✅ エラーの原因が自分の変更かどうかに関わらず、全て修正する
- ✅ エラーが見つかった時点で、その場で全て修正する
理由:
- コード品質を維持するためには、既存のエラーも含めて全て修正する必要があります
- 「既存のエラー」という概念は品質チェックにおいては存在しません
- エラーが検出された時点で、それは修正すべき問題です
重要: このルールに違反した場合、PRやpushは絶対に許可されません。
Error Handling
Type Errors
型エラーが発生した場合:
bash
1# エラーメッセージ例:
2src/component/atoms/Button.tsx(15,7): error TS2322: Type 'string' is not assignable to type 'number'.
対処法:
- エラーメッセージから該当ファイルと行番号を特定
- ファイルを開いて問題を確認
- 型を修正
- 再度
bun run type を実行して確認
絶対にやってはいけないこと:
- ❌
any 型を使用してエラーを隠す
- ❌
@ts-ignore コメントでエラーを無視する
- ❌ 型チェックをスキップする
Lint Errors
lintエラーが発生した場合:
bash
1# エラーメッセージ例:
2src/component/atoms/Button.tsx
3 15:7 error 'handleClick' is assigned a value but never used @typescript-eslint/no-unused-vars
対処法:
bun run fix で自動修正を試みる
- 自動修正できない場合、エラーメッセージを読んで手動で修正
- 再度
bun run lint を実行して確認
よくあるlintエラーと対処法:
no-unused-vars: 未使用の変数を削除するか、使用する
@typescript-eslint/no-explicit-any: any 型を適切な型に置き換える
react-hooks/exhaustive-deps: useEffectの依存配列を修正
Integration with Other Skills
このスキルは他のスキルと組み合わせて使用してください:
With Implementation Planning Skill
実装計画の最終ステップとしてこのスキルを実行:
markdown
1## Implementation Steps
2
3### 5. Final Quality Checks (最終ステップ)
4**Status**: PENDING
5
6**What to do**:
7- Run `bun install` to ensure dependencies are installed (MANDATORY)
8- Run `bun run fix` to auto-fix linting issues
9- Run `bun run format` to format code
10- Run `bun run type` to check TypeScript errors
11- Run `bun run lint` to verify no linting errors
12- Fix ALL errors found (既存のエラーも含めて全て修正)
13- Commit any changes from auto-fix
14- Ready for PR creation
15
16**Completion criteria**:
17- Dependencies installed successfully
18- Type check passes (no errors - including existing errors)
19- Lint check passes (no errors - including existing errors)
20- All code properly formatted
21- No excuses about "existing errors" - all errors must be fixed
Example Execution
Successful Case
bash
1# Step 0: Install dependencies (MANDATORY)
2$ bun install
3✓ Dependencies installed successfully
4
5# Step 1: Auto-fix
6$ bun run fix
7✓ ESLint: Fixed 5 issues automatically
8✓ Stylelint: Fixed 2 issues automatically
9
10# ファイルが変更された場合
11$ git add .
12
13# Step 2: Format
14$ bun run format
15✓ Prettier: Formatted 10 files
16
17# ファイルが変更された場合
18$ git add .
19
20# Step 3: Type check
21$ bun run type
22✓ No type errors found
23
24# Step 4: Lint check
25$ bun run lint
26✓ ESLint: No errors found
27✓ Stylelint: No errors found
28
29# すべて成功 - PRやpush可能
30✅ All quality checks passed! Ready to push/create PR.
Error Case
bash
1# Step 0: Install dependencies (MANDATORY)
2$ bun install
3✓ Dependencies installed successfully
4
5# Step 1: Auto-fix
6$ bun run fix
7✓ ESLint: Fixed 5 issues automatically
8
9# Step 2: Format
10$ bun run format
11✓ Prettier: Formatted 10 files
12
13# Step 3: Type check
14$ bun run type
15❌ Error: Type errors found
16
17src/component/atoms/Button.tsx(15,7): error TS2322: Type 'string' is not assignable to type 'number'.
18
19# ⚠️ 重要: このエラーが既存のものでも、必ず修正してください
20# 「既存のエラー」という言い訳は認められません
21
22# エラーを修正する
23# ... ファイルを修正 ...
24
25# 再度type checkを実行
26$ bun run type
27✓ No type errors found
28
29# Step 4: Lint check
30$ bun run lint
31✓ ESLint: No errors found
32✓ Stylelint: No errors found
33
34# すべて成功
35✅ All quality checks passed! Ready to push/create PR.
Reporting to User
品質チェック完了後、ユーザーに結果を報告してください:
Success Report
markdown
1✅ コード品質チェックが完了しました
2
3**実行したチェック:**
4- [x] bun install (dependencies)
5- [x] ESLint & Stylelint auto-fix
6- [x] Prettier format
7- [x] TypeScript type check
8- [x] Final lint check
9
10**結果:**
11- 型エラー: 0件
12- Lintエラー: 0件
13- フォーマット: 完了
14
15PRの作成またはpushを実行できます。
Error Report
markdown
1⚠️ コード品質チェックでエラーが見つかりました
2
3**実行したチェック:**
4- [x] bun install (dependencies)
5- [x] ESLint & Stylelint auto-fix
6- [x] Prettier format
7- [ ] TypeScript type check (エラーあり)
8
9**エラー詳細:**
src/component/atoms/Button.tsx(15,7): error TS2322: Type 'string' is not assignable to type 'number'.
⚠️ **重要**: このエラーが既存のものでも、必ず修正してください。
「既存のエラー」や「私の変更によるものではない」という言い訳は認められません。
エラーを修正してから、再度チェックを実行してください。
Important Notes
- 必ず
bun installから開始 - 最初に依存関係をインストールしてください
- 品質チェックは必須です - スキップしないでください
- すべてのエラーを修正 - 既存のエラーも含めて、検出された全てのエラーを修正してください
- エラーがある場合、PRやpushは禁止 - すべてのエラーを修正してください
- 自動修正を優先 -
bun run fix と bun run format を先に実行
- 型安全性を維持 -
any 型や @ts-ignore でエラーを隠さない
- 言い訳は禁止 - 「既存のエラー」や「私の変更ではない」という言い訳は認められません
- ユーザーに報告 - チェック結果を明確に伝える
Automation Reminder
このスキルは以下のタイミングで自動的に実行されるべきです:
- ✅ ユーザーがPR作成を依頼したとき
- ✅ ユーザーがgit pushを依頼したとき
- ✅ 実装計画の最終ステップとして
- ✅ コード変更が完了したとき
ユーザーが明示的に依頼しなくても、Claude Codeは自動的にこのスキルを実行してください。
Summary
このスキルにより以下が保証されます:
- 依存関係の整合性 -
bun installにより常に最新の依存関係が利用可能
- コード品質の一貫性 - すべてのコードがlintとformatルールに従う
- 型安全性 - TypeScriptエラーがない状態を維持
- スムーズなCI/CD - ローカルでチェックするため、CIでのエラーを防ぐ
- 効率的な開発 - 自動修正により手動修正の手間を削減
- 完全なエラー修正 - 既存のエラーも含めて全て修正され、コードベース全体の品質が向上
Remember:
- 必ず
bun installから開始してください
- 品質チェックは面倒に見えますが、長期的にはバグを減らし、コードの保守性を高めます
- 「既存のエラー」という言い訳は絶対に認められません - 検出されたエラーは全て修正してください
- 絶対にスキップしないでください