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/go.mdreferences/python.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:
GitNexus is useful for PRs, broad diffs, public API changes, and missed caller/test coverage:
codegraph is useful for dependency/call blast radius and high fan-in surfaces:
Security:
Correctness:
Tests:
Reliability:
Performance:
Maintainability:
Docs:
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 | GitNexus | codegraph | both — <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
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, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
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.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).