skills/code-review/SKILL.md
Use for code/PR review, audits, bug/security checks, reviewing diffs or changes, and finding issues in code.
npx skillsauth add paulrberg/dot-agents code-reviewInstall 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.
Find high-impact defects in changed code with evidence. Prioritize correctness, security, data integrity, shell/config safety, and regressions over style nits.
--fix: Build findings internally, apply suggested fixes in severity order, then produce one final report and verify per the Verification section. Do not emit a separate pre-fix report.--with-profile <name>: Force an optional domain profile by stem or filename (e.g. --with-profile shell). Repeatable.--skip-profile <name>: Skip an optional domain profile by stem or filename (e.g. --skip-profile naming). Repeatable. If both --with-profile and --skip-profile name the same profile, skip wins.Resolve scope once, then treat the result as fixed for the rest of the run.
git rev-parse --git-dir. If this fails, stop and tell the user to run from a git repository.resolved-scope fenced block with one repo-relative path per line — scope is exactly those targets. Map natural-language subsets to concrete paths before continuing.git diff --name-only --diff-filter=ACMRgit ls-files --others --exclude-standardexcluded-scope, one repo-relative path or glob per line, and cover them through verification or invariant checks.resolved-scope, one repo-relative path per line. The block is authoritative: do not re-run scope commands or revisit exclusions afterward.excluded-scope block as outside manual review but inside verification planning.--with-profile and --skip-profile.--fix: apply all suggested fixes in severity order (CRITICAL -> HIGH -> MEDIUM -> LOW), then verify per the Verification section. The first user-facing findings report is the final report after fixes.Produce the Report section below.
Treat the user's request as the boundary for judging the diff.
Apply on every run.
CORE-001 Behavior regression (HIGH): changed branch/state transition alters external behavior.CORE-002 Error-path safety (HIGH): failures can cascade, crash, or return unsafe defaults.CORE-003 Boundary handling (HIGH): null/empty/overflow/edge inputs are not handled.CORE-004 Resource hygiene (MEDIUM): leaked timers/listeners/handles/connections.CORE-005 Complexity hotspot (MEDIUM): change introduces avoidable coupling or hidden side effects.CORE-006 Test gap (MEDIUM): changed behavior has no targeted test coverage.CORE-007 Over-scoped change (MEDIUM): changed lines do not trace directly to the user's request or verified cleanup caused by the change.CORE-008 Speculative complexity (MEDIUM): new abstraction, configurability, flexibility, or impossible-case handling adds code without proven need.CORE-009 Weak success criteria (MEDIUM): implementation lacks a clear verification target for the behavior it claims to change.Profile dispatch is risk-triggered and exhaustive. Read every non-skipped profile that materially improves defect discovery for the touched risk surfaces; file extension alone is not enough when core checks cover the change. Read each selected profile once, in full; every profile fits in a single read, so never page through or re-read one.
Honor --skip-profile exclusions first. Add --with-profile profiles after exclusions. Include references/profiles/naming.md unless skipped.
references/profiles/security.md: auth, external input, secrets, crypto, public network surfaces, unsafe parsing.references/profiles/configuration.md: env/config, timeouts, retries, pools, limits, resource tuning, rollout controls.references/profiles/go.md: Go services, CLIs, concurrency, context propagation, error handling, modules, or tests.references/profiles/typescript-react.md: TypeScript/JavaScript/React/Node behavior changes where type, render, runtime, package, or async semantics matter.references/profiles/python.md: Python services, scripts, async workloads, packaging, data processing, or IO-heavy changes.references/profiles/shell.md: shell scripts, CI command blocks, deployment scripts, installer commands, or command quoting.references/profiles/data-formats.md: CSV/JSON/YAML/binary ingestion/export/parsing, schemas, generated data, migrations, or fixture updates.references/profiles/naming.md: naming/intent clarity. Run on every review unless skipped.Run the narrowest checks that validate touched behavior:
excluded-scope outputsRun broader checks only when risk warrants it, especially when fixes touch shared contracts. Name every skipped check and why.
Use these section headings, in this order. Omit sections that do not apply — do not number them and do not leave gaps or placeholders.
Reviewed files and any excluded-scope entries with the validation strategy used for them.
Order by severity: CRITICAL -> HIGH -> MEDIUM -> LOW. For each finding:
[SEVERITY] Title — path/to/file.ext:linehigh | medium | low.Only without --fix.
Only with --fix. List each change with file references.
Commands run and outcomes, including skipped checks.
One line per risk: Assumed <assumption>; if wrong, <what breaks>; check via <command or inspection>. Plain language — expand or gloss domain-specific terms. Include questions that need a user decision, phrased directly. Write None. when there are none.
Stop and ask for direction when:
development
Refactor naming and repository structure exhaustively while preserving behavior and external contracts.
tools
Uses Chrome DevTools via MCP for efficient debugging, troubleshooting and browser automation. Use when debugging web pages, automating browser interactions, analyzing performance, or inspecting network requests. This skill does not apply to `--slim` mode (MCP configuration).
testing
Audit an entire repository with fresh eyes for correctness errors, bugs, omissions, duplication, inconsistencies, and other evidenced mistakes; fix every safe issue and verify the result.
development
Autonomous overnight codebase improvement with bounded runtime, evidence-gated changes, and verification.