mcpbeat

Receiving Code Review

microsoft/receiving-code-review

Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
4940
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/FluidFramework --skill receiving-code-review

The instruction itself

14 sections, as written by the author

Code Review Reception

Overview

Code review requires technical evaluation, not emotional performance.

Core principle: Fetch feedback → Verify → Implement → Re-test → Push updates.

Announce at start: "I'm using the Nori Receiving Code Review skill to handle this feedback."

The Process

Step 0: Create Todo List

For multi-item feedback, use TodoWrite:

- [ ] Fetch and read all PR comments
- [ ] Clarify unclear items (if any)
- [ ] Fix item 1: [description]
- [ ] Fix item 2: [description]
...
- [ ] Run tests/lint/format
- [ ] Push updates

Why: Prevents skipping items and provides visibility to user.

Step 1: Fetch PR Comments

Determine PR number from context:

  • User mentions PR number: Use that
  • Current branch: Run gh pr view --json number -q .number

Fetch all comments:

# View all comments (review + general)
gh pr view [PR-NUMBER] --comments

Read completely before reacting.

Step 2: Understand and Clarify

Apply these checks to each item:

  • [ ] Can I restate this requirement in my own words?
  • [ ] Is this technically sound for THIS codebase?
  • [ ] Does this break existing functionality?
  • [ ] Is there a reason for the current implementation?

CRITICAL: If ANY item is unclear, STOP. Ask for clarification on ALL unclear items before implementing ANYTHING.

Example:

User: "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."
❌ Implement 1,2,3,6 now, ask about 4,5 later

Step 3: Implement Changes

Follow implementation order:

  • Blocking issues (breaks, security)
  • Simple fixes (typos, imports)
  • Complex fixes (refactoring, logic)

For each fix:

  • [ ] Implement one at a time
  • [ ] Test individually
  • [ ] Commit individually (frequent commits)

YAGNI check: If reviewer suggests "implementing properly", grep for actual usage:

grep -r "endpointName" .

If unused: "This endpoint isn't called. Remove it (YAGNI)?"

Step 4: Run Tests, Lint, and Format

Reference finishing-a-development-branch skill (Steps 1-2):

See .claude/skills/finishing-a-development-branch/SKILL.md

  • [ ] Run tests: npm test (or project equivalent)
  • If tests fail, fix before proceeding
  • [ ] Run type checks: npm run lint:*-types (if available)
  • If type errors, fix before proceeding
  • [ ] Run formatter: npm run format
  • [ ] Run linter: npm run lint
  • [ ] Verify changes: git diff --stat

Step 5: Push Updates

Push changes to PR:

git push

Step 6: Summary and Next Action

Report what changed:

"Code review feedback addressed:

  • Fixed [item 1]: [brief description]
  • Fixed [item 2]: [brief description]

...

Changes pushed to PR. Options:

  • Done - PR is ready for re-review
  • More feedback - Additional changes needed
  • Show changes - Review diffs before marking done

Which would you like?"

Quick Reference Checklist

  • [ ] Create TodoWrite for all feedback items
  • [ ] Fetch PR comments (gh pr view --comments)
  • [ ] Clarify ALL unclear items before implementing ANY
  • [ ] Implement in order: blocking → simple → complex
  • [ ] Test each fix individually
  • [ ] Run tests, type checks, formatting, linting (finishing-a-development-branch)
  • [ ] Push updates
  • [ ] Summarize changes and ask for next action

Response Tone Guidelines

Forbidden:

  • "You're absolutely right!" / "Great point!" / "Thanks for..." (performative agreement)
  • Implementing before verifying against codebase
  • Proceeding with unclear feedback

Required:

  • Verify suggestions against codebase reality before implementing
  • Push back with technical reasoning if suggestion breaks things or violates YAGNI
  • Ask for clarification on ALL unclear items before implementing ANY items
  • State fixes factually: "Fixed. [what changed]" or just show the code

YAGNI check: If reviewer suggests "implementing properly", grep for actual usage. If unused, ask: "This endpoint isn't called. Remove it (YAGNI)?"

When wrong after pushing back: "You were right - checked [X] and it does [Y]. Implementing now." No apology needed.

External reviewers: Check if technically correct for THIS codebase, works on all platforms, doesn't conflict with partner's prior decisions. If conflicts, discuss with partner first.

Signal discomfort pushing back: "Strange things are afoot at the Circle K"

Common Mistakes

| Mistake | Fix |

| ---------------------------- | ----------------------------------- |

| Performative agreement | State requirement or just act |

| Blind implementation | Verify against codebase first |

| Batch without testing | One at a time, test each |

| Assuming reviewer is right | Check if breaks things |

| Avoiding pushback | Technical correctness > comfort |

| Partial implementation | Clarify all items first |

| Can't verify, proceed anyway | State limitation, ask for direction |

Red Flags

Never:

  • Skip creating TodoWrite for multi-item feedback
  • Implement without verifying against codebase
  • Proceed with unclear feedback
  • Skip tests/linting/formatting before pushing

Always:

  • Read all feedback completely first
  • Clarify unclear items before implementing
  • Test each fix individually
  • Run full verification before pushing
  • Provide summary of changes to user

How to use it

Copy the folder

Take microsoft/receiving-code-review from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.