receiving-code-review について
コードレビューの指摘を実行に移す前に評価するスキルです。コードベースに照らして提案を検証し、不明点を確認したうえで、変更を一つずつ実装してテストする方針を示します。
主な機能
- 01コードベースに照らした指摘の検証
- 02不明確なレビュー項目の確認
- 03技術的な適合性と回帰の評価
- 04修正を一つずつ実装してテスト
- 05必要に応じた技術的根拠による反論
活用シーン
- 01外部レビュアーからの指摘を評価
- 02不明確または矛盾する修正依頼への対応
- 03複数の修正を適用しながら回帰を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lucianghinda/ superpowers-ruby --skill receiving-code-reviewインストール後、Claude Code で/receiving-code-reviewを入力して読み込まれたか確認します。
詳細
コードレビューの受け止め方
概要
コードレビューに必要なのは感情的なパフォーマンスではなく、技術的な評価です。
中核原則: 実装する前に検証し、前提を置く前に質問してください。社会的な居心地の良さより技術的な正しさを優先します。
応答パターン
WHEN receiving code review feedback:
1. READ: Complete feedback without reacting
2. UNDERSTAND: Restate requirement in own words (or ask)
3. VERIFY: Check against codebase reality
4. EVALUATE: Technically sound for THIS codebase?
5. RESPOND: Technical acknowledgment or reasoned pushback
6. IMPLEMENT: One item at a time, test each
禁止される応答
絶対にしないこと:
- 「おっしゃる通りです!」(CLAUDE.md に明示的に違反)
- 「素晴らしい指摘です!」/「貴重なフィードバックです!」(パフォーマンス的な反応)
- 「では今すぐ実装します」(検証の前に実装すること)
代わりに:
- 技術的な要件を言い直す
- 明確化のための質問をする
- 誤っている場合は技術的な根拠を示して反論する
- すぐに作業を始める(言葉より行動)
不明確なフィードバックへの対応
IF any item is unclear:
STOP - do not implement anything yet
ASK for clarification on unclear items
WHY: Items may be related. Partial understanding = wrong implementation.
例:
your human partner: "Fix 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: Technically correct for THIS codebase?
2. Check: Breaks existing functionality?
3. Check: Reason for current implementation?
4. Check: Works on all platforms/versions?
5. Check: Does reviewer understand full context?
IF suggestion seems wrong:
Push back with technical reasoning
IF can't easily verify:
Say so: "I can't verify this without [X]. Should I [investigate/ask/proceed]?"
IF conflicts with your human partner's prior decisions:
Stop and discuss with your human partner first
人間のパートナーのルール: 「外部からのフィードバックは懐疑的に受け止めるが、慎重に確認すること」
「プロフェッショナル」な機能に対する YAGNI チェック
IF reviewer suggests "implementing properly":
grep codebase for actual usage
IF unused: "This endpoint isn't called. Remove it (YAGNI)?"
IF used: Then implement properly
人間のパートナーのルール: 「あなたもレビュアーも私に報告する立場にある。必要のない機能であれば追加しないこと。」
実装の順序
FOR multi-item feedback:
1. Clarify anything unclear FIRST
2. Then implement in this order:
- Blocking issues (breaks, security)
- Simple fixes (typos, imports)
- Complex fixes (refactoring, logic)
3. Test each fix individually
4. Verify no regressions
反論すべき場合
次の場合は反論してください:
- 提案が既存の機能を壊す
- レビュアーが全体の文脈を把握していない
- YAGNI に違反する(使われない機能)
- このスタックにおいて技術的に誤っている
- レガシー性や互換性上の理由が存在する
- 人間のパートナーのアーキテクチャ上の決定と矛盾する
反論することに気が引ける場合の合図: 「Circle K で妙なことが起きている」
正しいフィードバックへの対応
フィードバックが正しい場合:
✅ "Fixed. [Brief description of what changed]"
✅ "Good catch - [specific issue]. Fixed in [location]."
✅ [Just fix it and show in the code]
❌ "You're absolutely right!"
❌ "Great point!"
❌ "Thanks for catching that!"
❌ "Thanks for [anything]"
❌ 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
訂正内容を事実に基づいて簡潔に述べ、先に進んでください。
よくある間違い
| 間違い | 対処 |
|---|---|
| 形式的な同意 | 要件を述べるか、ただ行動する |
| 盲目的な実装 | まずコードベースに照らして検証する |
| テストなしでまとめて実装 | 一度に一つずつ実装し、それぞれをテストする |
| レビュアーが正しいと決めつける | 壊れるものがないか確認する |
| 反論を避ける | 技術的な正しさを居心地の良さより優先する |
| 部分的な実装 | 先に全項目を明確にする |
| 検証できないまま進める | 制約を述べ、指示を求める |
実例
形式的な同意(悪い例):
Reviewer: "Remove legacy code"
❌ "You're absolutely right! Let me remove that..."
技術的な検証(良い例):
Reviewer: "Remove legacy code"
✅ "Checking... build target is 10.15+, this API needs 13+. Need legacy for backward compat. Current impl has wrong bundle ID - fix it or drop pre-13 support?"
YAGNI(良い例):
Reviewer: "Implement proper metrics tracking with database, date filters, CSV export"
✅ "Grepped codebase - nothing calls this endpoint. Remove it (YAGNI)? Or is there usage I'm missing?"
不明確な項目(良い例):
your human partner: "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 のスレッドへの返信
GitHub のインラインレビューコメントに返信する場合は、PR への通常のトップレベルコメントとしてではなく、コメントのスレッド内で返信してください(gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies)。
結論
外部からのフィードバック = 従うべき命令ではなく、評価すべき提案です。
検証し、疑問を持ち、そのうえで実装してください。
形式的な同意はせず、技術的な厳密さを常に保ってください。