requesting-code-review について
requesting-code-reviewは、コーディングエージェントがcode-reviewerサブエージェントにレビューを依頼し、指摘に対応するためのスキルです。正確なGitコミット範囲の記録と、開発中およびマージ前のレビュー実施を重視します。
主な機能
- 01code-reviewerサブエージェントの起動
- 02開始・終了Git SHAの記録
- 03レビュー依頼テンプレート
- 04重要度に応じた指摘対応
- 05ワークフローのレビュー時点設定
活用シーン
- 01サブエージェント駆動開発で各タスクを確認
- 02主要機能の完了後にレビュー
- 03mainへのマージ前に変更を確認
- 04リファクタリング前や複雑な修正後に意見を得る
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill requesting-code-reviewインストール後、Claude Code で/requesting-code-reviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/requesting-code-review.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/requesting-code-review.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
コードレビューを依頼する
問題が連鎖する前に発見できるよう、code-reviewer サブエージェントに依頼します。
基本原則: 早めに、頻繁にレビューします。
レビューを依頼するタイミング
必須:
- サブエージェント主導の開発では、各タスクの完了後
- 主要機能の完成後
- main へのマージ前
任意ですが有用:
- 行き詰まったとき(新たな視点を得るため)
- リファクタリングの前(ベースラインを確認するため)
- 複雑なバグの修正後
依頼方法
1. git SHA を取得します:
BASE_SHA=$(git rev-parse HEAD~1) # or origin/main
HEAD_SHA=$(git rev-parse HEAD)
2. code-reviewer サブエージェントに依頼します:
Task ツールで code-reviewer タイプを使用し、code-reviewer.md のテンプレートに記入します。
プレースホルダー:
{WHAT_WAS_IMPLEMENTED}- 直前に実装した内容{PLAN_OR_REQUIREMENTS}- 実装が満たすべき内容{BASE_SHA}- 開始時のコミット{HEAD_SHA}- 終了時のコミット{DESCRIPTION}- 簡潔な概要
3. フィードバックに対応します:
- Critical の問題は直ちに修正します
- Important の問題は次に進む前に修正します
- Minor の問題は後で対応できるよう記録します
- レビュアーの指摘が誤っている場合は、根拠を示して異議を唱えます
例
[Just completed Task 2: Add verification function]
You: Let me request code review before proceeding.
BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
HEAD_SHA=$(git rev-parse HEAD)
[Dispatch code-reviewer subagent]
WHAT_WAS_IMPLEMENTED: Verification and repair functions for conversation index
PLAN_OR_REQUIREMENTS: Task 2 from docs/plans/deployment-plan.md
BASE_SHA: a7981ec
HEAD_SHA: 3df7661
DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
[Subagent returns]:
Strengths: Clean architecture, real tests
Issues:
Important: Missing progress indicators
Minor: Magic number (100) for reporting interval
Assessment: Ready to proceed
You: [Fix progress indicators]
[Continue to Task 3]
Task ツールのテンプレート
Task({
task_id: 'task-1',
subagent_type: 'general-purpose',
model: 'sonnet',
description: 'Code review for {DESCRIPTION}',
prompt: `You are the CODE-REVIEWER agent.
## Instructions
1. Read your agent definition: .claude/agents/specialized/code-reviewer.md
2. Read memory: .claude/context/memory/learnings.md
## Review Request
### What Was Implemented
{WHAT_WAS_IMPLEMENTED}
### Requirements/Plan
{PLAN_OR_REQUIREMENTS}
### Git Range to Review
**Base:** {BASE_SHA}
**Head:** {HEAD_SHA}
Run these commands to see the changes:
\`\`\`bash
git diff --stat {BASE_SHA}..{HEAD_SHA}
git diff {BASE_SHA}..{HEAD_SHA}
\`\`\`
## Memory Protocol
Record findings to .claude/context/memory/learnings.md when done.
`,
});
ワークフローとの統合
サブエージェント主導の開発:
- 各タスクの後に必ずレビューします
- 問題が積み重なる前に発見します
- 次のタスクに進む前に修正します
計画の実行:
- バッチごと(3 タスク)にレビューします
- フィードバックを受けて反映し、続行します
アドホックな開発:
- マージ前にレビューします
- 行き詰まったときにレビューします
注意すべき危険信号
絶対にしないこと:
- 「簡単だから」という理由でレビューを省略する
- Critical の問題を無視する
- Important の問題を未修正のまま先に進める
- 妥当な技術的フィードバックに反論する
レビュアーの指摘が誤っている場合:
- 技術的な根拠を示して異議を唱えます
- 正しく動作することを証明するコードやテストを示します
- 説明を求めます
テンプレートはこちらを参照してください:requesting-code-review/code-reviewer.md
鉄則
- 必ずレビューを依頼する前に BASE_SHA と HEAD_SHA を記録します。正確なコミット範囲がなければ、レビュアーは差分を正確に分析できません。
- 変更が「簡単そう」という理由で、絶対にコードレビューを省略しません。小さな変更でも大きな変更と同じ種類のバグが入り込む可能性があり、作者は自身の盲点に気づけません。
- 次のタスクに進む前に、Critical の問題を必ず修正します。重大な問題を未修正のままにすると、さらにコードが積み重なり、切り分けが難しくなります。
- 技術的に正しいレビュアーのフィードバックに絶対に反論しません。レビュアーが背景を把握していない、または事実誤認があることを示すコードベースの根拠がある場合に限り、異議を唱えます。
- 必須のチェックポイント(各サブエージェントタスクの後、主要機能の完成後、マージ前)では、必ずレビューを依頼します。依頼が遅すぎると、問題の連鎖を防げません。
アンチパターン
| アンチパターン | 失敗する理由 | 正しいアプローチ |
|---|---|---|
| 「小さな」変更のレビューを省略する | 小さな変更でも大きな変更と同じ種類のバグが発生します。「単純」という判断は主観的で、信頼できません | 複雑さに対する認識にかかわらず、必須の各チェックポイントでレビューを依頼します |
| git SHA を指定せずにレビュアーに依頼する | コミット範囲がなければ、レビュアーは正確な差分を作成できません。レビューが不正確または不完全になります | レビューを依頼する前に、必ず BASE_SHA と HEAD_SHA を取得します |
| Critical の問題を放置して先に進む | Critical の問題は積み重なります。後続のタスクは、後から修正するのに多大なコストがかかる壊れた基盤の上に成り立ちます | 次のタスクに進む前に、すべての Critical の問題を修正します |
| レビュアーのフィードバックを任意のものとして扱う | 任意のレビューでは、コード品質が徐々に低下し、追跡できない技術的負債が積み重なります | 重大度に応じて対応します:Critical → すぐに修正、Important → 次のタスクまでに修正、Minor → 後で対応するため記録 |
| 各タスクの後ではなく、タスクをまとめて実行した後にレビューを依頼する | Task 1 のエラーが Tasks 2–N に波及し、レビュアーはどのタスクでどの問題が発生したのかを特定できません | 次のタスクを始める前に、個々のタスクごとにレビューします |
メモリプロトコル(必須)
開始前:
.claude/context/memory/learnings.md を読みます
完了後:
- 新しいパターン →
.claude/context/memory/learnings.md - 見つかった問題 →
.claude/context/memory/issues.md - 決定事項 →
.claude/context/memory/decisions.md
中断を前提としてください。メモリに記録されていないことは、実行されていないのと同じです。
コメント
Markdown 対応