receiving-code-review について
コードレビューの指摘を変更前に評価するスキルです。内容の確認と明確化、技術的な妥当性の検証、根拠のある修正の個別実施、状態の正確な報告をエージェントに促します。
主な機能
- 01指摘を構造的に評価
- 02不明確な指摘の明確化
- 03変更前の技術的な検証
- 04個別の修正とテスト
- 05GitHubスレッドの対応指針
活用シーン
- 01コードベースに照らしたレビュー提案の評価
- 02実装前のレビュー項目の確認
- 03Pull Request修正の追跡と報告
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jamditis/ claude-skills-journalism --skill receiving-code-reviewインストール後、Claude Code で/receiving-code-reviewを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlreferences/pr-feedback-repair.md
詳細
コードレビューへの対応
概要
コードレビューには、感情的なパフォーマンスではなく、技術的な評価が必要です。
基本原則: 実装する前に検証します。決めつける前に質問します。対人関係の心地よさより、技術的な正しさを優先します。
応答のパターン
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
禁止されている応答
絶対に避けること:
- 「おっしゃるとおりです!」(プロジェクトの指示ファイルに違反します)
- 「素晴らしい指摘です!」/「優れたフィードバックです!」(パフォーマンス的な表現です)
- 「今すぐ実装します」(検証する前に言うこと)
代わりに行うこと:
- 技術的な要件を言い換える
- 不明点を確認する
- 間違っている場合は、技術的な理由を示して異議を唱える
- すぐに作業を始める(言葉より行動)
不明確なフィードバックへの対応
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(使われない機能)に反する
- この技術スタックでは技術的に誤っている
- レガシーまたは互換性上の理由がある
- あなたの人間のパートナーのアーキテクチャ上の決定と矛盾する
異議の伝え方:
- 防御的にならず、技術的な根拠を示す
- 具体的な質問をする
- 動作するテストやコードを根拠として示す
- アーキテクチャに関わる場合は、あなたの人間のパートナーを交える
声に出して異議を唱えることに不安がある場合の合図:「サークル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
事実に基づいて訂正し、そのまま先に進みます。
よくある間違い
| 間違い | 修正方法 |
|---|---|
| パフォーマンス的な同意 | 要件を述べるか、そのまま行動する |
| 確認せずに実装する | まずコードベースと照らし合わせて検証する |
| テストせずにまとめて実装する | 1つずつ実装し、その都度テストする |
| レビュアーが正しいと決めつける | 問題が起きないか確認する |
| 異議を避ける | 技術的な正しさ > 心地よさ |
| 一部だけ実装する | まずすべての項目を明確にする |
| 検証できないのに進める | 制約を伝え、指示を求める |
実例
パフォーマンス的な同意(悪い例):
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)。
複数の指摘がある PR の場合:
- PR の現在のヘッドから作業を始めます。レビューのスレッド、トップレベルのコメント、失敗したチェックなど、すべての箇所を確認します。
- 各指摘を、対応可能、修正済み、再現不可、対象外に分類します。可能であれば再現します。
- 根拠のある指摘だけを修正します。修正はすべて1回のプッシュにまとめ、ホストされた CI が一度だけ実行されるようにします。
- 修正をプッシュし、プッシュしたヘッドに修正が含まれていることを確認してから、スレッドを解決します。ローカルで修正しただけでは、スレッドは解決されません。
- 各指摘の状況を正確に報告します。コミットを明示して修正済みとするか、理由を添えて対応を見送るか、未解決のままであることを伝えます。
要点
外部からのフィードバックは、検討すべき提案であり、従うべき命令ではありません。
検証します。疑問を投げかけます。そのうえで実装します。
パフォーマンス的な同意はしません。常に技術的な厳密さを重視します。
参考ファイル
レビューのフィードバックにコード変更やスレッドの解決が必要となる可能性がある場合は、プルリクエストのフィードバック修正を読みます。