
Code Review Quality
- 1.4k installs
- 433 repo stars
- Updated August 4, 2026
- proffesor-for-testing/agentic-qe
code-review-quality is an agent skill that conduct context-driven code reviews focusing on quality, testability, and maintainability. use when reviewing code, providing feedback, or establishing review practices.
About
code-review-quality is an agent skill from proffesor-for-testing/agentic-qe that conduct context-driven code reviews focusing on quality, testability, and maintainability. use when reviewing code, providing feedback, or establishing review practices. # Code Review Quality <default_to_action> When reviewing code or establishing review practices: 1. PRIORITIZE feedback: 🔴 Blocker (must fix) → 🟡 Major → 🟢 Minor → 💡 Suggestion 2. FOCUS on: Bugs, security, testability, maintainability (not style preferences) 3. ASK questions over commands: "Have you considered...?" > "Change this to..." 4. PROVIDE Developers invoke code-review-quality during ship/testing work for testing & qa tasks. The skill documents triggers, prerequisites, and step-by-step workflows grounded in SKILL.md. Compatible with Claude Code, Cursor, and Codex agent runtimes that load marketplace skills. Review the Security Audits panel on this listing before installing in production environments.
- When reviewing code or establishing review practices:
- 1. PRIORITIZE feedback: 🔴 Blocker (must fix) → 🟡 Major → 🟢 Minor → 💡 Suggestion
- 2. FOCUS on: Bugs, security, testability, maintainability (not style preferences)
- 3. ASK questions over commands: "Have you considered...?" > "Change this to..."
- 4. PROVIDE context: Why this matters, not just what to change
Code Review Quality by the numbers
- 1,440 all-time installs (skills.sh)
- +22 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #485 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
code-review-quality capabilities & compatibility
- Capabilities
- when reviewing code or establishing review pract · 1. prioritize feedback: 🔴 blocker (must fix) → · 2. focus on: bugs, security, testability, mainta · 3. ask questions over commands: "have you consid · 4. provide context: why this matters, not just w
- Use cases
- orchestration
What code-review-quality says it does
When reviewing code or establishing review practices:
1. PRIORITIZE feedback: 🔴 Blocker (must fix) → 🟡 Major → 🟢 Minor → 💡 Suggestion
2. FOCUS on: Bugs, security, testability, maintainability (not style preferences)
npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill code-review-qualityAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.4k |
|---|---|
| repo stars | ★ 433 |
| Security audit | 3 / 3 scanners passed |
| Last updated | August 4, 2026 |
| Repository | proffesor-for-testing/agentic-qe ↗ |
What it does
Conduct context-driven code reviews focusing on quality, testability, and maintainability. Use when reviewing code, providing feedback, or establishing review practices.
Who is it for?
Developers working on testing & qa during ship tasks.
Skip if: Tasks outside Testing & QA scope described in SKILL.md.
When should I use this skill?
Conduct context-driven code reviews focusing on quality, testability, and maintainability. Use when reviewing code, providing feedback, or establishing review practices.
What you get
Completed testing & qa workflow aligned with SKILL.md steps.
- JSON code review report
- trustTier-scored findings
Files
Code Review Quality
<default_to_action> When reviewing code or establishing review practices: 1. PRIORITIZE feedback: 🔴 Blocker (must fix) → 🟡 Major → 🟢 Minor → 💡 Suggestion 2. FOCUS on: Bugs, security, testability, maintainability (not style preferences) 3. ASK questions over commands: "Have you considered...?" > "Change this to..." 4. PROVIDE context: Why this matters, not just what to change 5. LIMIT scope: Review < 400 lines at a time for effectiveness
Quick Review Checklist:
- Logic: Does it work correctly? Edge cases handled?
- Security: Input validation? Auth checks? Injection risks?
- Testability: Can this be tested? Is it tested?
- Maintainability: Clear naming? Single responsibility? DRY?
- Performance: O(n²) loops? N+1 queries? Memory leaks?
Critical Success Factors:
- Review the code, not the person
- Catching bugs > nitpicking style
- Fast feedback (< 24h) > thorough feedback
</default_to_action>
Quick Reference Card
When to Use
- PR code reviews
- Pair programming feedback
- Establishing team review standards
- Mentoring developers
Feedback Priority Levels
| Level | Icon | Meaning | Action |
|---|---|---|---|
| Blocker | 🔴 | Bug/security/crash | Must fix before merge |
| Major | 🟡 | Logic issue/test gap | Should fix before merge |
| Minor | 🟢 | Style/naming | Nice to fix |
| Suggestion | 💡 | Alternative approach | Consider for future |
Review Scope Limits
| Lines Changed | Recommendation |
|---|---|
| < 200 | Single review session |
| 200-400 | Review in chunks |
| > 400 | Request PR split |
What to Focus On
| ✅ Review | ❌ Skip |
|---|---|
| Logic correctness | Formatting (use linter) |
| Security risks | Naming preferences |
| Test coverage | Architecture debates |
| Performance issues | Style opinions |
| Error handling | Trivial changes |
---
Feedback Templates
Blocker (Must Fix)
🔴 **BLOCKER: SQL Injection Risk**
This query is vulnerable to SQL injection:db.query(SELECT * FROM users WHERE id = ${userId})
**Fix:** Use parameterized queries:db.query('SELECT * FROM users WHERE id = ?', [userId])
**Why:** User input directly in SQL allows attackers to execute arbitrary queries.Major (Should Fix)
🟡 **MAJOR: Missing Error Handling**
What happens if `fetchUser()` throws? The error bubbles up unhandled.
**Suggestion:** Add try/catch with appropriate error response:try { const user = await fetchUser(id); return user; } catch (error) { logger.error('Failed to fetch user', { id, error }); throw new NotFoundError('User not found'); }
Minor (Nice to Fix)
🟢 **minor:** Variable name could be clearer
`d` doesn't convey meaning. Consider `daysSinceLastLogin`.Suggestion (Consider)
💡 **suggestion:** Consider extracting this to a helper
This validation logic appears in 3 places. A `validateEmail()` helper would reduce duplication. Not blocking, but might be worth a follow-up PR.---
Review Questions to Ask
Logic
- What happens when X is null/empty/negative?
- Is there a race condition here?
- What if the API call fails?
Security
- Is user input validated/sanitized?
- Are auth checks in place?
- Any secrets or PII exposed?
Testability
- How would you test this?
- Are dependencies injectable?
- Is there a test for the happy path? Edge cases?
Maintainability
- Will the next developer understand this?
- Is this doing too many things?
- Is there duplication we could reduce?
Minimum Findings Enforcement
Reviews must meet a minimum weighted finding score of 3.0 (CRITICAL=3, HIGH=2, MEDIUM=1, LOW=0.5, INFORMATIONAL=0.25). If the initial review falls short, run the qe-devils-advocate agent as a meta-reviewer to find additional observations. Every review should have at least 3 actionable observations.
---
Agent-Assisted Reviews
// Comprehensive code review
await Task("Code Review", {
prNumber: 123,
checks: ['security', 'performance', 'testability', 'maintainability'],
feedbackLevels: ['blocker', 'major', 'minor'],
autoApprove: { maxBlockers: 0, maxMajor: 2 }
}, "qe-quality-analyzer");
// Security-focused review
await Task("Security Review", {
prFiles: changedFiles,
scanTypes: ['injection', 'auth', 'secrets', 'dependencies']
}, "qe-security-scanner");
// Test coverage review
await Task("Coverage Review", {
prNumber: 123,
requireNewTests: true,
minCoverageDelta: 0
}, "qe-coverage-analyzer");---
Agent Coordination Hints
Memory Namespace
aqe/code-review/
├── review-history/* - Past review decisions
├── patterns/* - Common issues by team/repo
├── feedback-templates/* - Reusable feedback
└── metrics/* - Review turnaround timeFleet Coordination
const reviewFleet = await FleetManager.coordinate({
strategy: 'code-review',
agents: [
'qe-quality-analyzer', // Logic, maintainability
'qe-security-scanner', // Security risks
'qe-performance-tester', // Performance issues
'qe-coverage-analyzer' // Test coverage
],
topology: 'parallel'
});---
Review Etiquette
| ✅ Do | ❌ Don't |
|---|---|
| "Have you considered...?" | "This is wrong" |
| Explain why it matters | Just say "fix this" |
| Acknowledge good code | Only point out negatives |
| Suggest, don't demand | Be condescending |
| Review < 400 lines | Review 2000 lines at once |
---
Related Skills
- agentic-quality-engineering - Agent coordination
- security-testing - Security review depth
- refactoring-patterns - Maintainability patterns
---
Remember
Prioritize feedback: 🔴 Blocker → 🟡 Major → 🟢 Minor → 💡 Suggestion. Focus on bugs and security, not style. Ask questions, don't command. Review < 400 lines at a time. Fast feedback (< 24h) beats thorough feedback.
With Agents: Agents automate security, performance, and coverage checks, freeing human reviewers to focus on logic and design. Use agents for consistent, fast initial review.
Skill Composition
- Security concerns → Compose with
/security-testingfor security-focused review - Coverage check → Run
/qe-coverage-analysison changed files - Ship decision → Feed review results into
/qe-quality-assessment
Gotchas
- Agent reviews >400 lines at once and misses issues — chunk reviews to 200-400 lines maximum
- Nitpicking style while missing logic bugs is the #1 agent review failure — prioritize correctness over formatting
- Agent approves code that compiles but has subtle race conditions — always check shared state and async patterns
- Review comments without suggested fixes are unhelpful — always include a proposed alternative
- Agent doesn't check if the PR actually solves the linked issue — verify the stated problem is actually fixed
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://agentic-qe.dev/schemas/skills/code-review-quality/output.json",
"title": "Code Review Quality Skill Output Schema",
"description": "Schema for code-review-quality skill output. Context-driven code review with quality assessments.",
"type": "object",
"required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
"properties": {
"skillName": {
"type": "string",
"const": "code-review-quality"
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"status": {
"type": "string",
"enum": ["success", "partial", "failed", "skipped"]
},
"trustTier": {
"type": "integer",
"const": 3
},
"output": {
"type": "object",
"required": ["summary", "reviewFindings", "codeQuality"],
"properties": {
"summary": {
"type": "string",
"minLength": 50,
"maxLength": 3000
},
"reviewFindings": {
"type": "array",
"items": {
"$ref": "#/$defs/reviewFinding"
},
"maxItems": 200
},
"codeQuality": {
"$ref": "#/$defs/codeQuality"
},
"severity": {
"$ref": "#/$defs/severityBreakdown"
},
"recommendations": {
"type": "array",
"items": {
"$ref": "#/$defs/recommendation"
},
"maxItems": 100
},
"context": {
"$ref": "#/$defs/reviewContext"
},
"qualityGates": {
"type": "array",
"items": {
"$ref": "#/$defs/qualityGate"
}
},
"complianceChecks": {
"type": "array",
"items": {
"$ref": "#/$defs/complianceCheck"
}
},
"verdict": {
"type": "string",
"enum": ["approved", "approved-with-suggestions", "request-changes", "blocked"]
},
"metrics": {
"$ref": "#/$defs/metrics"
}
}
},
"metadata": {
"$ref": "#/$defs/metadata"
},
"validation": {
"$ref": "#/$defs/validationResult"
},
"learning": {
"$ref": "#/$defs/learningData"
}
},
"$defs": {
"reviewFinding": {
"type": "object",
"required": ["id", "title", "severity", "category"],
"properties": {
"id": {
"type": "string",
"pattern": "^CRQ-\\d{3,6}$"
},
"title": {
"type": "string",
"minLength": 10,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 2000
},
"severity": {
"type": "string",
"enum": ["critical", "high", "medium", "low", "suggestion"]
},
"category": {
"type": "string",
"enum": ["correctness", "design", "performance", "security", "maintainability", "readability", "testing", "documentation", "style", "best-practice"]
},
"location": {
"type": "object",
"properties": {
"file": { "type": "string" },
"line": { "type": "integer", "minimum": 1 },
"endLine": { "type": "integer", "minimum": 1 },
"function": { "type": "string" }
}
},
"codeSnippet": {
"type": "string",
"maxLength": 5000
},
"suggestedFix": {
"type": "string",
"maxLength": 5000
},
"rationale": {
"type": "string",
"maxLength": 1000
},
"effort": {
"type": "string",
"enum": ["trivial", "low", "medium", "high", "major"]
},
"blocking": {
"type": "boolean"
}
}
},
"codeQuality": {
"type": "object",
"required": ["overallScore", "grade"],
"properties": {
"overallScore": { "type": "number", "minimum": 0, "maximum": 100 },
"grade": { "type": "string", "pattern": "^[A-F][+-]?$" },
"dimensions": {
"type": "object",
"properties": {
"correctness": { "type": "number", "minimum": 0, "maximum": 100 },
"readability": { "type": "number", "minimum": 0, "maximum": 100 },
"maintainability": { "type": "number", "minimum": 0, "maximum": 100 },
"performance": { "type": "number", "minimum": 0, "maximum": 100 },
"security": { "type": "number", "minimum": 0, "maximum": 100 },
"testability": { "type": "number", "minimum": 0, "maximum": 100 },
"documentation": { "type": "number", "minimum": 0, "maximum": 100 }
}
},
"trend": {
"type": "string",
"enum": ["improving", "stable", "declining"]
}
}
},
"severityBreakdown": {
"type": "object",
"properties": {
"critical": { "type": "integer", "minimum": 0 },
"high": { "type": "integer", "minimum": 0 },
"medium": { "type": "integer", "minimum": 0 },
"low": { "type": "integer", "minimum": 0 },
"suggestion": { "type": "integer", "minimum": 0 }
}
},
"recommendation": {
"type": "object",
"required": ["id", "title", "priority"],
"properties": {
"id": { "type": "string", "pattern": "^REC-\\d{3,6}$" },
"title": { "type": "string", "maxLength": 200 },
"description": { "type": "string", "maxLength": 2000 },
"priority": { "type": "string", "enum": ["critical", "high", "medium", "low"] },
"category": { "type": "string" },
"relatedFindings": { "type": "array", "items": { "type": "string" } },
"codeExample": { "type": "string", "maxLength": 5000 }
}
},
"reviewContext": {
"type": "object",
"properties": {
"projectType": { "type": "string" },
"language": { "type": "string" },
"framework": { "type": "string" },
"reviewScope": { "type": "string" },
"prTitle": { "type": "string" },
"prDescription": { "type": "string" },
"changeType": { "type": "string", "enum": ["feature", "bugfix", "refactor", "hotfix", "docs"] }
}
},
"qualityGate": {
"type": "object",
"required": ["name", "passed"],
"properties": {
"name": { "type": "string" },
"passed": { "type": "boolean" },
"threshold": { "type": "number" },
"actual": { "type": "number" },
"message": { "type": "string" }
}
},
"complianceCheck": {
"type": "object",
"required": ["rule", "passed"],
"properties": {
"rule": { "type": "string" },
"ruleSet": { "type": "string" },
"passed": { "type": "boolean" },
"violations": { "type": "array", "items": { "type": "string" } }
}
},
"metrics": {
"type": "object",
"properties": {
"filesReviewed": { "type": "integer", "minimum": 0 },
"linesReviewed": { "type": "integer", "minimum": 0 },
"totalFindings": { "type": "integer", "minimum": 0 },
"blockingIssues": { "type": "integer", "minimum": 0 },
"qualityGatesPassed": { "type": "integer", "minimum": 0 },
"qualityGatesFailed": { "type": "integer", "minimum": 0 }
}
},
"metadata": {
"type": "object",
"properties": {
"executionTimeMs": { "type": "integer", "minimum": 0 },
"toolsUsed": { "type": "array", "items": { "type": "string" } },
"agentId": { "type": "string", "pattern": "^qe-[a-z][a-z0-9-]*$" },
"reviewType": { "type": "string", "enum": ["full", "incremental", "focused"] }
}
},
"validationResult": {
"type": "object",
"properties": {
"schemaValid": { "type": "boolean" },
"contentValid": { "type": "boolean" },
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
}
},
"learningData": {
"type": "object",
"properties": {
"patternsDetected": { "type": "array", "items": { "type": "string" } },
"reward": { "type": "number", "minimum": 0, "maximum": 1 }
}
}
}
}
{
"skillName": "code-review-quality",
"skillVersion": "1.0.0",
"requiredTools": [
"jq"
],
"optionalTools": [],
"schemaPath": "schemas/output.json",
"requiredFields": [
"skillName",
"status",
"output",
"output.summary",
"output.reviewFindings",
"output.codeQuality"
],
"requiredNonEmptyFields": [],
"mustContainTerms": [
"review",
"quality"
],
"mustNotContainTerms": [
"TODO",
"FIXME"
],
"enumValidations": {
".status": [
"success",
"partial",
"failed",
"skipped"
]
}
}
Related skills
FAQ
What does code-review-quality do?
Conduct context-driven code reviews focusing on quality, testability, and maintainability. Use when reviewing code, providing feedback, or establishing review practices.
When should I use code-review-quality?
During ship testing work for testing & qa.
Is code-review-quality safe to install?
Review the Security Audits panel on this listing before production use.