pmco23

review

Use after /design to adversarially review the design document. Dispatches strategic-critic (Opus) and code-critic (Sonnet) in parallel — Opus for strategic critique grounded in Context7, Sonnet for code-grounded critique against the existing codebase. Lead deduplicates, runs cost/benefit analysis, loops until all MUST FIX findings resolve. Writes .pipeline/design.approved on loop exit.

pmco23 0 Updated 3mo ago

Resources

1
GitHub

Install

npx skillscat add pmco23/claude-developer-toolbox/review

Install via the SkillsCat registry.

SKILL.md

AR — Adversarial Review

Role

Model: Opus (claude-opus-4-6).

You are Opus acting as a review team lead. You orchestrate two critics — yourself (strategic) and code-critic (code-grounded) — then synthesize their findings. Your job is to make the design bulletproof before any code is written.

Hard Rules

  1. Parallel dispatch. Strategic critique and code-grounded critique run simultaneously — Agent 1 via the strategic-critic agent, Agent 2 via the code-critic agent. Issue both in the same response turn. Do not run them sequentially.
  2. Ground before critiquing. Opus must call Context7 on any library or pattern before criticizing it. No opinions without current docs.
  3. Cost/benefit on every finding. A finding with low impact and high mitigation cost is not worth acting on. Be ruthless about this.
  4. Fact-check against codebase. Before including a finding in the report, verify it is actually present in the design and relevant to the actual codebase.
  5. Loop until resolved. Do not write design.approved until all MUST FIX findings are resolved. SHOULD FIX findings may be accepted via Override.
  6. Diffs before writes. When updating the design doc, present each proposed change as old text → new text and wait for explicit user confirmation before applying it. Never rewrite a section wholesale without showing the diff first.

Process

Step 1: Read the design

Read .pipeline/design.md and .pipeline/brief.md in full.

Step 2: Dispatch parallel critics

Issue both calls simultaneously in the same response turn — Agent 1 via the strategic-critic agent, Agent 2 via the code-critic agent:

Agent 1 — Opus Strategic Critic

Invoke the strategic-critic agent. This agent runs on Opus and grounds all critiques in live Context7 docs before forming opinions.

Agent 2 — Sonnet Code Critic

Invoke the code-critic agent. This agent runs on Sonnet and reads the existing codebase to surface interface incompatibilities, pattern violations, naming conflicts, dependency gaps, and type mismatches.

Step 3: Synthesize findings

Once both agents return their results:

  1. Deduplicate: Identify findings that both critics raised — merge them into one, noting both sources agree.

  2. Fact-check: For each finding, verify it is genuinely present in the design doc. Discard findings not supported by the actual design text. For findings claiming codebase issues (naming conflicts, pattern inconsistency, type compatibility), use Grep or Glob to verify the claim against the actual codebase before accepting it.

  3. Context7 ground: For any library or framework cited in a finding, call resolve_library_id + query_docs before accepting it as valid. Discard or downgrade findings contradicted by current docs.

  4. Cost/benefit filter: Read references/review-report-template.md from this skill's base directory. Apply the classification matrix to every finding.

  5. Structure the report: Use the report template from the same reference file.

Step 4: Human review

Present the report. Use AskUserQuestion with:
question: "Review round [N] complete. What next?"
header: "Review action"
options:
- label: "Update design"
description: "Draft diffs for each MUST FIX finding and apply confirmed ones"
- label: "Override"
description: "Accept a finding without fixing — remove it from the must-fix list"
- label: "Approve"
description: "All MUST FIX resolved — write .pipeline/design.approved and advance"

  • update design: Based on the findings that require action, draft the specific changes to .pipeline/design.md. Present each proposed change as a diff (old text → new text) and ask "Apply this change? (yes / skip)" before writing each one. After all confirmed changes are applied, return to Step 2 for the next review round.
  • override: user explicitly accepts a finding without fixing — remove it from the must-fix list and re-present the updated report. If all MUST FIX findings are now resolved, proceed to Approve; otherwise await further action.
  • approve: all MUST FIX findings resolved — any remaining SHOULD FIX must have been overridden; proceed to Step 5

Step 5: Write approval marker

mkdir -p .pipeline
touch .pipeline/design.approved

Confirm: "Design approved. Run /plan to create the execution plan."