Impl Review
/flow-next:impl-review runs an adversarial code review on the work currently on your branch.
Like /flow-next:plan-review, the host agent coordinates and the actual review comes from RepoPrompt, Codex CLI, or GitHub Copilot CLI. The output is a review receipt that travels with the branch.
When to use it
Section titled “When to use it”Run impl-review on a branch after /flow-next:work has shipped one or more tasks, before /flow-next:make-pr opens the PR. The reviewer sees the diff against base and the spec it implements — code-quality findings surface here; spec-coverage gaps belong to /flow-next:spec-completion-review.
Specifically:
- After a batch of tasks lands and you want a second model to catch what your own session missed.
- Before opening a PR for a high-stakes change (auth, migrations, public APIs).
- When the diff is large enough that the make-pr cognitive-aid body alone won’t surface every concern.
Worker subagents inside /flow-next:work can run impl-review per task via --review=<backend>. Use this skill directly when you want to review the whole branch as a unit instead.
Backend selection
Section titled “Backend selection”Same priority as plan-review:
--review=rp|codex|copilot|export|none.FLOW_REVIEW_BACKENDenv var..flow/config.json→review.backend.- Hard error if nothing is configured.
Per-task backend overrides are set with flowctl task set-backend.
Windows + Copilot (1.1.9+)
Section titled “Windows + Copilot (1.1.9+)”Native Windows works. run_copilot_exec delivers the prompt via stdin on Windows (subprocess.run(input=prompt, ...)), sidestepping the CreateProcessW 32,767-char argv cap that broke the -p path for spec-sized prompts in 1.1.8 and earlier. Session continuity is tracked via a touch marker because stdin-mode --resume is resume-only (unlike -p mode’s create-or-resume). Verified by a real-subprocess Windows CI smoke. Upstream tracking github/copilot-cli#3398 — once a first-class --prompt-file flag lands there, both POSIX and Windows paths will converge.
What the reviewer is asked to do
Section titled “What the reviewer is asked to do”- Surface bugs, race conditions, and security issues.
- Flag code that contradicts the spec or the repo’s existing conventions.
- Distinguish nits from blockers; the verdict is binary (
SHIP/NEEDS_WORK) with itemized findings.
Impl-review does not verify that every acceptance criterion in the spec is satisfied — that is a separate question answered by /flow-next:spec-completion-review. A clean impl-review on incomplete work is possible and expected.
Receipts
Section titled “Receipts”Every run writes to .flow/review-receipts/<branch>.json. The receipt records the verdict, findings, file references, and the backend that produced it. /flow-next:make-pr reads these receipts when assembling the PR body so the reviewer’s findings are visible upstream.
Loop until SHIP
Section titled “Loop until SHIP”The fix → review loop continues until the backend returns SHIP or the user stops. Re-reviews stay in the same session so the reviewer sees the deltas, not the full diff again.
What this is not
Section titled “What this is not”- Not a spec-completion check — that’s
/flow-next:spec-completion-review. Impl-review can pass code that does not actually satisfy the spec; completion-review is the gate that catches that. - Not a CI substitute. The reviewer reads code; CI runs tests. Both matter.
Next step
Section titled “Next step”/flow-next:spec-completion-review <spec-id>/flow-next:make-pr <spec-id>