code-review-and-quality
Skill1 starsChanged 30 days agoMITView on GitHub
Conducts multi-axis code review (correctness, readability, architecture, security, performance). Use before merging any change, when reviewing code from yourself, another agent or a human, or when asked to review a diff or pull request, even one pasted inline.
81 other projects use a version of this.
Adopted by
Most recently taken up by
- thistleknot/skillstheir own version, first seen Nov 8, 2026
- xuweizhengo/skills-hubtheir own version, first seen Nov 8, 2026
- ishandutta2007/Awesome-Agent-Skillstheir own version, first seen Nov 8, 2026
- enes-alatas/spooltheir own version, first seen Nov 8, 2026
- MMACABRE/SKILLStheir own version, first seen Nov 8, 2026
- gopalparashar421/agent-skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use constraint-driven-development, deprecation-and-migration and 8 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.
MrCipherSmithSkillconstraint-driven-development
Use when a project needs a persistent, measurable quality bar — starting a project without documented standards, 'set up constraints', or when coverage/perf/a11y thresholds get re-debated per-PR. Produces CONSTRAINTS.md with enforceable numbers, ratchets, and a guard against silent weakening. NOT for throwaway prototypes or a one-off CI setup.
Also in 15 projects that use this
HK-hubSkilldeprecation-and-migration
Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code.
Also in 34 projects that use this
seikaikyoSkilldoubt-driven-development
對非平凡決策啟動新鮮 context 對抗審查(找碴不背書),在修正還便宜的時候抓出錯誤方向。適用:高風險改動(production、資安敏感邏輯、不可逆操作)、不熟的程式碼、要宣稱「這樣是安全的 / 可行的」之前。機械性操作與一行修改不適用。
Also in 37 projects that use this
HK-hubSkillsource-driven-development
Grounds every implementation decision in official documentation. Use when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or library where correctness matters.
Also in 36 projects that use this
seikaikyoSkillinterview-me
需求不明時的意圖萃取訪談:一次一題、每題附上自己的猜測、聽出「真正想要 vs 覺得應該要」,直到能預測使用者反應(約 95% 信心)才動工。適用:需求缺少對象 / 動機 / 成功標準 / 約束,或使用者點名「訪談我」「先確認一下」「我們確定嗎」。明確自足的指示、純資訊查詢、機械性操作不適用。
Also in 37 projects that use this
JetBrainsSkillmodern-web-guidance
Search tool for modern web development best practices. MANDATORY: Execute FIRST for all HTML/CSS and clientside JS tasks. Do NOT skip — web APIs evolve rapidly and training weights contain obsolete patterns.
Also in 3 projects that use this
Other versions81 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 81
- addyosmani/agent-skills★ 114ksame name
- sanity-io/sanity★ 6.4ksame name
- ollaya-dev/ollaya★ 1.4ksame name
- SkafteNicki/dtu_mlops★ 806same name
- epam/ai-dial-chat★ 501same name
- shashankswe2020-ux/whoop-mcp★ 174same name
- muratgur/ordinus★ 111same name
- enes-alatas/spool★ 48same name
- vinvcn/addyosmani-agent-skills-zh★ 46same name
- jmxt3/gitscape.ai★ 33same name
71 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 repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- api-and-interface-designSkill
- browser-testing-with-devtoolsSkill
- buildSkill
- code-simplificationSkill
- debugging-and-error-recoverySkill
- deploySkill
- design-motion-principlesSkill
- exploreSkill
- flow-documentSkill
- front-end-designSkill
- frontend-ui-engineeringSkill
- incremental-implementationSkill
- observability-and-instrumentationSkill
- planSkill
- playwright-cliSkill
- publishSkill
- pushSkill
- security-and-hardeningSkill
- web-design-guidelinesSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 3 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 74 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Project rules first: If the project has .agents/rules/ (installed with the SaaS playbook), read .agents/rules/git.md and …
- Distinctive: line 12
Every change is reviewed before merge.
- Very specific: line 31
No dead artifacts: _unused variables, compat shims, // removed comments.
- Very specific: line 66
Commit first line: short, imperative, standalone ("Delete the FizzBuzz RPC").
- Distinctive: line 70
After a refactor, list code that is now unused or unreachable and ask before deleting: "Should I remove these now-unused elements: [list]?"
- Very specific: line 74
Prefer the standard library and existing utilities.
- Distinctive: line 78
No rubber-stamp "LGTM". Don't soften real bugs.
“Common” is measured: kept by at least 6 in 10 of the 74 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
<!-- Adapted from addyosmani/agent-skills@1401c8b (MIT, see licenses/). Changes: plan-based context, commit-by-commit review, solo-dev adaptations, language-agnostic, trimmed; layered: general guidance here, playbook decisions in .agents/rules/. -->Project rules first. If the project has .agents/rules/ (installed with the SaaS playbook), read .agents/rules/git.md and .agents/rules/testing.md and follow them: they override this skill where they differ. Without them, follow this skill as written.
Code Review and Quality
Every change is reviewed before merge. AI-written code gets more scrutiny, not less. Approve when the change clearly improves code health and follows project conventions, even if it isn't how you'd write it.
Process
- Context. What is the change for? Read the plan step, spec or issue and its acceptance criteria (in a plan, each step's "Done when").
- Tests first. Do tests exist, test behaviour (not implementation), cover edge cases, have descriptive names, and catch a regression? A bug fix must include a regression test. For critical logic (auth, money, permissions, data deletion), prove it: invert one condition the change adds, run the suite, restore the file from a copy. A mutation that stays green is a finding: name the missing test case.
- Implementation, file by file, on the five axes below. Review a large PR commit by commit.
- Label and order findings (table below). Correctness and security first, then structural regressions and missed simplifications, then the rest. A few high-conviction comments beat a long list.
- Check the verification story: which tests ran, build passed, manual check done, screenshots or before/after for UI changes.
The five axes
1. Correctness: matches the spec; edge cases (null, empty, boundaries); error paths; off-by-one, race conditions, inconsistent state; tests test the right thing.
2. Readability and simplicity
- Descriptive names in project style (no bare
data,temp,result). - Straightforward control flow: no nested ternaries, deep callbacks or clever tricks.
- Could it be far shorter? Abstractions must earn their place; don't generalize before the third use.
- Comments explain non-obvious intent only.
- No dead artifacts:
_unusedvariables, compat shims,// removedcomments. - A new conditional bolted onto an unrelated flow is a design problem, not a nit. Repeated conditionals on the same shape mean a missing model or dispatcher.
3. Architecture
- Follows existing patterns; a new pattern must be justified.
- Clean module boundaries, no circular dependencies, no duplication that should be shared.
- Does a refactor reduce complexity or just move it? Count the concepts a reader must hold. Prefer changes that make branches, modes or layers disappear; prefer deleting an abstraction to polishing it.
- Feature logic stays in its owning module, not a shared one. Reuse the canonical helper, not a near-duplicate.
- Explicit type boundaries: question loose catch-all types, unchecked casts, needless optionals, silent fallbacks hiding an unclear invariant.
4. Security (quick pass; deep review is separate: the security-and-hardening skill if installed). Flag unvalidated input, secrets in code or logs, missing auth checks, unparameterized SQL, unencoded output (XSS), untrusted dependencies, and external data (APIs, logs, user content, config) used without boundary validation.
5. Performance. N+1 queries, unbounded loops or fetches, sync work that should be async, needless re-renders or recomputation, unpaginated lists, large objects in hot paths. Measure before claiming a non-obvious slowdown.
Propose the fix, not just the problem
Name a restructuring: replace a conditional chain with a typed model or dispatcher; collapse duplicate branches; separate orchestration from business logic; move feature logic to its owning module; reuse the canonical helper; make a type boundary explicit; delete a pass-through wrapper; extract a helper or split a large file. Prefer the remedy that removes moving pieces.
Presumptive blockers: surface and propose the simpler design for each; escalate to Required only when the change actively makes structure worse: a refactor that relocates complexity; a file pushed past the size boundary with no decomposition; feature logic in a shared module; a near-duplicate of a canonical helper; a silent fallback hiding an unclear invariant.
Severity labels
| Prefix | Meaning |
| Critical: | Blocks merge: security hole, data loss, broken functionality |
| (none) | Required: fix before merge, or the user explicitly accepts or defers it |
| Optional: / Consider: | Suggestion |
| Nit: | Minor style; author may ignore |
| FYI | Context only |
Change size and descriptions
- One commit = one testable chunk (one plan step). Refactors and behaviour changes go in separate commits; small renames can ride along.
- Over ~1000 changed lines: say so in the PR description and review commit by commit. Whole-file deletions and automated refactors may be large.
- ~1000 total lines in one file is a signal. If a change materially grows a large file, decompose first, then add.
- Commit first line: short, imperative, standalone ("Delete the FizzBuzz RPC"); a
Step N:prefix is fine if the rest describes the change. Body: what and why, context not in the code, known shortcomings. Never "Fix bug", "Phase 1", "Moving code".
Dead code
After a refactor, list code that is now unused or unreachable and ask before deleting: "Should I remove these now-unused elements: [list]?"
Dependencies
Prefer the standard library and existing utilities. When a change adds or upgrades a dependency, read references/dependencies.md.
Conduct and final say
- No rubber-stamp "LGTM". Don't soften real bugs. Quantify ("adds ~50ms per item"). Push back on clear problems with alternatives.
- Comment on code, not people. If the author has full context and disagrees, defer.
- Facts beat opinions; project conventions settle style unless they harm code health.
- The user makes the final call on anything not Critical. Deferred work needs a record (plan or issue), not "I'll clean it up later".
- Done when: all Critical resolved, all Required resolved or explicitly accepted/deferred by the user, tests and build pass.
For a written review or a prompt to a second reviewer model, use references/review-template.md.
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.

