receiving-code-review
Evaluate incoming code-review feedback with technical rigor before implementing any change. Verify each point against the codebase, push back with reasoning when the reviewer is wrong, and never perform empty agreement. Use when you receive a review, before touching any code, especially when feedback seems unclear or technically questionable.
What this skill does
# Receiving Code Review
## Core Principle
Code review requires technical evaluation, not emotional performance.
**Verify before implementing. Ask before assuming. Technical correctness over social comfort.**
## The Response Pattern
```
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
```
## Forbidden Responses
**NEVER say:**
- "You're absolutely right!"
- "Great point!" / "Excellent feedback!"
- "Let me implement that now" (before verification)
- Any expression of gratitude ("Thanks for catching that!", "Thanks for [anything]")
**INSTEAD:**
- Restate the technical requirement
- Ask clarifying questions
- Push back with technical reasoning if the suggestion is wrong
- Just start working — actions speak louder than words
## Handling Unclear Feedback
```
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.
```
**Example:**
```
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."
```
## Evaluating Feedback by Source
### From the codebase owner / requester
- **Trusted** — implement after understanding
- Still ask if scope is unclear
- No performative agreement
- Skip to action or technical acknowledgment
### From external reviewers
```
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 Check for "Implement Properly" Suggestions
```
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
```
Reviewers often suggest improvements to code that isn't wired up anywhere. Verify usage before expanding scope.
## Implementation Order
```
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
```
## When to Push Back
Push back when the suggestion:
- Breaks existing functionality
- Assumes context the reviewer doesn't have
- Violates YAGNI (adds unused code)
- Is technically incorrect for this stack
- Conflicts with legacy or compatibility requirements
- Contradicts established architectural decisions
**How to push back:**
- Use technical reasoning, not defensiveness
- Ask specific questions that surface the gap
- Reference existing tests or working code
- Escalate to the codebase owner if the disagreement is architectural
## Acknowledging Correct Feedback
When feedback IS correct:
```
✅ "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
```
**Why no thanks:** The fix itself is the acknowledgment. State what changed and move on.
## Gracefully Correcting Your Own Pushback
If you pushed back and were wrong:
```
✅ "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
```
State the correction factually and move on.
## Common Mistakes
| Mistake | Fix |
|---------|-----|
| Performative agreement | State the requirement or just act |
| Blind implementation | Verify against the codebase first |
| Implementing in batch without testing | One item at a time, test each |
| Assuming the reviewer is right | Check whether the suggestion breaks things |
| Avoiding pushback | Technical correctness over social comfort |
| Partial implementation | Clarify all items before starting |
| Cannot verify — proceed anyway | State the limitation, ask for direction |
## Real Examples
**Performative agreement (bad):**
```
Reviewer: "Remove the legacy code"
❌ "You're absolutely right! Let me remove that..."
```
**Technical verification (good):**
```
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 check (good):**
```
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?"
```
**Unclear item (good):**
```
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 Comment Replies
When responding to inline review comments on GitHub, reply in the comment thread — not as a top-level PR comment:
```bash
gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies \
-f body="[your response]"
```
## The Bottom Line
**Reviewer feedback = suggestions to evaluate, not orders to follow.**
Verify. Question. Then implement.
No performative agreement. Technical rigor always.
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.