checklist-generator について
checklist-generatorは、開発者、QAエージェント、コードレビュアー向けの品質チェックリスト生成スキルです。IEEE 1028に基づく項目に、検出したプロジェクトの状況に応じた項目を加えます。
主な機能
- 01IEEE 1028に基づく品質確認
- 02プロジェクトの技術スタックとパターンを検出
- 03状況に応じたチェック項目を追加
- 04Markdown形式のチェックリストを出力
- 05QAとコードレビューのワークフローに対応
活用シーン
- 01実装完了前の品質確認
- 02コード変更やプルリクエストのレビュー
- 03コミット前の品質チェック
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill checklist-generatorインストール後、Claude Code で/checklist-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/checklist-generator.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/checklist-generator.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
品質チェックリストジェネレーター
概要
IEEE 1028 標準(80~90%)と LLM が生成するコンテキストに応じた項目(10~20%)を組み合わせ、包括的で状況に即した品質チェックリストを生成します。完了前に体系的な品質検証を確実に行います。
基本原則: 汎用的な品質標準を、プロジェクト固有のコンテキストで強化します。
使用するタイミング
必ず使用:
- 実装タスクを完了する前
- コードレビュー中
- QA 検証フェーズ
- コミット前の検証
- タスクを完了としてマークする前
例外:
- 使い捨てのプロトタイプ
- 設定のみの変更
目的
- IEEE 1028 の基盤:実績のある品質レビュー標準(汎用)
- コンテキストに応じた強化:LLM がプロジェクト固有の項目を追加
- 体系的な検証:品質を包括的に確認できるようにします
IEEE 1028 の基本カテゴリ
以下のカテゴリは、すべてのチェックリストに含まれます(項目の 80~90%)。
コード品質
- コードがプロジェクトのスタイルガイドに従っている
- コードの重複がない(DRY 原則)
- 関数ごとの循環的複雑度が 10 未満
- 関数が単一の責務を持っている
- 変数名が明確で説明的である
- マジックナンバーが名前付き定数に置き換えられている
- デッドコードが削除されている
テスト
- テストを先に記述している(TDD に従っている)
- 新しいコードすべてに対応するテストがある
- テストがエッジケースとエラー条件を網羅している
- 新しいコードのテストカバレッジが 80% 以上である
- 複数コンポーネント間の相互作用に対する統合テストがある
- テストが分離され、実行順序に依存していない
セキュリティ
- すべてのユーザー入力を検証している
- SQL インジェクションの脆弱性がない
- XSS の脆弱性がない
- 機密データが保存時および転送時に暗号化されている
- 認証と認可のチェックが実装されている
- シークレットや認証情報がハードコードされていない
- OWASP Top 10 を考慮している
パフォーマンス
- 明らかなパフォーマンスのボトルネックがない
- データベースクエリが最適化されている(N+1 クエリがない)
- 適切なキャッシュが使用されている
- リソースが適切に解放されている(接続を閉じ、メモリを解放する)
- 無限ループや再帰のリスクがない
- 大規模データの処理がページネーションされている
ドキュメント
- 公開 API がドキュメント化されている
- 複雑なロジックに説明コメントがある
- 必要に応じて README が更新されている
- CHANGELOG が更新されている
- 破壊的変更がドキュメント化されている
- 構造が変更された場合、アーキテクチャ図が更新されている
エラー処理
- すべてのエラー条件が処理されている
- ユーザーにわかりやすいエラーメッセージが表示される(ユーザーエラーには 4xx)
- デバッグ用の詳細なログが記録される(システムエラーには 5xx)
- 例外を握りつぶしていない
- グレースフルデグラデーションが実装されている
- 障害発生時のロールバック手順がある
コンテキストに応じた項目の追加ロジック
このスキルは現在のプロジェクトのコンテキストを分析し、コンテキストに応じた項目を 10~20%追加します。
検出戦略
-
プロジェクトファイルを読み込み、以下を特定します:
- フレームワーク(React、Vue、Angular、Next.js、FastAPI など)
- 言語(TypeScript、Python、Go、Java など)
- パターン(REST API、GraphQL、マイクロサービス、モノリス)
- インフラストラクチャ(Docker、Kubernetes、サーバーレス)
-
調査結果に基づいてコンテキストに応じた項目を生成します:
TypeScript プロジェクト:
- [AI-GENERATED] TypeScript の型が適切にエクスポートされている
- [AI-GENERATED] コメントで正当な理由が示されている場合を除き、
any型を使用していない - [AI-GENERATED] 厳密な null チェックを満たしている
React プロジェクト:
- [AI-GENERATED] コンポーネントで適切に memo/useCallback を使用している
- [AI-GENERATED] 不要な再レンダリングがない(React DevTools で確認済み)
- [AI-GENERATED] Hooks が Rules of Hooks に従っている
- [AI-GENERATED] インタラクティブな要素にアクセシビリティ属性(aria-*)が設定されている
API プロジェクト:
- [AI-GENERATED] レート制限が実装されている
- [AI-GENERATED] API のバージョニング戦略に従っている
- [AI-GENERATED] OpenAPI/Swagger のドキュメントが更新されている
- [AI-GENERATED] スキーマを使用してリクエスト/レスポンスを検証している
データベースプロジェクト:
- [AI-GENERATED] マイグレーションスクリプトを元に戻せる
- [AI-GENERATED] クエリのパフォーマンス向上のためのインデックスが追加されている
- [AI-GENERATED] データベーストランザクションを適切に使用している
- [AI-GENERATED] コネクションプーリングが設定されている
Python プロジェクト:
- [AI-GENERATED] すべての公開関数に型ヒントが付いている
- [AI-GENERATED] Docstring が Google/NumPy スタイルに従っている
- [AI-GENERATED] 仮想環境の requirements.txt が更新されている
モバイルプロジェクト:
- [AI-GENERATED] オフラインモードに適切に対応している
- [AI-GENERATED] バッテリー使用量が最適化されている(常時ポーリングしていない)
- [AI-GENERATED] データ使用量が最小限に抑えられている(圧縮、キャッシュ)
- [AI-GENERATED] プラットフォーム固有の機能がテストされている
DevOps/インフラストラクチャ:
- [AI-GENERATED] Infrastructure as Code(Terraform、CloudFormation)が使用されている
- [AI-GENERATED] 監視とアラートが設定されている
- [AI-GENERATED] バックアップと災害復旧がテストされている
- [AI-GENERATED] セキュリティグループ/ファイアウォールルールのアクセスが最小限に抑えられている
出力形式
チェックリストはチェックボックス付きの Markdown として返されます:
# Quality Checklist
Generated: {timestamp}
Context: {detected frameworks/languages}
## Code Quality (IEEE 1028)
- [ ] Code follows project style guide
- [ ] No code duplication
- [ ] Cyclomatic complexity < 10
## Testing (IEEE 1028)
- [ ] Tests written first (TDD followed)
- [ ] Test coverage ≥ 80%
- [ ] Tests cover edge cases
## Security (IEEE 1028)
- [ ] Input validation on all user inputs
- [ ] No hardcoded secrets
- [ ] OWASP Top 10 considered
## Performance (IEEE 1028)
- [ ] No obvious performance bottlenecks
- [ ] Database queries optimized
- [ ] Appropriate caching used
## Documentation (IEEE 1028)
- [ ] Public APIs documented
- [ ] README updated if needed
- [ ] CHANGELOG updated
## Error Handling (IEEE 1028)
- [ ] All error conditions handled
- [ ] User-friendly error messages
- [ ] Detailed logs for debugging
## Context-Specific Items (AI-Generated)
{Detected: TypeScript + React + REST API}
- [ ] [AI-GENERATED] TypeScript types exported properly
- [ ] [AI-GENERATED] React components use proper memo
- [ ] [AI-GENERATED] API rate limiting implemented
- [ ] [AI-GENERATED] OpenAPI docs updated
---
**Total Items**: {count}
**IEEE Base**: {ieee_count} ({percentage}%)
**Contextual**: {contextual_count} ({percentage}%)
使用方法
基本的な呼び出し
Skill({ skill: 'checklist-generator' });
以下が実行されます:
- 現在のプロジェクトコンテキストを分析する
- IEEE 1028 の基本チェックリストを読み込む
- コンテキストに応じた項目(10~20%)を生成する
- 統合した Markdown チェックリストを返す
特定のコンテキストを指定する場合
// Provide explicit context
Skill({
skill: 'checklist-generator',
args: 'typescript react api',
});
QA ワークフローとの統合
// Part of QA validation
Skill({ skill: 'checklist-generator' });
// Use checklist for systematic validation
Skill({ skill: 'qa-workflow' });
統合ポイント
QA エージェント
qa エージェントは検証にこのスキルを使用します:
- タスク開始時にチェックリストを生成する
- 各項目を体系的に検証する
- チェックリストの完了状況を報告する
完了前の検証
完了前のゲートとして使用します:
- タスク完了としてマークする前にチェックリストを生成する
- すべての項目が検証済みであることを確認する
- 重要な項目が未達の場合は完了をブロックする
コードレビューエージェント
コードレビュー中に使用します:
- PR 用のチェックリストを生成する
- 変更内容に照らして各項目を確認する
- 項目の不足についてコメントする
コンテキスト検出アルゴリズム
1. Read package.json or requirements.txt or go.mod
→ Extract dependencies
2. Glob for framework-specific files:
- React: **/*.jsx, **/*.tsx, package.json with "react"
- Vue: **/*.vue, package.json with "vue"
- Next.js: next.config.js, app/**, pages/**
- FastAPI: **/main.py with "from fastapi"
- Django: **/settings.py, **/models.py
3. Analyze imports/dependencies:
- TypeScript: tsconfig.json
- GraphQL: **/*.graphql, **/*.gql
- Docker: Dockerfile, docker-compose.yml
- Kubernetes: **/*.yaml in k8s/ or manifests/
4. Generate contextual items based on detected stack
5. Mark all generated items with [AI-GENERATED]
例:TypeScript + React + API プロジェクト
入力コンテキスト:
package.jsonに次が含まれる:"react": "^18.0.0", "typescript": "^5.0.0"- ファイルに次が含まれる:
src/components/*.tsx、src/api/*.ts
生成されたチェックリスト:
# Quality Checklist
Generated: 2026-01-28 10:30:00
Context: TypeScript, React, REST API
## Code Quality (IEEE 1028)
- [ ] Code follows project style guide
- [ ] No code duplication
- [ ] Cyclomatic complexity < 10
- [ ] Functions have single responsibility
- [ ] Variable names clear and descriptive
- [ ] Magic numbers replaced with constants
- [ ] Dead code removed
## Testing (IEEE 1028)
- [ ] Tests written first (TDD)
- [ ] All new code has tests
- [ ] Tests cover edge cases
- [ ] Test coverage ≥ 80%
- [ ] Integration tests present
- [ ] Tests isolated (no order dependency)
## Security (IEEE 1028)
- [ ] Input validation on all inputs
- [ ] No SQL injection risks
- [ ] No XSS vulnerabilities
- [ ] Sensitive data encrypted
- [ ] Auth/authz checks present
- [ ] No hardcoded secrets
- [ ] OWASP Top 10 reviewed
## Performance (IEEE 1028)
- [ ] No performance bottlenecks
- [ ] Database queries optimized
- [ ] Caching used appropriately
- [ ] Resource cleanup (connections)
- [ ] No infinite loop risks
- [ ] Large data paginated
## Documentation (IEEE 1028)
- [ ] Public APIs documented
- [ ] Complex logic has comments
- [ ] README updated
- [ ] CHANGELOG updated
- [ ] Breaking changes documented
## Error Handling (IEEE 1028)
- [ ] All errors handled
- [ ] User-friendly error messages
- [ ] Detailed logs for debugging
- [ ] No swallowed exceptions
- [ ] Graceful degradation
- [ ] Rollback procedures
## TypeScript (AI-Generated)
- [ ] [AI-GENERATED] Types exported from modules
- [ ] [AI-GENERATED] No `any` types (justified if used)
- [ ] [AI-GENERATED] Strict null checks satisfied
- [ ] [AI-GENERATED] Interfaces prefer over types
## React (AI-GENERATED)
- [ ] [AI-GENERATED] Components use React.memo appropriately
- [ ] [AI-GENERATED] Hooks follow Rules of Hooks
- [ ] [AI-GENERATED] No unnecessary re-renders
- [ ] [AI-GENERATED] Keys on list items
## REST API (AI-GENERATED)
- [ ] [AI-GENERATED] Rate limiting implemented
- [ ] [AI-GENERATED] API versioning in URLs
- [ ] [AI-GENERATED] Request/response validation
- [ ] [AI-GENERATED] OpenAPI/Swagger updated
---
**Total Items**: 38
**IEEE Base**: 30 (79%)
**Contextual**: 8 (21%)
ベストプラクティス
推奨事項
- IEEE 1028 の基本(汎用的な品質)から始める
- 生成前にプロジェクトのコンテキストを分析する
- すべての LLM 項目に [AI-GENERATED] を付ける
- コンテキストに応じた項目を絞り込む(10~20%)
- 実行可能なチェックリストを返す(一般的な助言にしない)
非推奨事項
- コンテキストを分析せずにチェックリストを生成する
- コンテキストに応じた項目を20%より多くする(IEEE の基本項目が薄まります)
- [AI-GENERATED] の接頭辞を付け忘れる
- 検証できない項目を含める
- チェックリストを長くしすぎる(50項目を超える)
鉄則
- チェックリストによる検証を行わずにタスクを完了してはいけません — このゲートを徹底するために
verification-before-completionを使用してください。チェックリストによる検証を省略すると、このスキルの目的そのものが損なわれます。 - チェックリストを作成する前に、必ずプロジェクトのコンテキストを分析してください — まずフレームワーク、言語、パターンを検出してください。コンテキストを考慮しない一般的なチェックリストでは、スタック固有の項目を見落とし、無関係な項目が含まれます。
- チェックリストの項目数は50を超えてはいけません — 50項目を超えるチェックリストは実際には最後まで確認されません。容赦なく項目を絞り、あると望ましい項目よりも、問題を阻止する項目を優先してください。
- LLM が生成した項目には、必ず [AI-GENERATED] プレフィックスを付けてください — IEEE 1028 の基本項目は検証済みの標準です。AI が生成した項目は、状況に応じた提案であり、人間の判断が必要です。
- 検証できない項目を含めてはいけません — すべてのチェックリスト項目は、はい/いいえで客観的に確認できるものでなければなりません。「コードがきれいである」のような曖昧な項目は、確実に検証できません。
アンチパターン
| アンチパターン | 失敗する理由 | 正しいアプローチ |
|---|---|---|
| コンテキストを分析せずに作成する | 一般的で無関係なチェックリスト項目ができる | まずフレームワーク/言語/パターンを検出する |
| 50項目を超える | 長いチェックリストはレビューの途中で放棄される | 容赦なく絞り、価値の高い項目を50件以内にする |
| コンテキストに応じた項目に [AI-GENERATED] プレフィックスを付けない | 標準と提案が混同される | AI がコンテキストに基づいて生成した項目をすべて明示する |
| 検証できない項目(「コードがきれいである」) | 確実にチェックを付けられない | 合否を客観的に判定できる項目のみを含める |
| 「小さな」変更のチェックリストを省略する | 小さな変更が大きなバグを引き起こすことがある | 変更の規模に応じて、すべての変更にチェックリストを適用する |
関連スキル
qa-workflow- 修正ループを含む体系的な QA 検証verification-before-completion- 完了前のゲートtdd- テスト駆動開発(テスト用チェックリスト項目)security-architect- セキュリティ固有の検証
割り当てられたエージェント
このスキルは、次のエージェントによって使用されます。
qa- 品質保証の検証developer- 完了前のチェックcode-reviewer- コードレビュー基準
メモリプロトコル(必須)
開始前:
.claude/context/memory/learnings.md を読みます。
次の内容を確認します。
- 以前に作成されたチェックリスト
- プロジェクト固有の品質パターン
- このコードベースでよく見られる品質上の問題
完了後:
- 新しいチェックリストのパターン →
.claude/context/memory/learnings.md - 発見した品質上の問題 →
.claude/context/memory/issues.md - コンテキスト検出の改善 →
.claude/context/memory/decisions.md
中断されることを前提にしてください。メモリに記録されていなければ、実施されていないものとします。