Skip to main content

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.

Ir para a instalação

Informações da origem

Repositório
gmickel/flow-next-opencode
Última atividade na origem
23 de janeiro de 2026 às 10:43
Idioma detectado do SKILL.md
inglês
Estrelas
40
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
4 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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.
# Implementation Review Mode **Read [workflow.md](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: ```bash ROOT="$(git rev-parse --show-toplevel)" OPENCODE_DIR="$ROOT/.opencode" FLOWCTL="$OPENCODE_DIR/bin/flowctl" ``` ## Backend Selection **Priority** (first match wins): 1. `--review=rp|opencode|export|none` argument 2. `FLOW_REVIEW_BACKEND` env var (`rp`, `opencode`, `none`) 3. `.flow/config.json` → `review.backend` 4. Interactive prompt if rp-cli available (and not in Ralph mode) 5. Default: `opencode` ### Parse from arguments first Check $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 review If found, use that backend and skip all other detection. ### Otherwise detect ```bash # 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 no backend configured and rp available 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` ### If only one available or in Ralph mode ```bash # Fallback to available if [[ -z "$BACKEND" ]]; then if [[ "$HAVE_RP" == "1" ]]; then BACKEND="opencode" else BACKEND="opencode"; fi fi ``` ## Critical Rules **For rp backend:** 1. **DO NOT REVIEW CODE YOURSELF** - you coordinate, RepoPrompt reviews 2. **MUST WAIT for actual RP response** - never simulate/skip the review 3. **MUST use `setup-review`** - handles window selection + builder atomically 4. **DO NOT add --json flag to chat-send** - it suppresses the review response 5. **Re-reviews MUST stay in SAME chat** - omit `--new-chat` after first review **For opencode backend:** 1. Use `$FLOWCTL opencode impl-review` command 2. Pass `--base` for diff scope and `--receipt` for session continuity 3. Parse verdict from command output **For all backends:** - If `REVIEW_RECEIPT_PATH` set: write receipt after review (any verdict) - Any failure → output `<promise>RETRY</promise>` and stop **FORBIDDEN**: - Self-declaring SHIP without actual backend verdict - Mixing backends mid-review (stick to one) - Skipping review when backend is "none" without user consent ## Input Arguments: $ARGUMENTS Format: `[focus areas or task ID]` Reviews all changes on **current branch** vs main/master. ## Workflow **See [workflow.md](workflow.md) for full details on each backend.** ```bash 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)" ``` ### Step 0: Detect Backend Run backend detection from SKILL.md above. Then branch: ### OpenCode Backend ```bash 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). ### RepoPrompt Backend ```bash # 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 ``` ## Fix Loop (INTERNAL - do not exit to Ralph) If verdict is NEEDS_WORK, loop internally until SHIP: 1. **Parse issues** from reviewer feedback (Critical → Major → Minor) 2. **Fix code** and run tests/lints 3. **Commit fixes** (mandatory before re-review) 4. **Re-review**: - **OpenCode**: `$FLOWCTL opencode impl-review "$TASK_ID" --base "$BASE_COMMIT" --receipt "$RECEIPT_PATH"` - **RP**: `$FLOWCTL rp chat-send --window "$W" --tab "$T" --message-file /tmp/re-review.md` (NO `--new-chat`) 5. **Repeat** until `<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.
Ver no GitHub