Review Conventions
Shared knowledge preloaded into review agents. Apply these conventions when reviewing code.
Project context
This reference stays generic so it can run in any repository. Read an
applicable CLAUDOPS.md, manifests, CI configuration, source layout, and
existing code before applying project-specific review rules. Use the project's
own language, framework, layers, test commands, and documentation locations;
leave unknowns explicit. {{...}} markers are historical template notation,
never runtime defaults or executable paths.
Architecture Rules
Review boundaries and dependencies as the target project defines them. Use its
architecture vocabulary where it already has one; do not rename service,
API, module, or similar identifiers merely to fit this reference.
Code Standards
- Prefer project-established type/interface conventions
- Preserve local naming and type conventions; apply language-specific rules such
as underscore prefixes or
any only when the repository's tooling establishes
them.
- Secrets never logged; environment vars flow only through config providers
- Database queries use parameter binding — no dynamic SQL or string interpolation
Review Quality Rules
Reviews run in two stages so we get recall AND precision:
Find stage (this skill) — report every issue you notice, including low-severity
and uncertain ones. For each finding, include:
severity: CRITICAL | MAJOR | MINOR | INFO
confidence: high | medium | low
location: file:line
suggestion: concrete fix or next step
Do not self-censor based on severity or confidence — a later verification pass
will filter before anything reaches the user.
Presentation — consolidate repeats ("5 functions missing error handling" with
a list, not 5 separate findings). Explain why each issue matters. Highlight
positive practices alongside problems.
Sizing & Comment Hygiene
Norms from Google's engineering practices guide:
Change sizing — a reviewable change is small (~100 lines is a healthy target). If the diff is large and not mechanically generated, flag it and suggest splitting; a 1000-line PR gets a worse review, not a better one.
The standard is "improves code health" — approve a change that improves the codebase even if it isn't perfect. Don't block on personal preference; block on real problems.
Mark non-blocking comments — prefix advisory notes (Nit:, Optional:, FYI:) so the author can tell what must change from what's a suggestion. Severity inflation trains authors to ignore you.
Primary scope: only review files in changed_files
Use full_diff to focus on changed lines
You may read unchanged files for context (interfaces, contracts), but don't raise
findings against unchanged code — the author isn't touching it in this PR.
Skip pre-existing issues unless the current changes make them worse (e.g., a bug
that used to be in dead code is now reachable).
Ownership Boundaries
Each agent owns specific concerns — do not duplicate other agents' work:
| Concern |
Owner |
| Spec requirements match |
spec-compliance-reviewer |
| Architecture fit, layers, module boundaries |
senior-architecture-reviewer |
| Security, auth, injection, OWASP |
security-code-reviewer |
| Code quality, naming, DRY, complexity |
code-quality-reviewer |
| Test coverage and quality |
test-coverage-reviewer |
| Documentation accuracy |
documentation-accuracy-reviewer |
| Performance, N+1, memory |
performance-reviewer |
If you spot something outside your scope, note it as a one-line INFO finding with
the likely owner (e.g. "possible security concern — flag for security-code-reviewer")
and move on.
Project File Locations
- Architecture docs: resolve from the repository's documented location or
changed-file references; do not assume a
docs/ subdirectory.
- Product docs (PRDs, JTBDs):
product-docs/
- Task documents: resolve through
../setup/references/task-context.md; preserve
repository conventions such as tasks/<task-dir>/tech-decomposition*.md
- Test structure: infer from the repository's existing test layout and CI.
1---2name: review-conventions3description: Internal reference skill — shared conventions for all code review agents. Not user-invocable.4---56# Review Conventions78Shared knowledge preloaded into review agents. Apply these conventions when reviewing code.910## Project context1112This reference stays generic so it can run in any repository. Read an13applicable `CLAUDOPS.md`, manifests, CI configuration, source layout, and14existing code before applying project-specific review rules. Use the project's15own language, framework, layers, test commands, and documentation locations;16leave unknowns explicit. `{{...}}` markers are historical template notation,17never runtime defaults or executable paths.1819## Architecture Rules2021Review boundaries and dependencies as the target project defines them. Use its22architecture vocabulary where it already has one; do not rename `service`,23`API`, `module`, or similar identifiers merely to fit this reference.2425## Code Standards2627- Prefer project-established type/interface conventions28- Preserve local naming and type conventions; apply language-specific rules such29 as underscore prefixes or `any` only when the repository's tooling establishes30 them.31- Secrets never logged; environment vars flow only through config providers32- Database queries use parameter binding — no dynamic SQL or string interpolation3334## Review Quality Rules3536Reviews run in two stages so we get recall AND precision:37381. **Find stage (this skill)** — report every issue you notice, including low-severity39 and uncertain ones. For each finding, include:40 - `severity`: CRITICAL | MAJOR | MINOR | INFO41 - `confidence`: high | medium | low42 - `location`: `file:line`43 - `suggestion`: concrete fix or next step44 Do not self-censor based on severity or confidence — a later verification pass45 will filter before anything reaches the user.46472. **Presentation** — consolidate repeats ("5 functions missing error handling" with48 a list, not 5 separate findings). Explain why each issue matters. Highlight49 positive practices alongside problems.5051## Sizing & Comment Hygiene5253Norms from Google's [engineering practices guide](https://google.github.io/eng-practices/):5455- **Change sizing** — a reviewable change is small (~100 lines is a healthy target). If the diff is large and not mechanically generated, flag it and suggest splitting; a 1000-line PR gets a worse review, not a better one.56- **The standard is "improves code health"** — approve a change that improves the codebase even if it isn't perfect. Don't block on personal preference; block on real problems.57- **Mark non-blocking comments** — prefix advisory notes (`Nit:`, `Optional:`, `FYI:`) so the author can tell what must change from what's a suggestion. Severity inflation trains authors to ignore you.5859- Primary scope: only review files in `changed_files`60- Use `full_diff` to focus on changed lines61- You may read unchanged files for context (interfaces, contracts), but don't raise62 findings against unchanged code — the author isn't touching it in this PR.63- Skip pre-existing issues unless the current changes make them worse (e.g., a bug64 that used to be in dead code is now reachable).6566## Ownership Boundaries6768Each agent owns specific concerns — do not duplicate other agents' work:6970| Concern | Owner |71|---------|-------|72| Spec requirements match | `spec-compliance-reviewer` |73| Architecture fit, layers, module boundaries | `senior-architecture-reviewer` |74| Security, auth, injection, OWASP | `security-code-reviewer` |75| Code quality, naming, DRY, complexity | `code-quality-reviewer` |76| Test coverage and quality | `test-coverage-reviewer` |77| Documentation accuracy | `documentation-accuracy-reviewer` |78| Performance, N+1, memory | `performance-reviewer` |7980If you spot something outside your scope, note it as a one-line INFO finding with81the likely owner (e.g. "possible security concern — flag for `security-code-reviewer`")82and move on.8384## Project File Locations8586- Architecture docs: resolve from the repository's documented location or87 changed-file references; do not assume a `docs/` subdirectory.88- Product docs (PRDs, JTBDs): `product-docs/`89- Task documents: resolve through `../setup/references/task-context.md`; preserve90 repository conventions such as `tasks/<task-dir>/tech-decomposition*.md`91- Test structure: infer from the repository's existing test layout and CI.