receiving-code-review について
Receiving Code Reviewは、コードベースに照らしてレビュー意見を技術的に評価するスキルです。提案の検証や不明点の確認を行い、根拠のある返答と実施計画を整理します。
主な機能
- 01コードベースに基づく意見の検証
- 02確認が必要な点の特定
- 03技術的な妥当性とリスクの評価
- 04同意または根拠ある異議の準備
- 05変更とテストの順序付け
活用シーン
- 01編集前にレビュアーの提案を評価
- 02複数の指摘に含まれる曖昧さを確認
- 03技術的に不適切な提案への返答
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ shipshitdev/ skills --skill receiving-code-reviewインストール後、Claude Code で/receiving-code-reviewを入力して読み込まれたか確認します。
同梱ファイルplugin.jsonREADME.md
詳細
コードレビューへの対応
基本原則
コードレビューでは、感情的な振る舞いではなく、技術的な評価が必要です。
実装する前に検証します。決めつける前に質問します。社交上の配慮より技術的な正しさを優先します。
契約
入力:
- 受け取ったレビューのフィードバック(PR コメント、口頭でのレビュー内容)と、 そのフィードバックが対象とするコードベース。
出力:
- 各指摘への技術的な認識表明、または根拠に基づく反論と、 評価を経て対応する変更のアクションプラン。
作成/変更:
- 直接はありません。このスキルは応答を作成します。コードの編集は他の スキルを通じて行われます。
外部への副作用:
- コードベースに照らして主張を検証するための、読み取り専用の
git/ghの呼び出し。
確認の要否:
- ありません。すべての出力は助言です。
委任先:
- PR に応答を投稿する場合は
pr-comments(addressモード)。 - 変更が反映された後に新たなレビューを行う場合は
code-review。
応答パターン
WHEN receiving code review feedback:
1. READ: Complete feedback without reacting
2. UNDERSTAND: Restate the requirement in your own words (or ask)
3. VERIFY: Check against codebase reality
4. EVALUATE: Is this technically sound for THIS codebase?
5. RESPOND: Technical acknowledgment or reasoned pushback
6. IMPLEMENT: One item at a time, test each
禁止する応答
絶対に言わないこと:
- 「おっしゃるとおりです!」
- 「良い指摘です!」/「素晴らしいフィードバックです!」
- 「すぐに実装します」(検証する前に)
- 感謝を表す表現(「見つけてくれてありがとうございます!」、「[何か]をありがとうございます」など)
代わりに:
- 技術的な要件を言い換える
- 明確化のために質問する
- 提案が誤っている場合は、技術的な根拠を示して反論する
- そのまま作業を始める — 言葉より行動で示す
不明確なフィードバックへの対応
IF any item is unclear:
STOP — do not implement anything yet
ASK for clarification on all unclear items before proceeding
WHY: Items may be related. Partial understanding leads to wrong implementation.
例:
Reviewer: "Fix items 1-6"
You understand 1, 2, 3, 6. Unclear on 4, 5.
❌ WRONG: Implement 1, 2, 3, 6 now — ask about 4, 5 later
✅ RIGHT: "I understand items 1, 2, 3, 6. Need clarification on 4 and 5 before proceeding."
フィードバックの提供元に応じた評価
コードベースのオーナー/依頼者からの場合
- 信頼できる — 理解したうえで実装する
- 範囲が不明確な場合は、引き続き質問する
- 同意をことさらに表明しない
- すぐに対応するか、技術的な認識を示す
外部レビュアーからの場合
BEFORE implementing:
1. Check: Is this technically correct for THIS codebase?
2. Check: Would this break existing functionality?
3. Check: Is there a reason the current implementation exists?
4. Check: Does this work on all required platforms/versions?
5. Check: Does the reviewer understand the full context?
IF the suggestion seems wrong:
Push back with technical reasoning
IF you cannot easily verify:
Say so: "I can't verify this without [X]. Should I [investigate / ask / proceed]?"
IF the suggestion conflicts with prior architectural decisions:
Stop and surface the conflict before implementing
「適切に実装する」という提案に対する YAGNI の確認
IF a reviewer suggests adding or expanding a feature "properly":
grep the codebase for actual usage
IF unused: "This isn't called anywhere. Remove it (YAGNI)?"
IF used: Then evaluate and implement properly
レビュアーは、どこからも呼び出されていないコードの改善を提案することがよくあります。範囲を広げる前に、使用状況を確認してください。
実装の順序
FOR multi-item feedback:
1. Clarify anything unclear FIRST
2. Then implement in this order:
- Blocking issues (broken behaviour, security)
- Simple fixes (typos, imports, naming)
- Complex fixes (refactoring, logic changes)
3. Test each fix individually
4. Verify no regressions before moving to the next item
反論すべき場合
次のような場合は反論します:
- 既存の機能を壊す
- レビュアーが把握していない文脈を前提にしている
- YAGNI に違反する(使われないコードを追加する)
- この技術スタックでは技術的に誤っている
- レガシー要件や互換性要件に反する
- 確立されたアーキテクチャ上の決定に反する
反論の方法:
- 防御的にならず、技術的な根拠を示す
- 認識のずれを明らかにする具体的な質問をする
- 既存のテストや動作しているコードを参照する
- 意見の相違がアーキテクチャに関するものであれば、コードベースのオーナーにエスカレーションする
- 反論しづらい場合は、その葛藤を明示し、具体的な問題を説明する
正しいフィードバックへの応答
フィードバックが正しい場合:
✅ "Fixed. [Brief description of what changed]"
✅ "Good catch — [specific issue]. Fixed in [location]."
✅ [Just fix it and let the diff speak]
❌ "You're absolutely right!"
❌ "Great point!"
❌ "Thanks for catching that!"
❌ Any gratitude expression
修正そのものが応答です。何を変更したかを述べ、次に進みます。
自分の反論が誤っていた場合の訂正
反論した内容が誤りだった場合:
✅ "You were right — I checked [X] and it does [Y]. Implementing now."
✅ "Verified this and you're correct. My initial understanding was wrong because [reason]. Fixing."
❌ Long apology
❌ Defending why you pushed back
❌ Over-explaining
事実に基づいて訂正し、次に進みます。
よくある間違い
| 間違い | 修正方法 |
|---|---|
| 同意をことさらに表明する | 要件を述べるか、そのまま対応する |
| むやみに実装する | まずコードベースに照らして検証する |
| テストせずにまとめて実装する | 1 項目ずつ対応し、その都度テストする |
| レビュアーが正しいと決めつける | 提案によって問題が起きないか確認する |
| 反論を避ける | 社交上の配慮より技術的な正しさを優先する |
| 一部だけ実装する | 着手前にすべての項目を明確にする |
| 検証できないのに進める | 制約を伝え、指示を求める |
実例
同意をことさらに表明する例(悪い例):
Reviewer: "Remove the legacy code"
❌ "You're absolutely right! Let me remove that..."
技術的な検証の例(良い例):
Reviewer: "Remove the legacy code"
✅ "Checking... build target is 10.15+, this API requires 13+.
Removing it drops pre-13 support. Is that intentional,
or should I gate it behind a version check instead?"
YAGNI の確認例(良い例):
Reviewer: "Implement proper metrics tracking with database, date filters, CSV export"
✅ "Grepped the codebase — nothing calls this endpoint.
Remove it (YAGNI)? Or is there usage I'm missing?"
不明確な項目の例(良い例):
Reviewer: "Fix items 1-6"
You understand 1, 2, 3, 6. Unclear on 4, 5.
✅ "Understand 1, 2, 3, 6. Need clarification on 4 and 5 before implementing."
GitHub PR コメントへの返信
GitHub のインラインレビューコメントに返信する場合は、PR 全体へのトップレベルコメントではなく、コメントのスレッド内で返信します:
gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies \
-f body="[your response]"
レビュアーのフィードバックは、評価すべき提案であり、従うべき命令ではありません。検証し、疑問を投げかけ、その後で実装します。同意をことさらに表明しません。常に技術的な厳密さを保ちます。
コメント
Markdown 対応