From dev-buddy
Performs multi-AI code review on Ralph-planned units via git diff, tracing acceptance criteria to code lines, detecting semantic drift, checking integrations and patterns.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-buddy:dev-buddy-code-reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Catch semantic drift, integration gaps, and missed intent that mechanical backpressure cannot detect.
Catch semantic drift, integration gaps, and missed intent that mechanical backpressure cannot detect.
Standalone usage: /dev-buddy-code-review — reads the most recent ralph-*.md plan file and reviews all implemented units.
Orchestrator usage: Called by /dev-buddy-ralph after all units are built.
If no plan file path is in current context, find the most recent one:
ls -t "${CLAUDE_PROJECT_DIR}/.vcp/plan/ralph-*.md" 2>/dev/null | head -1
Read the master plan file. All units in the "Units of Work" table must be done. If any are pending or failed, tell the user to run /dev-buddy-build first.
Extract the slug from the filename: ralph-{SLUG}.md → {SLUG}.
bun -e "
import { loadDevBuddyConfig } from '${CLAUDE_PLUGIN_ROOT}/scripts/pipeline-config.ts';
import { readPresets } from '${CLAUDE_PLUGIN_ROOT}/scripts/preset-utils.ts';
const config = loadDevBuddyConfig();
const presets = readPresets();
const stage = config.stages['ralph-code-review'];
console.log(JSON.stringify(stage.executors.map((e, i) => ({
index: i,
system_prompt: e.system_prompt,
preset: e.preset,
model: e.model,
parallel: e.parallel ?? false,
type: presets.presets[e.preset]?.type || 'unknown',
timeout_ms: presets.presets[e.preset]?.timeout_ms
}))));
"
bun -e "
import { loadStageDefinition, composePrompt, getSystemPrompt } from '${CLAUDE_PLUGIN_ROOT}/scripts/system-prompts.ts';
const stage = loadStageDefinition('ralph-code-review', '${CLAUDE_PLUGIN_ROOT}/stages');
const role = getSystemPrompt('{SYSTEM_PROMPT}', '${CLAUDE_PLUGIN_ROOT}/system-prompts/built-in');
if (stage && role) console.log(composePrompt(stage, role));
else console.log('ERROR: Could not resolve prompts');
"
Prepare the review package for each executor:
${CLAUDE_PROJECT_DIR}/.vcp/plan/ralph/{SLUG}/unit-*.mdgit diff HEAD~{N} (or since workflow started)${CLAUDE_PLUGIN_ROOT}/docs/review-guidelines.mdEach executor receives the review package plus instructions to:
Subscription executors: Agent(subagent_type: "general-purpose", model: {model}, prompt: {composed_prompt + review_package})
API/CLI executors: Bash(run_in_background: true) with one-shot-runner.ts:
bun "${CLAUDE_PLUGIN_ROOT}/scripts/one-shot-runner.ts" \
--type {api|cli} --output-id ralph-review-p{i} \
--preset "{PRESET}" --model "{MODEL}" \
--stage-type ralph-code-review --system-prompt {SYSTEM_PROMPT} \
--allowed-tools Read,Glob,Grep \
--cwd "${CLAUDE_PROJECT_DIR}" --task-stdin <<'{DELIM}'
IMPORTANT: You are a PARALLEL executor. Return your analysis as text output ONLY.
Do NOT create, modify, or delete any files. The orchestrator will write the final output.
{review_package}
{DELIM}
Dispatch all parallel executors in a single message.
Collect all responses (sequential TaskOutput polling — one at a time).
Synthesize all reviewer findings into a verdict:
All ACs traced to code. No semantic drift. Integration is sound.
uat using Edit tool: replace **Status:** review with **Status:** uat.For each finding that requires changes:
**Status:** done**Status:** pending**Attempts:** {current_N}**Attempts:** 0pending in master plan "Units of Work" table using Edit toolbuild using Edit tool: replace **Status:** review with **Status:** build.in_progressReport findings to user. If running under orchestrator, the orchestrator handles looping back to build.
If standalone: tell the user to run /dev-buddy-build to fix the affected units, then re-run /dev-buddy-code-review.
Fundamental design issue. Escalate to user via AskUserQuestion. Do not loop — this needs human intervention.
TaskUpdate(T-review, status: "completed")TaskUpdate(T-uat, status: "in_progress")Max review iterations: max_iterations from config. After exhaustion, report to user.
Pipeline continuation: After updating tasks, call TaskList() to find the next pending stage. The task description tells you which skill to invoke. Continue the pipeline immediately — do NOT stop and wait for user input.
Read,Glob,Grep via --allowed-tools. CLI executors receive a prompt-level instruction. Subscription executors get prompt-level guidance only.npx claudepluginhub z-m-huang/vcp --plugin dev-buddyDispatches code-reviewer subagent to review git diffs after tasks or features; automates review-fix loop with retries until zero issues.
Orchestrates an adversarial plan-implement-review pipeline by spawning agents with separate context windows. Use after intake skills produce a starting document.
Guides codex-review plugin workflows including plan review, implementation review, status checks, and finding resolution.