ijfw-agents-md
Maintain canonical AGENTS.md (open spec). Trigger: 'agents.md', 'update AGENTS.md', or auto-fired by ijfw-team after agent…
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
Claude Code
$ npx -y skills add FerroxLabs/ijfw --skill ijfw-receiving-review --agent claude-code
Codex
$ npx skills add FerroxLabs/ijfw --skill ijfw-receiving-review -a codex -y
Cursor
$ npx skills add FerroxLabs/ijfw --skill ijfw-receiving-review -a cursor -y
Gemini CLI
$ npx skills add FerroxLabs/ijfw --skill ijfw-receiving-review -a gemini-cli -y
GitHub Copilot
$ npx skills add FerroxLabs/ijfw --skill ijfw-receiving-review -a github-copilot -y
OpenCode
$ npx skills add FerroxLabs/ijfw --skill ijfw-receiving-review -a opencode -y
Windsurf
$ npx skills add FerroxLabs/ijfw --skill ijfw-receiving-review -a windsurf -y
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"
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.
---
Pick ONE per finding. Never "I'll think about it" -- that is silent deferral and rots the review thread.
If you cannot pick one within 60 seconds of reading the finding, you have not understood it yet. Re-read it twice before replying.
---
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.
---
Reviewers cite domain knowledge, codebase invariants, security contracts, or framework rules you may not have loaded. Before pushing back:
"I disagree" alone is performative. "I disagree because L88 already handles this branch -- see test_null_email at L201" is technical.
---
These reply patterns are the ones that ship regressions. When you catch yourself writing one, stop and verify before sending.
---
From `ijfw-review` severity vocabulary (BLOCK / FLAG / NIT, or in `ijfw-review` shorthand bug / warn / suggest / nice):
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.
---
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.
---
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:
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.
Maintain canonical AGENTS.md (open spec). Trigger: 'agents.md', 'update AGENTS.md', or auto-fired by ijfw-team after agent…
Session-end auto-extraction of lessons, errors, fixes, and user feedback into structured memory. Fires at session end. Requires…
Terse conventional commits. Trigger: commit, git commit, /ijfw-commit
Use when a milestone is shipping and you need to archive its artifacts, generate a summary, and seed the next milestone. Trigger:…
Compress memory/context files into terse form. Trigger: /compress, compress file
Use when the user says: 'compute', 'crunch this', 'analyze logs', 'aggregate the data', 'run a script', 'dedupe', 'count by',…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.