tests/fixtures/golden_skills/reviewing-code/claude/SKILL.md
Code review covering security, correctness, quality, tests, implementation, and documentation. Use when the user asks to review code, check changes, audit a PR or diff, or find line-level refactoring opportunities. NOT for repo-wide architecture review, codebase analysis, fixing issues (use fixing-code), 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.
Review changed code for security, correctness, test coverage, maintainability, and documentation. Ground every finding in concrete evidence: a file:line reference or tool output.
If a task-tracking facility is available, track these phases as tasks.
This skill produces findings, not edits. It owns the tiered-findings output contract below. Emit the findings regardless of role; route the actual fixes to fixing-code or the refactor to refactoring-code. A reviewer (read-only) cannot run git diff or builds — work from the files in scope plus any diff context the caller supplies, and ask for that context if it is missing rather than guessing.
Track progress through the workflow phases using TaskCreate / TaskUpdate.
If $ARGUMENTS is passed, the keywords below tune the workflow:
deep — cover all six review dimensions, not just the security and correctness pair.team — fan the dimensions to parallel reviewer sub-tasks that challenge each other's findings and converge.external — additionally spawn external AI reviewers. Only when explicitly requested; never run by default.Without external, run only this skill's own review. Never spawn external reviewers implicitly.
Resolve the scope from the request. Options:
If a role with Bash is running this, resolve to the appropriate git invocation and use it consistently across phases. If a read-only role is running this, work from the file list and diff context the caller provides. If the user already named a scope, use it without asking; otherwise ask one clarifying question.
Use AskUserQuestion with header "Review scope" and the three options spelled out above.
Scan the changed-file extensions. For each language present, load the matching reference for language-specific review checks:
Mixed languages: load each matching reference. Unknown or unsupported language: use the generic dimensions below only and note the reduced coverage.
Walk every dimension across the scope. For a standard review, cover the security and correctness dimensions; for a thorough review, cover all six. If the runtime supports parallel sub-tasks and the scope is large, the orchestrator may fan the dimensions out, but the rubric is identical either way.
Run the dimensions as the read-only reviewer role. For large scope, the orchestrator may fan them out as parallel Task(subagent_type="reviewer", prompt=...) sub-tasks, one per dimension or per file group; each sub-task's model is set in its own metadata — do not pin a model from the skill.
When team is set, run those sub-tasks as an agent team so they challenge each other's findings; the report prefixes each finding with [Flagged by: <dimension>].
When external is set, additionally spawn any configured external-AI reviewer bridges in parallel for a second-model pass on security and quality. Do not hard-depend on a specific external agent; skip silently if none is configured.
file:line evidence or tool output for every finding. No evidence, no finding.If cross-session memory tooling is available, query for prior observations on the files about to be reviewed. Skip already-litigated issues so old findings are not repeated. Skip silently if no such tooling is configured.
If mcp__plugin_claude-mem_mcp-search__search is available, query for past findings on the files in scope:
search({ query: "<file paths in review scope>", limit: 10 })
Fetch full observations via get_observations for relevant hits. Skip already-litigated issues. Skip silently if the MCP is not installed.
## Code Review Summary
**Scope**: <description>
**Languages**: <list>
### Critical (must fix)
- `file:line` — issue. Fix.
### Warnings (should fix)
- `file:line` — issue. Fix.
### Suggestions (consider)
- `file:line` — improvement.
### Summary
Overall assessment in 2-3 sentences, then a prioritized list of recommended actions.
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).