Skip to content
Development
Skill

/ijfw-receiving-review

Reply to code review without blind agreement or performative pushback. Use when you have received feedback, need to address review, respond to review, handle review comments, or PR comments came back. Trigger: received feedback, address review, respond to review, review comments

From plugin
ijfw
21436 skills37 agents22 commands1 MCP

Claude Code

$ npx -y skills add FerroxLabs/ijfw --skill ijfw-receiving-review --agent claude-code

SKILL.md

ijfw-receiving-review.SKILL.md
name: ijfw-receiving-review
description: "Reply to code review without blind agreement or performative pushback. Use when you have received feedback, need to address review, respond to review, handle review comments, or PR comments came back. Trigger: received feedback, address review, respond to review, review comments to handle, PR comments came back, /ijfw-receiving-review"
since: "1.5.0"

IJFW Receiving Review -- technical rigor over performance

Paired with `ijfw-review` (reviewer side). This is the implementer side: how to react to findings from `ijfw-review`, `ijfw-cross-audit`, a human PR reviewer, a book editor, a design critic, or any other source -- without two failure modes.

**Failure mode A: blind agreement.** "You're absolutely right!" then implement. The finding was never verified. Half the time the reviewer was wrong, the cited line moved, or the suggested fix breaks an invariant they did not know about. You now own a regression.

**Failure mode B: performative pushback.** "I disagree, this is fine." No technical specifics, no citation, no evidence. Reviewer pushes back harder. You either cave (back to A) or dig in (the regression ships anyway).

The rule: every finding gets ONE of three legitimate replies, and each reply has an evidence bar.

---

1. Three legitimate replies to a finding

Pick ONE per finding. Never "I'll think about it" -- that is silent deferral and rots the review thread.

  • **Agree-and-fix** -- reproduce the finding, accept it, change the code, link the commit.
  • **Disagree-with-reason** -- cite the file, the line, the contract, the test, or the invariant that makes the finding wrong. No vibes.
  • **Need-more-info** -- ask ONE specific question. Not "can you explain?" Instead: "you flagged L42 as a null deref -- is the concern the early-return path on L38 or the catch block on L51?"

If you cannot pick one within 60 seconds of reading the finding, you have not understood it yet. Re-read it twice before replying.

---

2. Before agreeing -- verify the finding is real

Reproduce it. Open the cited file at the cited line. Run the failing command, the failing test, the failing query. If the bug does not reproduce, that is a Disagree-with-reason -- and a memory entry about the reviewer's hit rate.

A finding you cannot reproduce is a finding you cannot fix. "Agreeing" without reproduction means you will guess at a fix, the guess will be wrong, and the next reviewer round will flag it again.

---

3. Before disagreeing -- read the finding twice and look up what you do not know

Reviewers cite domain knowledge, codebase invariants, security contracts, or framework rules you may not have loaded. Before pushing back:

  • Read the finding twice. The second read often surfaces what the first missed.
  • If the finding cites a contract, file, or rule you do not recognise, look it up. `grep`, `git log -S`, read the linked doc.
  • Only then push back -- with technical specifics. Quote the line. Cite the test. Reference the contract.

"I disagree" alone is performative. "I disagree because L88 already handles this branch -- see test_null_email at L201" is technical.

---

4. Technical-rigor red flags -- stop, verify, then reply

These reply patterns are the ones that ship regressions. When you catch yourself writing one, stop and verify before sending.

  • **"This is fine because the existing code does it too."** Verify the existing code is actually correct first. "Two wrongs" is not a refutation; it is a second bug you just inherited.
  • **"I tested it and it works."** Show the test output. If you did not actually run it, run it now and paste the output. "It works on my machine" without evidence is not evidence.
  • **"The reviewer is wrong about X."** Quote the specific line, name the specific contract, link the specific test. Vague disagreement is performative pushback.
  • **"I'll address this later."** Either do it now or open a tracked issue (GitHub, Linear, ticket id) AND link the tracker in your reply. "Later" with no link is silent deferral.
  • **"That is out of scope."** Maybe true -- but if the finding is a BLOCK severity, scope is the wrong axis. Either fix it now or downgrade the PR.

---

5. Severity calibration -- match reply rigor to finding severity

From `ijfw-review` severity vocabulary (BLOCK / FLAG / NIT, or in `ijfw-review` shorthand bug / warn / suggest / nice):

  • **BLOCK / bug** -- ALWAYS agree-and-fix OR a fully-cited disagree with reproducible evidence. Never defer. Never NIT-batch. Never "out of scope."
  • **FLAG / warn** -- agree-and-fix OR explicit defer-with-tracking (issue link required). A FLAG you accept without tracking is one you will forget.
  • **NIT / suggest / nice** -- batch-resolve in one commit OR explicit won't-fix-because. Reviewers earn the right to ignore your NITs after you ignore three of theirs without reason; do not burn that bank.

Mis-calibration in either direction is the bug. Treating a BLOCK as a NIT ships regressions; treating a NIT as a BLOCK burns trust and slows the cycle.

---

6. When the reviewer is wrong -- push back specifically

Reviewers are wrong sometimes. Cross-audit lenses are wrong sometimes. Even careful human reviewers miss invariants. Pushing back is legitimate -- when you have evidence.

A specific pushback contains: the file, the line, the cited behavior or contract, and the test or invocation that proves it. Example: "L42 is not a null deref -- `validateInput` at L38 throws before L42 can run. See test_null_input_throws at tests/input.test.ts:14."

A non-specific pushback contains: "I disagree." "This is intentional." "That's how it works." These are vibes. Vibes lose review threads.

---

7. Memory feedback -- track reviewer patterns

When you Disagree-with-reason on a finding from the same reviewer for the third time on the same kind of issue (same false-positive pattern), record a memory entry:

  • Key: `reviewer_pattern_<reviewer-id>`
  • Body: "Reviewer X tends to flag
Read more
@ferroxlabs
Ships withijfw

IJFW — It Just F*cking Works. Ferrox Labs' local-first infrastructure for AI coding agents: shared memory, smart routing, multi-AI cross-audits, disciplined workflow.

21436 skills37 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
214
Star history of FerroxLabs/ijfw on GitHub, a chart by star-history.com

Other skills on ijfw.

ijfw-agents-md

ijfw-agents-md

Maintain canonical AGENTS.md (open spec). Trigger: 'agents.md', 'update AGENTS.md', or auto-fired by ijfw-team after agent…

@ferroxlabs@ferroxlabsInstall Skill
ijfw-auto-memorize

ijfw-auto-memorize

Session-end auto-extraction of lessons, errors, fixes, and user feedback into structured memory. Fires at session end. Requires…

@ferroxlabs@ferroxlabsInstall Skill
ijfw-complete-milestone

ijfw-complete-mileston…

Use when a milestone is shipping and you need to archive its artifacts, generate a summary, and seed the next milestone. Trigger:…

@ferroxlabs@ferroxlabsInstall Skill
ijfw-compute

ijfw-compute

Use when the user says: 'compute', 'crunch this', 'analyze logs', 'aggregate the data', 'run a script', 'dedupe', 'count by',…

@ferroxlabs@ferroxlabsInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about ijfw-receiving-review.

Which coding agents can use ijfw-receiving-review?
ijfw-receiving-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.