com um clique
flow-next-opencode-impl-review
// John Carmack-level implementation review via RepoPrompt or OpenCode. Use when reviewing code changes, PRs, or implementations. Triggers on /flow-next:impl-review.
// John Carmack-level implementation review via RepoPrompt or OpenCode. Use when reviewing code changes, PRs, or implementations. Triggers on /flow-next:impl-review.
Scaffold repo-local Ralph autonomous harness under scripts/ralph/. Use when user runs /flow-next:ralph-init.
Carmack-level plan review via RepoPrompt or OpenCode. Use when reviewing Flow epic specs or design docs. Triggers on /flow-next:plan-review.
Comprehensive codebase assessment for agent and production readiness. Scans 8 pillars (48 criteria), verifies commands work, checks GitHub settings. Reports everything, fixes agent readiness only. Triggers on /flow-next:prime.
Local install of flowctl CLI and CLAUDE.md/AGENTS.md instructions. Use when user runs /flow-next:setup.
Interview user in-depth about an epic, task, or spec file to extract complete implementation details. Use when user wants to flesh out a spec, refine requirements, or clarify a feature before building. Triggers on /flow-next:interview with Flow IDs (fn-1, fn-1.2) or file paths.
Create structured build plans from feature requests or Flow IDs. Use when planning features or designing implementation. Triggers on /flow-next:plan with text descriptions or Flow IDs (fn-1, fn-1.2).
| name | flow-next-opencode-impl-review |
| description | John Carmack-level implementation review via RepoPrompt or OpenCode. Use when reviewing code changes, PRs, or implementations. Triggers on /flow-next:impl-review. |
Read workflow.md for detailed phases and anti-patterns.
Conduct a John Carmack-level review of implementation changes on the current branch.
Role: Code Review Coordinator (NOT the reviewer) Backends: OpenCode (opencode) or RepoPrompt (rp)
⚠️ RepoPrompt 1.6.0+ Required (rp backend): The RP backend uses builder review mode. Check version: rp-cli --version.
CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Always use:
ROOT="$(git rev-parse --show-toplevel)"
OPENCODE_DIR="$ROOT/.opencode"
FLOWCTL="$OPENCODE_DIR/bin/flowctl"
Priority (first match wins):
--review=rp|opencode|export|none argumentFLOW_REVIEW_BACKEND env var (rp, opencode, none).flow/config.json → review.backendopencodeCheck $ARGUMENTS for:
--review=rp or --review rp → use rp--review=opencode or --review opencode → use opencode--review=export or --review export → use export--review=none or --review none → skip reviewIf found, use that backend and skip all other detection.
# Check available backends
HAVE_RP=0;
if command -v rp-cli >/dev/null 2>&1; then
HAVE_RP=1;
elif [[ -x /opt/homebrew/bin/rp-cli || -x /usr/local/bin/rp-cli ]]; then
HAVE_RP=1;
fi;
# Get configured backend
BACKEND="${FLOW_REVIEW_BACKEND:-}";
if [[ -z "$BACKEND" ]]; then
BACKEND="$($FLOWCTL config get review.backend --json 2>/dev/null | jq -r '.value // empty')";
fi
MUST RUN the detection command above and use its result. Do not assume rp-cli is missing without running it.
If BACKEND is empty AND HAVE_RP=1, AND not in Ralph mode (FLOW_RALPH not set):
Output this question as text:
Which review backend?
a) OpenCode review (GPT-5.2, reasoning high)
b) RepoPrompt (macOS, visual builder)
(Reply: "a", "opencode", "b", "rp", or just tell me)
IMPORTANT: Ask this in plain text only. Do NOT use the question tool.
Wait for response. Parse naturally.
Default if empty/ambiguous: opencode
# Fallback to available
if [[ -z "$BACKEND" ]]; then
if [[ "$HAVE_RP" == "1" ]]; then BACKEND="opencode"
else BACKEND="opencode"; fi
fi
For rp backend:
setup-review - handles window selection + builder atomically--new-chat after first reviewFor opencode backend:
$FLOWCTL opencode impl-review command--base for diff scope and --receipt for session continuityFor all backends:
REVIEW_RECEIPT_PATH set: write receipt after review (any verdict)<promise>RETRY</promise> and stopFORBIDDEN:
Arguments: $ARGUMENTS
Format: [focus areas or task ID]
Reviews all changes on current branch vs main/master.
See workflow.md for full details on each backend.
ROOT="$(git rev-parse --show-toplevel)"
OPENCODE_DIR="$ROOT/.opencode"
FLOWCTL="$OPENCODE_DIR/bin/flowctl"
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
Run backend detection from SKILL.md above. Then branch:
TASK_ID="${1:-}"
BASE_COMMIT="${BASE_COMMIT:-main}"
RECEIPT_PATH="${REVIEW_RECEIPT_PATH:-/tmp/impl-review-receipt.json}"
$FLOWCTL opencode impl-review "$TASK_ID" --base "$BASE_COMMIT" --receipt "$RECEIPT_PATH"
# Output includes VERDICT=SHIP|NEEDS_WORK|MAJOR_RETHINK
On NEEDS_WORK: fix code, commit, re-run (receipt enables session continuity).
# Step 1: Identify changes
git branch --show-current
git log main..HEAD --oneline 2>/dev/null || git log master..HEAD --oneline
git diff main..HEAD --name-only 2>/dev/null || git diff master..HEAD --name-only
# Step 2: Atomic setup
eval "$($FLOWCTL rp setup-review --repo-root "$REPO_ROOT" --summary "Review implementation: <summary>")"
# Outputs W=<window> T=<tab>. If fails → <promise>RETRY</promise>
# Step 3: Augment selection
$FLOWCTL rp select-add --window "$W" --tab "$T" path/to/changed/files...
# Step 4: Build and send review prompt (see workflow.md)
$FLOWCTL rp chat-send --window "$W" --tab "$T" --message-file /tmp/review-prompt.md --new-chat --chat-name "Impl Review: [BRANCH]"
# Step 5: Write receipt if REVIEW_RECEIPT_PATH set
If verdict is NEEDS_WORK, loop internally until SHIP:
$FLOWCTL opencode impl-review "$TASK_ID" --base "$BASE_COMMIT" --receipt "$RECEIPT_PATH"$FLOWCTL rp chat-send --window "$W" --tab "$T" --message-file /tmp/re-review.md (NO --new-chat)<verdict>SHIP</verdict>CRITICAL: For RP, re-reviews must stay in the SAME chat so reviewer has context. Only use --new-chat on the FIRST review.