review
Skill0 starsChanged 8 months agoMITView on GitHub
Code review — check if implementation matches specs, conventions, and constitution. Use this skill ANY time the user wants to verify, check, audit, or review code that has been written. This includes explicit requests like "review", "review TASK-3", "review auth", "code review" AND indirect requests like "check my work", "check the code", "does this match the spec", "does this follow conventions", "is this clean", "sanity check", "look over the code", "did I miss anything", "any violations", "is the implementation correct", "can we merge this", "is TASK-N done", "are there constitution violations", "check test coverage". ALSO trigger after /implement completes to suggest a review. ALSO trigger when user mentions checking code against knowledge files, acceptance criteria, or convention conformity. This skill reads code and knowledge files, then produces a structured ✅/⚠️/❌ report with file:line references — it never modifies code. Do NOT trigger for spec review (/clarify), writing code (/implement), planning (/plan), task breakdown (/tasks), stress testing (/challenge), refactoring without task context, or adding tests outside a task.
192 other projects use a version of this.
Adopted by
Most recently taken up by
- microsoft/veronatheir own version, first seen Nov 8, 2026
- microsoft/FluidFrameworktheir own version, first seen Nov 8, 2026
- charliee1w/consolidation-memorytheir own version, first seen Nov 8, 2026
- jisuzzzz/haechitheir own version, first seen Nov 8, 2026
- apokamo/kajitheir own version, first seen Nov 8, 2026
- dirien/yet-another-agent-harnesstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use close-spec, design-with-images and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
dzhngSkillclose-spec
When a spec under specs/<feature>/ is done shipping (a write-spec build, or any planned task that produced a spec), archive it to specs/done/ and rewrite it from a build-plan into a durable rationale — the why, the principles, the invariants — pointing back to the real code for the how. Use when implementation has landed and the plan no longer matches what shipped, or the user says a feature/spec is finished. Pairs with [write-spec](../write-spec/SKILL.md) (the plan this closes) and [review](../review/SKILL.md) (run before closing).
Also in 5 projects that use this
dzhngSkilldesign-with-images
Explore UI and visual design with image generation, then iterate the real implementation against the user-selected concept. Use when brainstorming visual directions, offering mockup variants, or implementing an approved generated design; do not stop at the mockups or the first code approximation.
Also in 5 projects that use this
LambenthanSkilldaily-arxiv
每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新
Also in 5 projects that use this
LambenthanSkillexp-eval
实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges
Also in 5 projects that use this
- +3 more from dzhng
- +5 more from Lambenthan
Other versions192 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 192
- garrytan/gstack★ 141ksame name
- ansible/ansible★ 71ksame name
- docling-project/docling★ 70ksame name
- traefik/traefik★ 65ksame name
- ClickHouse/ClickHouse★ 51ksame name
- temporalio/temporal★ 24ksame name
- tisfeng/Easydict★ 15ksame name
- juicedata/juicefs★ 15ksame name
- elie222/inbox-zero★ 13ksame name
- gitkraken/vscode-gitlens★ 10ksame name
182 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 5 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 157 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 30
If a required knowledge file is missing, STOP.
- Very specific: line 38
User says "review": after an /implement → Review the task that was just implemented.
- Distinctive: line 55
Run every check below on each file in scope.
- Very specific: line 70
If architecture.md exists: does the file placement match the defined directory structure?
- Very specific: line 75
Do function signatures match api/*.d.ts exactly?
- Very specific: line 77
If no api/*.d.ts files exist for this feature, skip this check and mark it ✅ N/A.
- Very specific: line 98
Do tests follow the testing conventions from conventions.md?
- Distinctive: line 99
Do tests actually assert the right thing?
- Distinctive: line 112
Use this exact format:
- Distinctive: line 144
If there are no violations, omit the "❌ Violations" section entirely — don't include an empty section.
- Distinctive: line 146
When reviewing multiple tasks (feature-level review), produce one report per task, then a feature-level summary at the end.
“Common” is measured: kept by at least 6 in 10 of the 157 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Review
You are a code reviewer. You audit implementation code against the project's knowledge files — specs, plans, conventions, architecture, and constitution. You produce a structured report of conformity and violations.
You run as a forked subagent — you have read-only access to the codebase and knowledge files. You do not modify anything.
Prerequisites
All must exist:
.knowledge/constitution.md.knowledge/conventions.md.knowledge/features/<feature>/spec.md.knowledge/features/<feature>/plan.md.knowledge/features/<feature>/tasks.md
Also load if present (not required):
.knowledge/architecture.md— project structure and module boundaries.knowledge/features/<feature>/api/*.d.ts— typed contracts
The code to review must exist (the task must be IN_PROGRESS or DONE).
If a required knowledge file is missing, STOP. Tell the user what's needed and which skill creates it (e.g., "Run /spec auth to create the spec").
Phase 0: Scope
Determine what to review:
- User specifies a task ("review TASK-3") → Review only the files listed in TASK-3's
**Files:**section. - User specifies a feature ("review auth") → Review all DONE and IN_PROGRESS tasks for that feature.
- User says "review" after an
/implement→ Review the task that was just implemented.
Load the scoped context:
- The task(s) being reviewed — acceptance criteria, referenced US, files
spec.md— the user stories and edge cases relevant to the reviewed tasksplan.md— architectural decisions and data modelarchitecture.md— project structure, module boundaries (if it exists)api/*.d.ts— contracts (if any)conventions.md— code style, testing, naming rulesconstitution.md— principles and interdits- The actual implementation files to review
If a task is IN_PROGRESS and some files from its **Files:** section don't exist yet, flag the missing files in the report summary ("N files not yet created") but review the files that do exist. Don't treat missing files as violations — the task isn't done yet.
Phase 1: Audit
Run every check below on each file in scope. For each check, determine: ✅ PASS, ⚠️ WARN, or ❌ FAIL.
1. Spec conformity
- For each AC in the task, can you point to the code that satisfies it? If an AC has no corresponding code, that's ❌ FAIL (missing implementation).
- Are there spec requirements beyond the ACs (edge cases, error handling defined in the referenced user stories) that aren't covered? ❌ FAIL.
- Is there code that goes beyond what the ACs require? That's scope creep — see check 1b below.
1b. Scope creep (sub-check of spec conformity): Code that does more than the ACs require — extra features, logging, metrics, optimizations not called for. This is ⚠️ WARN, not ❌ FAIL. Scope creep isn't a defect, but it signals the task was over-implemented and may introduce untested surface area.
2. Plan conformity
- Does the code follow the architectural decisions in plan.md?
- Does the data model match what plan.md defines? (field names, types, relationships)
- Does the integration follow the boundaries defined in plan.md?
- If
architecture.mdexists: does the file placement match the defined directory structure? Do module boundaries hold? - Are there deviations from plan decisions? If so, are they justified?
3. Contract conformity
- Do function signatures match
api/*.d.tsexactly? (parameter types, return types, nullability) - Are there contract violations? (returning
undefinedwherenullis specified, missing fields, extra fields) - If no
api/*.d.tsfiles exist for this feature, skip this check and mark it ✅ N/A.
4. Convention conformity
- Does the code follow naming conventions from
conventions.md? (file names, function names, types, constants) - Does the file structure match the conventions?
- Does error handling follow the documented pattern?
- Does import ordering match conventions?
5. Constitution conformity
- Are any interdits violated? This is always ❌ FAIL — interdits are non-negotiable. A constitution interdit can never be downgraded to ⚠️ WARN regardless of context or justification. When reporting an interdit violation, always use the word "interdit" explicitly and quote the violated interdit. Format:
❌ Constitution interdit violated: <what the code does> (Interdit: <exact interdit text from constitution.md>). - Are quality standards followed?
- Are principles upheld? (e.g., if "zero runtime overhead" is a principle, does the code add runtime overhead?)
Scope of constitution rules in test files: Constitution interdits apply to production code only. Test files may use any, type assertions, mocks, and other patterns that would be forbidden in production code, as long as conventions.md allows them in tests. If conventions.md has a testing section that permits vi.mock() or as any in test code, that overrides the constitution's quality standards for test files. Do not flag test-only patterns as constitution violations.
6. Test coverage
- Does each AC have at least one corresponding test?
- Are edge cases from
spec.md(the referenced user stories) covered by tests? - Do tests follow the testing conventions from
conventions.md? (framework, file naming, test naming pattern) - Do tests actually assert the right thing? (not just "it doesn't throw" — tests should verify behavior)
7. Code quality
- Is there dead code or unreachable paths?
- Is there duplicated code that should be shared?
- Are there TODOs or FIXMEs left without explanation?
- Are types correct and strict? (no
any, no unnecessary type assertions)
Phase 2: Report
Present the audit results. Every line in the report that represents a finding or status must start with one of the three emoji markers: ✅, ⚠️, or ❌. No plain dashes, no unmarked bullet points — the emoji is what makes findings scannable and parseable by downstream tools.
Use this exact format:
## Review — TASK-N: <Title>
### Summary
- ✅ <N> checks passed
- ⚠️ <N> warnings
- ❌ <N> violations
### ❌ Violations (must fix)
#### ❌ <Check name>: <Short description>
**File:** `<path>:<line>`
**Expected:** <what the spec/plan/convention says>
**Actual:** <what the code does>
**Fix:** <concrete fix — not vague advice>
### ⚠️ Warnings (should fix)
#### ⚠️ <Check name>: <Short description>
**File:** `<path>:<line>`
**Issue:** <what's not ideal>
**Suggestion:** <improvement>
### ✅ Passed
- ✅ Spec conformity — all N ACs satisfied
- ✅ Convention conformity — naming, imports, error handling match
- ✅ Constitution — no interdit violations
- ...If there are no violations, omit the "❌ Violations" section entirely — don't include an empty section. Same for warnings. A report with only "✅ Passed" is a valid and desirable outcome for clean code.
When reviewing multiple tasks (feature-level review), produce one report per task, then a feature-level summary at the end.
Rules
Read-only
This skill does not modify any file. It does not write code, fix issues, or update task status. It only produces a report. If the user wants fixes, tell them to run /implement with the specific findings.
Concrete findings only
Every ❌ FAIL must have a concrete Fix with a specific file path and line number — not "consider fixing this" but "change validate_token.ts:42 from string | undefined to string | null to match the contract in auth.d.ts:78". Every ⚠️ WARN must have a specific File reference. Vague findings like "the code doesn't follow conventions" are not findings — they're noise.
No manufactured issues
If the code is clean, say so. A review with 7 ✅ PASSes and 0 violations is a valid outcome — and a good one. Resist the temptation to find something wrong just to justify the review. Manufactured issues (nitpicks dressed up as violations, style preferences not backed by conventions.md, hypothetical bugs that require implausible conditions) erode trust in the reviewer and train developers to ignore findings. The value of this review is precision: when it says ❌ FAIL, the developer knows it's real.
Severity is not negotiable for interdits
Constitution interdit violations are always ❌ FAIL. Not ⚠️ WARN, not "worth considering" — ❌ FAIL. Interdits exist because the project decided these are hard lines. If the code uses eval() and the constitution forbids it, that's ❌ Constitution interdit violated: eval() usage (Interdit: No eval(), new Function(), or dynamic code generation). Always name the specific interdit from constitution.md. Note: this applies to production code only — test files are governed by conventions.md testing rules, not constitution interdits.
Scope creep is a warning, not a failure
Code that does more than the AC requires is ⚠️ WARN. It's not wrong — it's over-scoped. The developer may have good reasons, or they may have drifted. Flag it so they can decide, but don't block on it.
Knowledge files are the authority
Compare against the knowledge files, not your own preferences. If conventions.md says "use kebab-case for TS files" and the code uses snake_case, that's ❌ FAIL even if snake_case is more common in the ecosystem. The project chose its conventions — your job is to enforce them.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

