quality-review
Skill3 starsChanged 2 months agoMITView on GitHub
Review delivered code for engineering quality (organization, readability, error handling, tests, consistency with the codebase's patterns) independent of the specification. Use after a delivery in parallel with code-review and security-review, or on any files the user points at, such as 'is this module maintainable' or 'review this file for readability and tests'. Not for checking a delivery against its ticket (code-review), vulnerabilities (security-review) or decay across many deliveries (rot-watch).
8 other projects use a version of this.
Adopted by
Most recently taken up by
- Gamehu/reinstheir own version, first seen Nov 8, 2026
- shawnclybor/clybor-claude-toolingtheir own version, first seen Nov 8, 2026
- TerryFYL/ai-research-armytheir own version, first seen Nov 8, 2026
- calven-ai/calven-mcptheir own version, first seen Nov 1, 2026
- PicsArt/gen-ai-skillstheir own version, first seen Nov 1, 2026
- prinx/agentstheir own version, first seen Oct 20, 2026
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- TerryFYL/ai-research-army★ 9same name
- PicsArt/gen-ai-skills★ 6same name
- shawnclybor/clybor-claude-tooling★ 6same name
- calven-ai/calven-mcp★ 3same name
- simota/quality-skills★ 2same name
- Gamehu/reins★ 0same name
- kaiohenricunha/dotbabel★ 0same name
- prinx/agents★ 0same name
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 repository19 other files it gives its agents.
- architecture-reviewSkill
- auditSkill
- brownfieldSkill
- code-reviewSkill
- constraintsSkill
- defect-sweepSkill
- deliverySkill
- dependenciesSkill
- flow-mappingSkill
- orchestrateSkill
- owasp-llm-top10-reviewSkill
- owasp-top10-reviewSkill
- planningSkill
- rot-watchSkill
- security-reviewSkill
- setupSkill
- specificationSkill
- technical-designSkill
- ticket-breakdownSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. 0 are common, 18 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
18
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Use this skill when:
- Distinctive: line 22
After or in parallel with Code Review
- Distinctive: line 23
When code quality standards need enforcement before merging
- Distinctive: line 24
When evaluating delivered code for maintainability concerns
- Distinctive: line 25
When onboarding new patterns or conventions and ensuring consistency
- Distinctive: line 40
If no delivery record exists, the user can point directly to code files to review
- Distinctive: line 41
If system context is missing, the skill infers conventions from the existing codebase and notes reduced context in the report
- Distinctive: line 42
If the code files listed in the delivery record do not exist, stop and flag the issue
- Distinctive: line 71
Check for consistency with the codebase's existing patterns before flagging deviations from textbook best practices.
- Distinctive: line 87
Locate Code: Read the delivery record to get the list of files produced.
- Distinctive: line 89
Read All Code: Read every delivered code file, including test files if present.
- Very specific: line 91
Read System Context: If .gener8v/context.md exists, read it for language, framework, and convention expectations, and take the verify …
- Distinctive: line 93
Read Surrounding Code: Read existing code files in the same directory or module to understand established patterns, naming conventions, and …
- Distinctive: line 99
Assess Error Handling: Check for missing error handling on operations that can fail.
- Distinctive: line 107
Check Patterns: Verify consistency with the codebase's established patterns.
- Very specific: line 115
Apply Approved Changes: Update code files for findings the user approves, re-run the delivery record's Verification Run, and append each …
- Distinctive: line 150
If code is modified after review (e.g., from code review or security review findings), the quality review remains valid for its original …
- Distinctive: line 152
If the codebase's patterns or conventions change significantly, earlier quality reviews may be less relevant
- Distinctive: line 161
When reviewing test code, apply the same quality lens as production code — tests are not second-class artifacts
- Distinctive: line 162
If no delivery record exists, this skill can still be used by pointing it directly at code files — it degrades gracefully
“Common” is measured: kept by at least 6 in 10 of the 6 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
Quality Review Skill
Invoked with: $ARGUMENTS
If that is empty, ask the user which delivered ticket (or which files) to review before doing anything else. Never guess the target. The ticket lives in a change: when exactly one change is active (active_changes in .gener8v/pipeline-state.yaml), default to it; when several are and the argument does not say in <change-slug>, ask which change before doing anything else.
Purpose
Review implemented code for engineering quality independent of pipeline artifacts. This skill does not care whether the code matches the spec — that is the Code Review skill's job. It cares whether the code is well-written, maintainable, testable, and follows sound engineering practices. It evaluates code organization, readability, error handling, test coverage, observability and operability, and adherence to established patterns in the codebase.
When to Use
Use this skill when:
- A ticket has been delivered (a delivery record exists in
.gener8v/changes/<change-slug>/delivery/) - After or in parallel with Code Review
- When code quality standards need enforcement before merging
- When evaluating delivered code for maintainability concerns
- When onboarding new patterns or conventions and ensuring consistency
Input
Source: Delivered code files Read from:
- Delivery record:
.gener8v/changes/<change-slug>/delivery/<area-slug>-ticket-NNN-delivery.md(for the file list) - Actual code files listed in the delivery record's "Files Produced" section
- System Context:
.gener8v/context.md(if available — for language, framework, convention expectations and the## Repositoriestable's verify commands for the repository the delivery changed) - Conventions:
.gener8v/CONVENTIONS.md - Existing codebase files in the same directory or module (for pattern consistency checks)
Expects: Code files to exist. Does NOT require pipeline artifacts beyond the delivery record — this skill is intentionally pipeline-independent in its review criteria.
If input is missing or malformed:
- If no delivery record exists, the user can point directly to code files to review
- If system context is missing, the skill infers conventions from the existing codebase and notes reduced context in the report
- If the code files listed in the delivery record do not exist, stop and flag the issue
Output
Produces: A quality review report with findings and interactive resolutions
Write to: .gener8v/changes/<change-slug>/reviews/<area-slug>-ticket-NNN-quality-review.md
Creates directory: .gener8v/changes/<change-slug>/reviews/ if it does not exist
Naming convention: Matches the delivery record naming with -quality-review suffix
The report is written as soon as findings are drafted (all Open) and updated finding by finding during resolution. Approved code changes are applied in the resolution phase, re-verified, and recorded in the delivery record's ## Post-Review Amendments.
Output Format
Write the report in the shape of assets/quality-review-report.md — Read it before writing and follow it exactly, headings and status lines included. gener8v-state.py parses its **Result:** line for the verdict and counts its ### QR-NNN headings and **Severity:** lines for the metrics, so none of the three may be renamed or reformatted.
Principles
Quality Is Objective, Not Aesthetic
Findings must identify concrete engineering concerns: missing error handling, naming that obscures intent, duplicated logic, untested edge cases, functions too complex to reason about. "I would have done it differently" is not a finding. "This function has a cyclomatic complexity of 15 with 6 nested conditionals" is.
Context-Sensitive Standards
A prototype and a production service have different quality bars. A CLI script and a shared library have different expectations. Use system context (.gener8v/context.md) when available to calibrate. Examine the existing codebase to understand established patterns. Do not demand enterprise patterns in a proof-of-concept or library-grade polish in an internal tool.
Readability Over Cleverness
Code is read far more often than it is written. Prefer findings that improve readability even at the cost of conciseness. A three-line conditional is better than a one-line ternary that requires three re-reads to parse. Name things for the reader who will debug this at 2am.
Patterns Over Rules
Check for consistency with the codebase's existing patterns before flagging deviations from textbook best practices. A codebase that consistently uses one error handling pattern should not be told to switch mid-stream. Pattern consistency within a project trumps theoretical ideals.
SOLID Is a Lens, Not a Law
Use SOLID principles as diagnostic tools to identify potential problems, not as a checklist that must be fully satisfied. Flag Single Responsibility violations only when a module is doing so many things that changes in one area risk breaking another. Flag Open/Closed violations only when extension points are clearly needed. Do not flag SOLID "violations" in code that is simple, clear, and unlikely to change.
Tests Are First-Class Code — and Their Absence Is a Block
A ticket with testable acceptance criteria and no tests is Changes Required, not a suggestion: the delivery's Verification Run has nothing to run, so nothing about the ticket is proven. Review test code with the same rigor as production code. Tests that are brittle (tied to implementation details), unclear (test names that don't describe behavior), or incomplete (happy path only) are quality findings. Tests that test the framework instead of the behavior are quality findings.
Two Phases, Two Runtimes
Findings (steps 1–13) can run in a fresh context — the shipped quality-reviewer agent, started on its route (kind review, CONVENTIONS §13), in parallel with the other two reviewers — because a reviewer who did not build the code has no reason to trust the builder's account of it. The findings phase writes the report with every finding Status: Open and a provisional verdict, and changes nothing else. Resolution (steps 14–16) runs in the main session with the user, one review at a time so three reviewers never edit the same file concurrently. Every approved change is re-verified and appended to the delivery record's ## Post-Review Amendments; the report is updated per finding as it is resolved, and the final verdict is written last.
Performance Is Contextual
Do not flag performance concerns without considering the actual usage context. An O(n^2) loop over a list that will never exceed 10 items is not a finding. A synchronous blocking call in a request handler that serves 10,000 concurrent users is. State the context that makes a performance concern relevant.
Process
- Locate Code: Read the delivery record to get the list of files produced. If no delivery record exists, use file paths provided directly by the user.
- Read All Code: Read every delivered code file, including test files if present.
- Read System Context: If
.gener8v/context.mdexists, read it for language, framework, and convention expectations, and take the verify commands for the repository the delivery changed from its## Repositoriestable. - Read Surrounding Code: Read existing code files in the same directory or module to understand established patterns, naming conventions, and error handling approaches.
- Assess Code Organization: Evaluate module structure, separation of concerns, file organization. Check whether responsibilities are clearly delineated. Check import structure and dependency direction.
- Assess Readability: Evaluate naming conventions (variables, functions, classes, files). Check function length and cognitive complexity. Look for self-documenting code vs. code that requires extensive comments to understand.
- Assess Error Handling: Check for missing error handling on operations that can fail. Check for swallowed errors (catch-and-ignore). Verify error messages are meaningful and actionable. Check for consistent error handling patterns.
- Assess Test Coverage: Run the project's test, lint and type-check commands (from the
## Repositoriestable incontext.mdfor the repository the delivery changed, or the repository's scripts when the table is absent) and record the results. Check for test presence. Evaluate coverage of key code paths, edge cases, and error conditions. Assess test quality — are tests testing behavior or implementation? Are test names descriptive? Testable acceptance criteria with no tests is a Critical finding. - Assess Observability & Operability: Check what the code logs, at what level and with what context (identifiers, durations, causes). Check whether failures are visible to an operator — not swallowed, not logged as noise — and whether metrics or health signals exist where the surrounding code provides them. Rate it like the other four categories; calibrate to the codebase's existing logging and metrics patterns rather than demanding instrumentation the project does not use.
- Check DRY: Identify duplicated logic that should be extracted. Distinguish between coincidental similarity (leave alone) and actual duplication (extract).
- Check Patterns: Verify consistency with the codebase's established patterns. Flag deviations that introduce inconsistency without justification.
- Check Performance: Identify obvious performance concerns in context. Consider the actual usage patterns and data volumes.
- Draft Findings and Write the Report: Create findings with category, severity, root-relative location, and specific recommendations. Write the full report to
.gener8v/changes/<change-slug>/reviews/now, every findingOpen, verdict provisional. (End of the findings phase — when run as thequality-revieweragent, stop here and return the report path, verdict and counts.) - Present to User: Share findings starting with Critical, then Concerns, then Suggestions. Work through interactive resolution — fix, defer or dismiss — updating each finding in the report as it is decided. A finding deferred to a named ticket (
Deferred → TICKET-NNN) also gets a Known Hazard appended to that ticket's file —.gener8v/changes/<change-slug>/tickets/<area-slug>/TICKET-NNN.md— so the implementer sees it (CONVENTIONS.md§2). - Apply Approved Changes: Update code files for findings the user approves, re-run the delivery record's Verification Run, and append each change to the delivery record's
## Post-Review Amendments. - Write the Verdict: Set the final
**Result:**last.
Example
A quality review of support-search/search-and-retrieval/TICKET-001 (query input interface) — one delivered file, no tests, five rated categories, a Critical finding that blocks the ticket and a Suggestion, written under changes/support-search/reviews/. The full worked example is in references/example.md (relative to this skill's directory). Read it before producing your first artifact of this kind.
Troubleshooting
- Orchestrate still lists the quality review as missing after the report was written. The state script opens exactly
.gener8v/changes/<change-slug>/reviews/<area-slug>-ticket-nnn-quality-review.md— area slug, lowercaseticket-nnn, inside the ticket's change. Any other name or directory is invisible to it. Move or rename the file; never leave two copies. - The user pointed at files with no ticket behind them. There is no change, area or ticket to build the report path from, and no delivery record to append
## Post-Review Amendmentsto. Ask where the report goes, state in its Summary that no ticket is attached (Orchestrate will not count it), and record every applied change in the Resolution Log instead. - The test, lint or type-check commands will not run. Step 8 takes them from
context.md's## Repositoriestable or the repository's own scripts. When neither yields a command that runs, record what was tried and what it printed under Test Coverage, and rate the tests from their content. Do not report results that were not produced; tests that exist but cannot be run are a Testing finding in their own right. - The surrounding code has no single pattern to be consistent with. Patterns Over Rules does not mean choosing one style and flagging every deviation. Raise the inconsistency once, as a Patterns finding on the module, and judge the delivery against the style of its nearest neighbours.
- The
quality-revieweragent returned without a report path. The findings phase ends at step 13 by writing the report; an agent that stops at its turn limit returns partial output instead. Resume or re-launch it on the same ticket, or run steps 1–13 in the main session, before starting step 14.
Integration with Other Skills
Upstream:
- Delivery Skill: Provides the delivery record (file list) and the delivered code to review
Downstream:
- Audit Skill: Can include quality review ratings in cross-stage assessments
- Delivery Skill (later tickets): reads this report for findings deferred to a named ticket
- Orchestrate: reads the
**Result:**line;Changes Requiredholds the ticket atchanges_required
Parallel:
- Code Review Skill: Reviews the same code for pipeline traceability — different concern, can run in parallel
- Security Review Skill: Reviews the same code for vulnerabilities — different concern, can run in parallel
Revisions
- Quality review reports capture a point-in-time assessment — they do not auto-update when code changes
- If code is modified after review (e.g., from code review or security review findings), the quality review remains valid for its original scope
- Previous quality review reports remain in
.gener8v/changes/<change-slug>/reviews/for reference - If the codebase's patterns or conventions change significantly, earlier quality reviews may be less relevant
Notes
- This skill is intentionally pipeline-independent — it evaluates engineering quality, not specification compliance
- The only pipeline artifacts it reads are the delivery record (for the file list),
pipeline-state.yaml(to find the active change) and optionally system context (for calibration and verify commands) - The findings phase runs after Delivery, in parallel with Code Review and Security Review (as the reviewer agents); resolution phases run one at a time
- Verdict vocabulary is shared by all three reviews: Approved / Approved with Notes / Changes Required
- Quality standards should match the project's maturity and purpose — do not over-engineer a prototype or under-engineer a production service
- When reviewing test code, apply the same quality lens as production code — tests are not second-class artifacts
- If no delivery record exists, this skill can still be used by pointing it directly at code files — it degrades gracefully
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.

