flux-plan-review
Carmack-level plan review via RepoPrompt or Codex. Use when reviewing Flow epic specs or design docs. Triggers on /flux:plan-review.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Carmack-level plan review via RepoPrompt or Codex. Use when reviewing Flow epic specs or design docs. Triggers on /flux:plan-review.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | flux-plan-review |
| description | Carmack-level plan review via RepoPrompt or Codex. Use when reviewing Flow epic specs or design docs. Triggers on /flux:plan-review. |
| user-invocable | false |
Read workflow.md for detailed phases and anti-patterns.
Conduct a John Carmack-level review of epic plans.
Plans that touch one-way doors or shared surfaces must be reviewed for future pressure, not just local correctness. A plan can be feasible today and still be wrong for the system six weeks from now.
Role: Code Review Coordinator (NOT the reviewer) Backends: RepoPrompt (rp) or Codex CLI (codex)
CRITICAL: fluxctl is BUNDLED — NOT installed globally. which fluxctl will fail (expected). Always use:
PLUGIN_ROOT="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}}"
[ ! -d "$PLUGIN_ROOT/scripts" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1)
FLUXCTL="${PLUGIN_ROOT}/scripts/fluxctl"
On entry, set the session phase:
$FLUXCTL session-phase set plan_review
On completion, reset:
$FLUXCTL session-phase set idle
Priority (first match wins):
--review=rp|codex|export|none argumentFLUX_REVIEW_BACKEND env var (rp, codex, none).flux/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=$($FLUXCTL review-backend)
if [[ "$BACKEND" == "ASK" ]]; then
echo "Error: No review backend configured."
echo "Run /flux: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:
$FLUXCTL 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.
PLUGIN_ROOT="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}}"
[ ! -d "$PLUGIN_ROOT/scripts" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1)
FLUXCTL="${PLUGIN_ROOT}/scripts/fluxctl"
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
$FLUXCTL architecture status --json
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)
$FLUXCTL 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)' .flux/specs/${EPIC_ID}.md | sort -u | paste -sd,)
# Or list key files manually:
CODE_FILES="src/main.py,src/config.py"
$FLUXCTL 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 $FLUXCTL epic set-plan AND sync affected task specs via $FLUXCTL task set-spec, then re-run (receipt enables session continuity).
If the plan changes subsystem boundaries, major integrations, trust boundaries, or system flows,
it must explicitly account for updating .flux/brain/codebase/architecture.md.
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
$FLUXCTL epic set-plan <EPIC_ID> --file - --json <<'EOF'
<updated epic spec content>
EOF
# Or temp file
$FLUXCTL epic set-plan <EPIC_ID> --file /tmp/updated-plan.md --json
$FLUXCTL task set-spec <TASK_ID> --file - --json <<'EOF'
<updated task spec content>
EOF
Task specs need updating when epic changes affect:
fluxctl codex plan-review (receipt enables context)$FLUXCTL 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:
$FLUXCTL 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.
ALWAYS run at the very end of command execution:
PLUGIN_ROOT="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}}"
[ ! -d "$PLUGIN_ROOT/scripts" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1)
UPDATE_JSON=$("$PLUGIN_ROOT/scripts/version-check.sh" 2>/dev/null || echo '{"update_available":false}')
UPDATE_AVAILABLE=$(echo "$UPDATE_JSON" | jq -r '.update_available')
LOCAL_VER=$(echo "$UPDATE_JSON" | jq -r '.local_version')
REMOTE_VER=$(echo "$UPDATE_JSON" | jq -r '.remote_version')
If update available, append to output:
---
Flux update available: v${LOCAL_VER} → v${REMOTE_VER}
Update Flux from the same source you installed it from, then restart your agent session.
---
Create structured build plans from feature, bugfix, upgrade, or refactor requests, or from Flow IDs. Use when planning implementation after the workflow envelope is explicit. Triggers on /flux:plan with text descriptions or Flow IDs (fn-1-add-oauth, fn-1-add-oauth.2, or legacy fn-1, fn-1.2, fn-1-xxx, fn-1-xxx.2).
Stakeholder-facing feature proposal flow. Guides non-technical team members through a conversational planning session — probes for business context, pushes back like an engineer, estimates complexity and cost, then documents the proposal and creates a PR for engineering handoff. Triggers: /flux:propose, or detected implicitly when a non-technical user describes a feature, bugfix request, or upgrade without implementation detail during /flux:scope or /flux:plan.
Use when scoping a new feature, bugfix, upgrade to an existing feature, or refactor into a concrete Flow objective. Guides Start, Discover, Define, Stress Test, Future Pressure, Develop, Deliver, and Handoff; requires an explicit shallow-vs-deep choice before scoping continues. Triggers on literal `/flux:scope`, including prompts like `/flux:scope Add OAuth login` or `/flux:scope fn-1 --deep`.
Optional local install of fluxctl CLI and AGENTS.md/legacy CLAUDE.md instructions. Use when user runs /flux:setup. Triggers on literal `/flux:setup`.
Manage .flux/ tasks, epics, and config. Triggers: 'show me my tasks', 'list epics', 'what tasks are there', 'add a task', 'create task', 'what's ready', 'task status', 'show fn-1-add-oauth', 'show my Flux config', 'what did setup configure', 'edit Flux settings'. NOT for /flux:plan or /flux:work.
Execute a Flow epic or task systematically with git setup, task tracking, quality checks, and commit workflow. Use when implementing a plan or working through a spec. Triggers on literal `/flux:work` prompts with Flow IDs (fn-1-add-oauth, fn-1-add-oauth.2, or legacy fn-1, fn-1.2, fn-1-xxx, fn-1-xxx.2).