dist/claude/plugins/dev-flow/skills/reviewing-code/SKILL.md
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
npx skillsauth add alexei-led/claude-code-config reviewing-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.
Produce findings, not edits. Review only the requested diff, PR, changed files, or file list. If scope or diff context is missing, ask one clarifying question.
Read references/severity-rubric.md before scoring or reporting findings.
Load language references only for languages present in scope:
references/csharp.mdreferences/go.mdreferences/java-kotlin.mdreferences/python.mdreferences/rust.mdreferences/typescript.mdreferences/web.mdUnsupported language: use this skill and the severity rubric only; report reduced coverage.
Default mode is standard unless the user asks otherwise.
Quick:
Standard:
Deep:
Team:
file:line plus claim. Keep the strongest severity only when evidence supports it.External:
Use the user's named scope without asking. Otherwise choose one:
Tool-enabled role: use the matching git or PR command consistently for the whole review. Read-only role: work from supplied diff, file list, and tool output. If that context is absent, ask for it instead of guessing.
If there are no changes in scope, report Nothing to review.
For each scoped language:
A change-history graph tool (such as GitNexus), when installed, is useful for PRs, broad diffs, public API changes, and missed caller/test coverage:
A code dependency graph tool (such as codegraph), when installed, is useful for dependency/call blast radius and high fan-in surfaces:
Security, correctness, tests, reliability, performance, maintainability,
simplicity (over-engineering), and docs. Scope and coverage checklist per
dimension: references/severity-rubric.md.
Simplify focus:
file:line — <tag> <what>. <replacement>. Tags: delete (dead or speculative, nothing replaces it), stdlib / native (name the function or platform feature), yagni (one implementation, inline it), shrink (same logic, fewer lines).net: -N lines possible. Nothing to cut: Lean already. Ship.file:line or quoted tool output.If the user asks for a score, apply references/severity-rubric.md exactly:
Do not invent precision. Use one decimal only when arithmetic needs it.
## Code Review Summary
Scope: <description>
Depth: quick | standard | deep | team | external
Languages: <list>
Coverage: complete | partial — <reason>
Graph evidence: none | <graph tool(s) used> — <freshness/gaps>
External review: not requested | completed | unavailable | skipped — <reason>
Score: <N/10 if requested> — confidence <high|medium|low>
### Critical
- `file:line` — <category>, confidence <level>. <issue> Scenario: <how it fails>. Fix: <concrete fix>.
### Warnings
- `file:line` — <category>, confidence <level>. <issue> Scenario: <how it fails>. Fix: <concrete fix>.
### Suggestions
- `file:line` — <category>, confidence <level>. <improvement>. Fix: <concrete fix>.
### Needs review
- `file:line or tool/context gap` — <missing context and why it matters>.
### Summary
<2-3 sentences with merge risk and next actions. Say "No confirmed findings" when clean.>
Omit empty severity sections except Needs review when it explains partial coverage.
Track phases with TaskCreate and TaskUpdate when available:
If $ARGUMENTS is passed, interpret these keywords:
quick: changed lines plus direct context; security and correctness only.deep: all dimensions from the host skill.team: parallel reviewer sub-tasks, then one consolidated report.external: second-model or external-AI review; only when explicitly requested.Default is standard. Never run external implicitly.
When scope is missing, use AskUserQuestion with header Review scope and these options:
Run sub-tasks as the read-only reviewer role. Split by review dimension or file group. Each sub-task must use the host skill's severity rubric and return only evidence-backed findings.
Consolidate before reporting:
file:line plus claim.[Flagged by: <dimension or file group>] only when it helps explain coverage.When external is requested, spawn configured external reviewer bridges in parallel if available. Do not depend on a specific bridge or model.
Report the result explicitly:
External review: completed when it ran.External review: unavailable when no bridge exists.External review: skipped when privacy, missing scope, or tooling prevents it.Apply the host severity rubric to external output. Do not include external claims as confirmed findings unless the local review can verify the evidence.
If memory search is available, query past observations for files in scope. Use it only to avoid repeating already-litigated findings. Do not treat memory as evidence for a new finding.
tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
development
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
tools
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.