reviewing-code
Skill19 starsChanged 8 months agoMITView on GitHub
Code review methodology for evaluating implementation changes. Use when reviewing code changes for quality, design, correctness, and maintainability. Focuses on changes made during implementation using Conventional Comments for clear, actionable feedback.
15 other projects use a version of this.
Adopted by
Most recently taken up by
- RiccardoGrin/skillstheir own version, first seen Nov 8, 2026
- gabrielbauman/skillstheir own version, first seen Nov 1, 2026
- bbeny123/pragmatheir own version, first seen Nov 1, 2026
- bostonaholic/skillstheir own version, first seen Oct 25, 2026
- vadimvitvickiy/vv-agent-kittheir own version, first seen Oct 20, 2026
- mhihasan/agentic-sdlctheir own version, first seen Oct 15, 2026
Used with
Projects with it also use auditing-security, writing-tests and 1 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.
witi-projectsSkillauditing-security
Perform a systematic security audit of a codebase, checking for OWASP Top 10 vulnerabilities, secrets exposure, and insecure patterns. Use when the user says "/auditing-security", "auditing security", or asks about auditing security.
Also in 4 projects that use this
MicrosoftSkillwriting-tests
Apply this repository's test policy when you add or change tests. Test public behavior through public APIs and test utilities. Keep tests deterministic, fast, and independent of real I/O. Use unit tests for implementation details that public APIs cannot exercise.
Also in 4 projects that use this
BlockSkilldebugging
Debugging guidelines and best practices
Also in 3 projects that use this
Other versions15 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 15
- RiccardoGrin/skills★ 5same name
- mykaarma/kaarma-skills★ 4same name
- bbeny123/pragma★ 2same name
- bostonaholic/skills★ 2same name
- Cristhianzl/pocket-claude★ 2same name
- witi-projects/Skills★ 2same name
- gabrielbauman/skills★ 1same name
- gregoryfoster/skills★ 1same name
- mhihasan/agentic-sdlc★ 1same name
- ZeroTokenClaw/agents-skills★ 1same name
5 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.
In this repository16 other files it gives its agents.
- AGENTS.mdAGENTS.md
- brainstormingSkill
- documenting-decisionsSkill
- finishing-workSkill
- git-worktreesSkill
- implementing-plansSkill
- parallel-agentsSkill
- receiving-code-reviewSkill
- researching-codebaseSkill
- research-plan-implementSkill
- security-reviewSkill
- synthesizing-researchSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
- verification-before-completionSkill
- writing-plansSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 8 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 15 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
Follow this order - don't jump to nits.
- Distinctive: line 29
Read the implementation plan if available
- Distinctive: line 62
Always name patterns explicitly.
- Distinctive: line 113
Use Conventional Comments syntax
- Distinctive: line 239
APPROVE: - No blocking issues, code is ready
- Distinctive: line 244
APPROVE WITH NITS: - Only non-blocking suggestions
- Distinctive: line 252
Should address issues before proceeding
- Distinctive: line 258
When called from implementation phase:
“Common” is measured: kept by at least 6 in 10 of the 15 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
Code Review Methodology
Deep code reviews that protect architecture, catch correctness issues, and provide mentoring-quality feedback using Conventional Comments.
Purpose
This skill provides methodology for reviewing code changes introduced during implementation. Unlike full codebase audits, this focuses on the delta - what was added or modified - to catch quality issues before they're committed.
Review Workflow
Follow this order - don't jump to nits.
1. Understand Context
- What problem is this solving?
- Is there a linked ticket/design doc?
- Read the implementation plan if available
2. Scan High Level
- Files/directories touched
- New public APIs or endpoints
- New dependencies
- Migrations and data changes
- Size check: 200-400 lines optimal, >1000 recommend splitting
3. Evaluate Correctness
- Does it solve the described problem?
- Edge cases and error conditions handled?
- Assumptions explicit?
- Race conditions considered?
4. Evaluate Design
- Aligns with existing architecture?
- New pattern where existing one would work?
- Local change or architecture decision in disguise?
Pattern Recognition:
| Smell | Pattern to Suggest |
| Long method | Compose Method |
| Type-based conditionals | Replace Conditional with Polymorphism |
| Duplicate algorithm structure | Form Template Method |
| Scattered null checks | Introduce Null Object |
| Type field drives behavior | Replace Type Code with State/Strategy |
Always name patterns explicitly.
SOLID Quick Check:
| Principle | Red Flag |
| SRP | Class has multiple unrelated responsibilities |
| OCP | Must modify existing code to add behavior |
| LSP | Subclass changes expected behavior |
| ISP | Fat interface forces unused dependencies |
| DIP | High-level depends on low-level details |
5. Evaluate Tests
- Tests for critical paths and edge cases?
- Tests read like specifications?
- Stable, isolated, fast?
Red Flags:
- Testing private methods instead of behavior
- Mocking what can be used for real (never mock what you can use for real)
- Tests slower than necessary
- Missing edge case coverage
6. Evaluate Security (Lightweight)
Note obvious security concerns for security-reviewer to examine in depth:
- User input crossing trust boundaries?
- Authorization and privacy concerns?
- Secrets handling?
Defer detailed security analysis to the security-reviewer agent.
7. Evaluate Operability
- Logging, metrics, traces where needed?
- Clear error messages?
- Impact on alerts and SLOs?
- Failure modes understood?
8. Evaluate Maintainability
- Can a mid-level engineer understand this?
- Coupling and cohesion appropriate?
- Naming, structure, comments carry weight?
- Future changes considered?
9. Provide Feedback
- Use Conventional Comments syntax
- Classify blocking vs non-blocking
- Explain why each point matters
- Include at least one praise per review
- End with clear verdict
Conventional Comments
<label> [decorations]: <subject>
[discussion]Labels
| Label | Use For |
praise: | Highlight positives (aim for 1+ per review) |
nitpick: | Trivial preferences (non-blocking) |
suggestion: | Propose improvement with what and why |
issue: | Concrete problem (pair with suggestion) |
todo: | Small necessary changes |
question: | Need clarification |
thought: | Non-blocking future ideas |
chore: | Process tasks before acceptance |
Decorations
(blocking)- Must resolve before merge(non-blocking)- Helpful but not required(security),(performance),(tests),(readability),(maintainability)
Examples
[src/validation.ts:34]
**praise**: Clean extraction of validation logic improves readability.[api/users.py:127]
**issue (blocking)**: Missing null check before accessing user.email.
Add guard clause or use optional chaining.[handlers/payment.js:89-105]
**suggestion (non-blocking, readability)**: Nested conditionals hard to scan.
Consider early returns to flatten. Classic Compose Method pattern (Fowler).[core/processor.go:234]
**question**: Is this on the hot path? If so, consider allocation cost in loop.Principle-Based Review
Apply first principles and attribute by name for shared vocabulary:
**issue (blocking, design)**: This mutates shared state. Following Rich Hickey's
immutability principle, return new value from pure function instead.**suggestion (non-blocking)**: Following Ousterhout's principle, pull this
complexity into the implementation. Simplify the interface.**issue (blocking)**: Subclass overrides parent method but changes expected behavior.
This violates Liskov Substitution - callers can't safely substitute implementations.Principles to apply:
- Rich Hickey: Simple, immutable data structures; pure functions
- John Carmack: Direct implementation; avoid unnecessary abstraction
- Joe Armstrong: Isolate failures; rigorous error handling
- Barbara Liskov: Respect interface contracts; substitutability
- John Ousterhout: Deep modules with simple interfaces
- Donald Knuth: Readability and maintainability above cleverness
Change Size Guidelines
| Lines | Action |
| < 200 | Full detailed review of every line |
| 200-400 | Full detailed review (optimal size) |
| 400-1000 | Focus on critical paths, security boundaries, architecture; suggest splitting |
| > 1000 | Architectural review only; strong recommendation to split |
For large changes:
**suggestion (blocking)**: This change (1,450 lines) exceeds reviewable size.
Please split per atomic change principle (200-400 lines optimal).
Providing architectural review only until split.Report Format
## Code Review: $ARGUMENTS
### Summary
[Brief overview of changes reviewed and overall assessment]
### Findings
[File location first, then Conventional Comment]
[file:line]
**<label> (<decorations>)**: <subject>
<discussion>
### Verdict
[APPROVE / APPROVE WITH NITS / REQUEST CHANGES]
### Rationale
[Brief explanation of verdict decision]Verdict Criteria
APPROVE - No blocking issues, code is ready
- Implementation may proceed to security review
- Note any minor items for awareness
APPROVE WITH NITS - Only non-blocking suggestions
- Implementation may proceed
- Suggestions are improvements, not blockers
- Author may address at their discretion
REQUEST CHANGES - Blocking issues present
- Should address issues before proceeding
- Provide specific remediation for each blocking issue
- User may choose to proceed anyway (soft gate)
Integration with Implementation
When called from implementation phase:
- Review all changes made during implementation
- Reference the plan to understand intended behavior
- Focus on quality implications of the changes
- Report findings clearly with actionable recommendations
- Soft-gate completion if blocking issues found (user can override)
- Security concerns flagged here will be examined by security-reviewer next
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.

