SKILL.md
Code Review Task Card
Use this explicit opt-in for a merge-readiness review. Shared operating invariants live in templates/AGENTS.md; this card only defines review-specific behavior.
When to use
- The user asks for a code review or quality/security assessment.
- A change is ready for review before merge, or a major feature needs an independent review.
- Do not activate this card for implementation, broad planning, or automatic cleanup.
Inputs
- Scope: the requested files, commit, PR, or whole diff.
- Requirements/specification, acceptance criteria, and relevant test/CI evidence.
- Existing review artifacts and known risks, if any.
- If the user says
continue, advance the current verified review step rather than restarting discovery.
Start by recording the scope:
git status --short
git diff --stat
git diff -- <scope>
Execution
- Identify changed files and review boundaries; do not silently widen the scope.
- Launch the
code-reviewerandarchitectagents in parallel. Both lanes run in parallel on a clean context with explicit scope and artifacts. If either lane cannot be launched or does not return evidence, reportindependent review unavailable; do not substitute the current/authoring lane, and do not approve or mark the review merge-ready. - Respect the user's current model and reasoning/effort selection. Do not pass
modelorreasoning_effortoverrides in review-lane calls.
task(
agent_type="code-reviewer",
prompt="CODE REVIEW TASK
Review the supplied scope for spec compliance, security, quality, performance, and maintainability.
Return files reviewed, severity-rated findings with file:line evidence and concrete fixes,
and a recommendation: APPROVE / REQUEST CHANGES / COMMENT. Do not review architecture.
Scope: [scope and artifacts]"
)
task(
agent_type="architect",
prompt="ARCHITECTURE / DEVIL'S-ADVOCATE REVIEW TASK
Review the same scope for boundaries, interfaces, hidden coupling, long-term tradeoffs,
and the strongest counterargument against approval. Return file:line evidence,
recommendations, and Architectural Status: CLEAR / WATCH / BLOCK.
Scope: [scope and artifacts]"
)
Review taxonomy
code-reviewerchecks Security, Code Quality, Performance, Best Practices, and Maintainability.- Rate each finding: CRITICAL (security or data-loss blocker), HIGH (bug/major smell), MEDIUM (important improvement), or LOW (style/suggestion).
architectchecks explicit boundaries/interfaces, hidden coupling, long-horizon tradeoffs, and devil's-advocate concerns. Status is CLEAR, WATCH (non-blocking concern), or BLOCK (merge blocker).- Every finding names
file:line, issue, risk, and a concrete fix; distinguish facts from suggestions.
State/HUD Phase Contract
- Standalone
$code-reviewrelies on hook-ownedskill-active-state.json(skill:"code-review",phase:"planning"); do not createcode-review-state.json. - Inside Autopilot, keep
mode:"autopilot"active withcurrent_phase:"code-review"/ skill-activephase:"code-review"; do not activate a peer workflow. - On clean review, persist the artifact under Autopilot
handoffartifacts.codereviewbefore moving toultraqa. On non-clean review, persist findings and usereworkorralplanas appropriate.
omx state write --input '{"mode":"autopilot","active":true,"current_phase":"code-review"}' --json
Final Synthesis and gate
Architectural Status Contract
Combine the code-reviewer recommendation and architect status. Approval requires explicit evidence from both independent lanes; missing or failed delegation is a blocking unavailable-review state, not an approval fallback. The final report must make architect blockers impossible to miss.
- If architect status is BLOCK, final recommendation is REQUEST CHANGES.
- Else if
code-reviewerrecommendation is REQUEST CHANGES, final recommendation is REQUEST CHANGES. - Else if architect status is WATCH, final recommendation is COMMENT.
- Else final recommendation follows the
code-reviewerlane.
Approval criteria: APPROVE only when code-reviewer returns APPROVE, architect status is CLEAR, and both independent lanes returned evidence. REQUEST CHANGES for a blocker, unresolved high/critical finding, or unavailable lane. COMMENT may record non-blocking findings.
Do not self-review as a fallback. If the code-reviewer or architect path is missing, unavailable, skipped, or fails, block approval until independent lane evidence exists. On the explicit Ralph path, findings may trigger automatic fix follow-up without another permission prompt; plain code-review itself remains read-only and does not promise auto-fix.
Evidence/output contract
Return a concise report containing:
CODE REVIEW REPORT
Files Reviewed: <count>
Total Issues: 0
Architectural Status: CLEAR | WATCH | BLOCK
CRITICAL (0) | HIGH (0) | MEDIUM (0) | LOW (0)
Findings: file:line -> issue, risk, concrete fix (or none)
ARCHITECTURE WATCHLIST: concern, status, recommendation (or none)
- code-reviewer recommendation: COMMENT
- architect status: WATCH
- final recommendation: COMMENT
RECOMMENDATION: COMMENT
Replace the illustrative counts and verdict with observed values. Include scope, lane evidence/artifact references, unresolved risks, and validation gaps.
Exit condition
Stop when the scoped diff has two independent lane results and a deterministic final recommendation. Report APPROVE only under the approval criteria; otherwise leave a bounded REQUEST CHANGES, COMMENT, or unavailable-review result. Never claim merge-ready without the required evidence.