From flow-next
Coordinates Carmack-level reviews of Flow epic specs and design docs using RepoPrompt or Codex backends via flowctl. Triggers on /flow-next:plan-review.
npx claudepluginhub gmickel/flow-next --plugin flow-nextThis skill uses the workspace's default tool permissions.
**Read [workflow.md](workflow.md) for detailed phases and anti-patterns.**
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Read workflow.md for detailed phases and anti-patterns.
Conduct a John Carmack-level review of epic plans.
Role: Code Review Coordinator (NOT the reviewer) Backends: RepoPrompt (rp) or Codex CLI (codex)
CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Always use:
FLOWCTL="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/flowctl"
Priority (first match wins):
--review=rp|codex|export|none argumentFLOW_REVIEW_BACKEND env var (rp, codex, none).flow/config.json → review.backendCheck $ARGUMENTS for:
--review=rp or --review rp → use rp--review=codex or --review codex → use codex--review=export or --review export → use export--review=none or --review none → skip reviewIf found, use that backend and skip all other detection.
# Priority: --review flag > env > config
BACKEND=$($FLOWCTL review-backend)
if [[ "$BACKEND" == "ASK" ]]; then
echo "Error: No review backend configured."
echo "Run /flow-next:setup to configure, or pass --review=rp|codex|none"
exit 1
fi
echo "Review backend: $BACKEND (override: --review=rp|codex|none)"
For rp backend:
setup-review - handles window selection + builder atomically--new-chat after first reviewFor codex backend:
$FLOWCTL codex plan-review exclusively--receipt for session continuity on re-reviewsFor all backends:
REVIEW_RECEIPT_PATH set: write receipt after review (any verdict)<promise>RETRY</promise> and stopFORBIDDEN:
Arguments: $ARGUMENTS
Format: <flow-epic-id> [focus areas]
See workflow.md for full details on each backend.
FLOWCTL="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/flowctl"
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
Run backend detection from SKILL.md above. Then branch:
EPIC_ID="${1:-}"
RECEIPT_PATH="${REVIEW_RECEIPT_PATH:-/tmp/plan-review-receipt.json}"
# Save checkpoint before review (recovery point if context compacts)
$FLOWCTL checkpoint save --epic "$EPIC_ID" --json
# --files: comma-separated CODE files for reviewer context
# Epic/task specs are auto-included; pass files the plan will CREATE or MODIFY
# How to identify: read the epic spec, find files mentioned or directories affected
# Example: epic touches auth → pass existing auth files for context
#
# Dynamic approach (if epic mentions specific paths):
# CODE_FILES=$(grep -oE 'src/[^ ]+\.(ts|py|js)' .flow/specs/${EPIC_ID}.md | sort -u | paste -sd,)
# Or list key files manually:
CODE_FILES="src/main.py,src/config.py"
$FLOWCTL codex plan-review "$EPIC_ID" --files "$CODE_FILES" --receipt "$RECEIPT_PATH"
# Output includes VERDICT=SHIP|NEEDS_WORK|MAJOR_RETHINK
On NEEDS_WORK: fix plan via $FLOWCTL epic set-plan AND sync affected task specs via $FLOWCTL task set-spec, then re-run (receipt enables session continuity).
Note: codex plan-review automatically includes task specs in the review prompt.
⚠️ STOP: You MUST read and execute workflow.md now.
Go to the "RepoPrompt Backend Workflow" section in workflow.md and execute those steps. Do not proceed here until workflow.md phases are complete.
The workflow covers:
$W and $TReturn here only after workflow.md execution is complete.
CRITICAL: Do NOT ask user for confirmation. Automatically fix ALL valid issues and re-review — our goal is production-grade world-class software and architecture. Never use AskUserQuestion in this loop.
If verdict is NEEDS_WORK, loop internally until SHIP:
# Preferred: stdin heredoc
$FLOWCTL epic set-plan <EPIC_ID> --file - --json <<'EOF'
<updated epic spec content>
EOF
# Or temp file
$FLOWCTL epic set-plan <EPIC_ID> --file /tmp/updated-plan.md --json
$FLOWCTL task set-spec <TASK_ID> --file - --json <<'EOF'
<updated task spec content>
EOF
Task specs need updating when epic changes affect:
flowctl codex plan-review (receipt enables context)$FLOWCTL rp chat-send --window "$W" --tab "$T" --message-file /tmp/re-review.md (NO --new-chat)<verdict>SHIP</verdict>Recovery: If context compaction occurred during review, restore from checkpoint:
$FLOWCTL checkpoint restore --epic <EPIC_ID> --json
CRITICAL: For RP, re-reviews must stay in the SAME chat so reviewer has context. Only use --new-chat on the FIRST review.