Reviews implemented code for security, quality, performance, and test coverage using specialized review agents with clear accountability. Use when task file is in review/ directory. Launches Security Gatekeeper, Quality Guardian, and Test Auditor in parallel.
Given task file path .plans/<project>/review/NNN-task.md:
Launch 3 specialized agents in parallel (FULL review only):
security-reviewer): OWASP Top 10, injection, auth, secretsquality-guardian): Error handling, edge cases, maintainabilitytest-coverage-analyzer): Coverage gaps, test quality, behavioral coverageEach agent has full instructions in its agent file. They are accountable for their domain.
First, read **implementation_metadata:** from task file and determine review tier.
Route to FULL review (all 3 agents) if ANY of these are true:
Severity-based:
severity_indicators contains: auth, password, token, session, jwt, crypto, encrypt, secret, payment, billing, migration, permission, api_keyComplexity-based:
complexity_indicators contains: state-machine, external-api, async-patterns, database-migrationHistory-based:
was_stuck: trueresearch_agents_used is not empty/noneQuantitative (supporting):
files_changed >= 10lines_changed >= 500Route to LIGHTWEIGHT review (quick scan, no agents) if ALL of these are true:
was_stuck: falseresearch_agents_used: nonefiles_changed < 10lines_changed < 500Report triage decision:
Review tier: [LIGHTWEIGHT | FULL]
Reason: [why this tier was selected]
Quick validation without launching specialized agents. Faster but catches obvious issues.
If .plans/<project>/critical-patterns.md exists, check the implementation against it; any violation is a CRITICAL finding and escalates to FULL review.
Baseline checks:
git diff on Files listedQuick scan for obvious issues:
catch \(.*\) \{\s*\}password\s*=\s*["'], api_key\s*=\s*["'], secret\s*=\s*["']Escalation check:
⚠️ Escalating to FULL review: [reason]LIGHTWEIGHT Approval/Rejection:
✅ Review complete (LIGHTWEIGHT). Status: [STATUS]**review (LIGHTWEIGHT):**
Review tier: LIGHTWEIGHT
Reason: [No severity/complexity indicators, small scope]
Working Result verified: ✓ [description]
Validation: [N]/[N] passing
Full test suite: [M]/[M] passing
Diff: [N] lines
Quick scan: PASSED
- No empty catch blocks
- No hardcoded secrets
- No console.log in production code
- Error handling present
APPROVED → completed
If LIGHTWEIGHT finds issues, it escalates to FULL review rather than rejecting directly.
Launch all 3 specialized agents for comprehensive review. Use for security-sensitive, complex, or high-risk changes.
Load critical patterns as in the LIGHTWEIGHT process; include any violations in the agent context.
Initial Review:
git diff on Files listedSpecialized Review (Parallel Agents): Launch all 3 agents in parallel. Each must:
Consolidate Findings:
Overall Decision:
Update task status using Edit tool:
**Status:** [current status] → Replace **Status:** APPROVED**Status:** [current status] → Replace **Status:** REJECTEDAppend notes (see formats below)
Track findings in project-level log (see below)
Report completion
After initial review, invoke all three agents in parallel using the Task tool.
Required output format (all agents):
Task(
description: "Security review",
prompt: "Task file: [path] | Files: [list] | Use standard output format.",
subagent_type: "experimental:review:security-reviewer"
)
Task(
description: "Quality review",
prompt: "Task file: [path] | Files: [list] | Use standard output format.",
subagent_type: "experimental:review:quality-guardian"
)
Task(
description: "Test coverage review",
prompt: "Task file: [path] | Test files: [list] | Impl files: [list] | Use standard output format.",
subagent_type: "experimental:review:test-coverage-analyzer"
)
Call all three Task invocations in a single message to run them in parallel.
**review:**
Working Result verified: ✓ [description]
Validation: 4/4 passing
Full test suite: [M]/[M] passing
Diff: [N] lines
**Reviewer Decisions:**
- Security Gatekeeper: APPROVED - [reason]
- Quality Guardian: APPROVED - [reason]
- Test Auditor: APPROVED - [reason]
**Findings (for tracking):**
- [Any HIGH/MEDIUM findings that don't block but should be tracked]
APPROVED → completed
**review:**
**Reviewer Decisions:**
- Security Gatekeeper: REJECTED - [reason]
- Quality Guardian: APPROVED - [reason]
- Test Auditor: REJECTED - [reason]
**CRITICAL Issues (must fix):**
1. [Security/Quality/Test] - [Description] - [file:line] - [Confidence/Severity]
2. [Security/Quality/Test] - [Description] - [file:line] - [Confidence/Severity]
**HIGH Issues (should fix):**
1. [Security/Quality/Test] - [Description] - [file:line] - [Confidence/Severity]
**Required actions:**
- [Action 1 - address CRITICAL findings]
- [Action 2 - address blocking issues]
- [Action 3 - consider HIGH findings]
REJECTED → implementation
After review, append to .plans/<project>/review-findings.md:
## [Task NNN] - [timestamp]
**Decision:** [APPROVED/REJECTED]
**Reviewer Decisions:**
- Security Gatekeeper: [APPROVED/REJECTED]
- Quality Guardian: [APPROVED/REJECTED]
- Test Auditor: [APPROVED/REJECTED]
**Findings:**
- [FIXED/DEFERRED]: [finding] - [resolution or reason for deferral]
This creates a permanent record of all review findings across the project.
Must REJECT if any:
Can APPROVE with HIGH findings if:
When review is complete (status updated to APPROVED or REJECTED):
✅ Review complete (LIGHTWEIGHT). Status: [STATUS]✅ Review complete (FULL). Status: [STATUS]Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer