skills/vibe-review-code/SKILL.md
Use when the user wants a structured code review for local or PR-bound source changes, asks for a pre-PR implementation audit, or wants fixes validated against code review feedback. Do not use for docs-only review, concept governance, PR publishing, merging, or CI debugging.
npx skillsauth add jacobcy/vibe-coding-control-center vibe-review-codeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
vibe-review-code is the human-style code review skill for source changes in this repository.
Your job is to find defects that can cause wrong behavior, broken automation, unsafe state transitions, or missing verification. Lead with actionable findings. Do not drift into style preferences, broad refactors, or historical cleanup unless the current change makes them risky.
This skill reviews code; it does not publish PRs, merge branches, repair CI, or own documentation governance.
Read these before judging severity:
@vibe/supervisor/policies/review.md(使用 vibe3 handoff show @vibe/supervisor/policies/review.md 命令读取)@vibe/supervisor/policies/common.md(使用 vibe3 handoff show @vibe/supervisor/policies/common.md 命令读取)docs/standards/quality-control-standard.mdUse CLAUDE.md / AGENTS.md as project-level hard rules when present, but keep the review skill's required standard list to the three files above.
Use this skill when:
Route elsewhere when:
vibe-review-docs.vibe-commit / GitHub publishing flow.vibe3 inspect, tests, and current docs.vibe3 review pr/base launches the automated review pipeline and is optional cross-check only when explicitly useful.uv run for all Python project commands..git/vibe3 shared files; use uv run python src/vibe3/cli.py handoff append ... if review observations need internal handoff.Identify the review target:
gh pr view <number> --json ... and gh pr diff <number>.git status --short --branch and git diff <base>...HEAD.git diff and git diff --cached.For opened PRs, GitHub PR metadata and PR diff are the source of truth for what reviewers will see. For local-only reviews, the local worktree and index are the source of truth.
关键区分:本地开发 vs 远程审查
使用共享状态命令获取上下文:
uv run python src/vibe3/cli.py handoff status $(git branch --show-current)
uv run python src/vibe3/cli.py task show
If these commands fail because the branch has no bound flow, continue reviewing the requested diff and state the limitation.
远程审查时,GitHub comments 是跨机器、跨 agent 的共享现场。不要把本地 handoff 当作唯一真源。
自动 flow 分支:
task/issue-123 and dev/issue-123: infer the issue number and read issue
comments as the remote handoff / decision history.PR_BRANCH=$(gh pr view <number> --json headRefName -q .headRefName)
if echo "$PR_BRANCH" | grep -qE '^(task|dev)/issue-[0-9]+'; then
ISSUE_NUM=$(echo "$PR_BRANCH" | grep -oE 'issue-[0-9]+' | grep -oE '[0-9]+')
gh issue view "$ISSUE_NUM" --comments
fi
gh pr view <number> --comments
人机合作分支:
codex/pr-123-* do not imply an issue number.远程审查上下文优先级:
Before assigning severity, collect impact evidence with inspect:
# Branch-level risk and changed symbols
uv run python src/vibe3/cli.py inspect base --json
# Project-level structure change vs branch baseline, when a baseline exists
uv run python src/vibe3/cli.py snapshot diff --quiet
# Commit-level impact when reviewing specific commits
uv run python src/vibe3/cli.py inspect commit <sha> --json
# Symbol usage and Python file structure
uv run python src/vibe3/cli.py inspect symbols <file>
uv run python src/vibe3/cli.py inspect symbols <file>:<symbol>
uv run python src/vibe3/cli.py inspect files <python-file-or-python-dir>
Use rg only for exact literals such as error messages, command names, config keys, paths, or prompt text. Do not replace impact analysis with plain text search.
inspect files is a Python structure tool. For Markdown, YAML, JSON, shell snippets, or other non-Python files, review the diff directly and use rg plus the relevant standards instead of forcing inspect files.
If snapshot diff reports that no branch baseline exists, do not block the review solely on that. Fall back to uv run python src/vibe3/cli.py snapshot diff latest --quiet when a latest snapshot comparison is useful, and record the missing baseline as a verification limitation.
For CLI changes, also use:
uv run python src/vibe3/cli.py <command> --help
uv run python src/vibe3/cli.py inspect commands <command> [subcommand]
Prioritize findings in this order:
uv run.For every changed function/class/command with meaningful behavior, check:
Run targeted verification proportional to risk:
uv run ruff check <changed-src-or-tests>
uv run pytest <targeted-tests>
Do not repeatedly run full uv run pytest in the same turn unless the user explicitly asks or a CI-only failure requires it. If you cannot run a relevant check, say why.
Use the automated review runner only as a secondary comparison, not as the review source of truth:
uv run python src/vibe3/cli.py review pr <number> --dry-run
uv run python src/vibe3/cli.py review base --dry-run
Run non-dry review commands only when the user explicitly wants the automated review pipeline to execute.
If the review produces internal context that future agents need, append a concise handoff note:
uv run python src/vibe3/cli.py handoff append "vibe-review-code: <summary>" --actor vibe-review-code --kind finding
Use --kind finding|blocker|note|next according to the handoff command help. Do not invent unsupported kinds.
Report only actionable findings. Each finding must include:
file/functionSeverity:
Blocking: broken behavior, unsafe automation, shared-state boundary violation, broken machine-consumed output, or failed critical verification.Major: should fix before merge; clear regression risk, missing caller update, missing test for risky behavior, or insufficient evidence for the claim.Minor: real issue with limited blast radius or maintainability risk introduced by the change.Nit: small clarity issue that is genuinely worth mentioning.When using the Codex app's inline review format, emit one ::code-comment{...} per finding with tight line ranges and priority mapped to severity.
If no issues are found, say so plainly and mention remaining test gaps or residual risk.
Lead with findings, ordered by severity. Keep summaries secondary.
Recommended shape:
## Findings
- [Blocking] path:line `function`
- Issue:
- Failure mode:
- Minimal fix:
## Verification
- Passed:
- Not run:
## Verdict
PASS | MAJOR | BLOCK
For brief reviews, a concise findings-first response is enough, but it must still include verification evidence.
development
Use after `vibe init` to verify project configuration completeness. Interactively prompts user to fill missing items. Orchestrates existing commands without adding Python code. Do not use for system-level installation issues (use vibe-onboard instead).
development
Use when the user wants a comprehensive review using the multi-agent team workflow. Applies to PRs, code changes, architecture decisions, and any task requiring team-based analysis.
development
Use when manager has signaled flow terminal state cleanup via handoff indicate. Reads cleanup instructions and executes FlowCleanupService. Do not use for code changes or PR creation.
testing
Use for handling blocked and RFC issues, making decisions that may form ADRs (Architecture Decision Records). Processes problem issues requiring human judgment, dependency resolution, and architectural decisions. Do not use for routine issue monitoring (use vibe-orchestra) or roadmap planning (use vibe-roadmap).