| name | self-code-review |
| description | A skill that delegates code review and fixes to a subagent. Use when instructed with 「セルフコードレビューして」「サブエージェントにレビューさせて」. |
| summary | 言語に応じたレビュースキルと requesting-code-review のインプット構成を活用します。サブエージェントは修正を行いますが、コミットは行いません。 |
セルフコードレビュー (Self Code Review)
機能実装後やバグ修正後に、メインエージェント自身でコードをコミットする前に、独立したサブエージェントにコードレビューと必要な修正を委譲するためのスキルです。
重要ルール: サブエージェントは絶対にコミットを行ってはいけません。コードの修正のみを行い、その修正を採用するかどうかはメインエージェントが判断します。
実行プロセス
- レビュー範囲の特定:
- レビュー対象のGitの範囲(未コミットの変更、または特定のコミット間など)を特定します。
- 変更されたファイルと言語(Python, TypeScriptなど)を確認します。
- レビュー依頼の準備:
superpowers:requesting-code-review スキルの原則に従います。
- レビュー対象の言語に応じたレビュースキル(例:
python-code-review, swift-testing-expert など)を特定します。
- レビューに関連するドキュメント(設計ドキュメント、API仕様書、ユースケース文書など)のファイルパスを確認します。
- レビュー対象ファイルの周辺コード(同じディレクトリまたはパッケージの関連ファイルなど)を同定します。
- サブエージェントの呼び出し:
invoke_agent ツールを使用して generalist サブエージェントを呼び出します。
- サブエージェントへのプロンプト(指示)には以下を含めてください:
requesting-code-review スキルで定義されているインプット構成(レビュー対象の差分を特定できる情報, Description, Plan/Requirementsなど)。
- レビューに関連するドキュメントのファイルパスや仕様の情報(設計ドキュメント、API仕様書、ユースケース文書など)。ドキュメントが存在する場合はそのパスを渡し、サブエージェントが自ら読んで参照できるようにすること。
- レビュー対象ファイルの周辺コードのパス(同じディレクトリまたはパッケージの関連ファイルなど)。サブエージェントが周囲のコードを読んでトーン・マナー・アーキテクチャの整合性を確認できるようにすること。
- 対象言語のレビュースキル(例:
python-code-review)をアクティベートすること。
- コードのレビューを実施し、結果を出力すること(Strengths, Issues, Recommendations, Assessmentのフォーマット)。
- Critical (Must Fix) および Important (Should Fix) な問題点が見つかった場合、コード編集ツールを使って修正を適用すること。
- 「絶対に
git commit を行わないこと。メインエージェントが最終的な判断を行う」という厳格な指示。
- サブエージェントの作業結果の確認:
- サブエージェントから処理結果が返ってきたら、
git diff 等でサブエージェントが行った修正を確認します。
- 修正内容が妥当であればそのまま採用し、問題があれば手直しします。
- その後、ユーザに結果を報告し、コミット等のネクストアクションを提案します。
サブエージェントへのプロンプト例
あなたはシニアコードレビュアーです。以下の変更内容をレビューし、必要な修正を行ってください。
**重要指示**: 変更をコミット(`git commit`)しないでください。修正をファイルに適用するのみにとどめてください。
1. まず、対象言語に対応したレビュースキルがあれば、アクティベートして読み込んでください。
2. 以下の実装内容と要件・仕様、そして**レビュー対象の周辺コード**を照らし合わせ、変更内容をレビューしてください。
- **周辺コードを参考にして、レビュー対象のトーン・コーディングマナー・アーキテクチャが既存コードベースと一致しているか確認してください。**
3. レビュー結果を Strengths, Issues (Critical/Important/Minor), Recommendations, Assessment のフォーマットで出力してください。
4. Critical および Important に分類された問題点について、コードを修正してください。
## What Was Implemented
{実装内容の概要}
## Reference Documents
- {設計ドキュメントや仕様書のファイルパス}
(適宜追加。サブエージェントはこれらのファイルを読んで仕様と実装の整合性を確認してください)
## Review Target (Changes to review)
{コミットハッシュやdiffを表示するgit commandなど}