원클릭으로
code-review
Load before any code review. Required by the reviewer agent — covers what to examine, smell categories, complexity thresholds, dead code signals, and a three-tier severity model.
메뉴
Load before any code review. Required by the reviewer agent — covers what to examine, smell categories, complexity thresholds, dead code signals, and a three-tier severity model.
Load before planning or routing any task. Required by mission-control — maps task archetypes to ordered sequences of specialist agents, with handoff context and success criteria for each step.
Load before reviewing any phase. Required by all internal reviewer agents — covers adversarial review philosophy, the approve/reject verdict contract, and escalation policy.
Load when operating as a sub-agent invoked via the agent tool — covers handoff mode detection, autonomous execution, clarification protocol, and the minimum completion report contract.
Load before running a comprehensive review. Covers scope resolution, pre-flight tool checks, parallel specialist dispatch, synthesis, and output format.
Recipe reference for installing tools in the container environment. Used by bootstrap and specialist reviewer agents to look up the correct install command for any tool.
Load before any API or CLI interface review. Required by the api-reviewer agent — covers REST naming, HTTP semantics, error consistency, breaking changes, CLI conventions, pagination, auth, and a three-tier severity model.
| name | code-review |
| description | Load before any code review. Required by the reviewer agent — covers what to examine, smell categories, complexity thresholds, dead code signals, and a three-tier severity model. |
| license | AGPL-3.0-or-later |
| allowed-tools | read |
A code review examines the change at hand for correctness, maintainability, and fitness for purpose. Findings are graded by severity so the most important issues are addressed first. This skill does not cover SOLID or GRASP violations — those are defined in /design-principles, which you should load alongside this skill.
processData is a mechanism name; applyDiscountRules is an intent name.isExpired, hasPermission, not expired, permission.See the Complexity Thresholds section below.
/design-principles for SOLID and GRASP violation signals that produce coupling.See the Dead Code Signals section below.
Apply these to the diff under review. For each smell category, the signal tells you what to look for in the code.
Code constructs that have grown too large to work with comfortably.
float64, float64 instead of a Point type.Smells that make changes expensive by coupling unrelated code.
Smells that express unhealthy dependencies between classes.
a.getB().getC().doSomething() — the caller is tightly coupled to the entire object graph.Things that add noise without adding value.
Incorrect or incomplete application of OO principles.
/design-principles.These are split candidates, not absolute limits. Context matters, but a function that exceeds these warrants examination.
| Measure | Threshold | Action |
|---|---|---|
| Cyclomatic complexity (CC) | > 10 per function | Split into smaller functions; extract conditions |
| Function length | > 20 lines | Extract behaviour into named helper functions |
| Class / file length | > 200 lines | Extract Class or split file |
| Parameter count | > 4 | Introduce Parameter Object or use named options |
| Nesting depth | > 3 levels | Extract condition into named boolean; early-return |
knip or ts-prune, vulture, PMD, Roslyn analysers, clang-tidy, deadcode, cargo-udeps).Every finding must be assigned exactly one severity level.
Correctness, security, or data loss risk. The change must not be merged until these are resolved.
Examples: incorrect error handling that causes data corruption; an authentication bypass; a race condition; a nil dereference that will panic under normal use; a dependency with a known critical CVE.
Quality or maintainability issue. The code works today but becomes a problem tomorrow. These should be addressed before or shortly after merge.
Examples: a method that exceeds the complexity threshold; duplicate logic that will diverge; missing test coverage for an error path; a stale doc comment.
Minor or informational. Low-priority improvements worth capturing. Address in a subsequent tidy pass.
Examples: a variable name that could be more descriptive; a trivial redundancy; a micro-optimisation opportunity; a code style inconsistency.
Group findings by severity (Blocking first). Within each severity group, order by file, then by line number.
For each finding:
**[SEVERITY] location** (file:line or file:function)
Description: what the issue is.
Why it matters: the consequence if left unaddressed.
Direction: the general approach to resolution — not an implementation.
Do not write code patches. Do not rewrite the code under review. Provide direction, not implementation.
If no findings exist in a severity tier, omit that tier from the output rather than writing "No Blocking findings."