skills/adversarial-review/SKILL.md
Generator-evaluator separation and review methodology — loaded by review agents to enforce fresh-context review discipline, Conventional Comments format, and gate verdicts
npx skillsauth add bostonaholic/team adversarial-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reviews must be performed by agents with fresh context. The generator (the agent that wrote the code) must never evaluate its own output. This separation prevents self-evaluation bias — the tendency to see what you intended to write rather than what you actually wrote.
The cardinal rule: Don't let the same model grade its own exam.
This separation is enforced structurally by dispatching review agents as independent subagents with no access to the orchestrator's conversation.
All review comments use the Conventional Comments format
(https://conventionalcomments.org). Every comment MUST include a specific
file:line reference.
issue (blocking): Identifies a defect that must be fixed before approval.
issue: This query interpolates user input without parameterization.
file: src/api/users.ts:42
suggestion (non-blocking): Proposes an improvement. The author may accept or decline.
suggestion: Consider extracting this validation into a shared utility.
file: src/handlers/create.ts:18
nitpick (non-blocking): Minor style or naming observation. Never blocks approval.
nitpick: "data" is too vague — consider "userProfile" to match the domain.
file: src/models/types.ts:7
praise: Acknowledges good work. Reinforces positive patterns.
praise: Clean separation of side effects from pure logic here.
file: src/services/billing.ts:30-45
| Reviewer | Gate Type | Blocks Ship? |
|----------|-----------|--------------|
| security-reviewer | HARD | Yes — critical or high findings are non-negotiable |
| verifier | HARD | Yes — tests must pass, build must succeed |
| code-reviewer | HARD | Yes — blocking issues must be resolved |
| ux-reviewer | SOFT | User decides — presented with findings |
| technical-writer | ADVISORY | No — findings recorded, pipeline proceeds |
When multiple reviewers produce verdicts, aggregate them into a single pipeline gate decision:
Hard gates: security-reviewer (CRITICAL or HIGH), verifier (any failure), code-reviewer (REQUEST CHANGES). These are non-negotiable — the pipeline loops back to IMPLEMENT until all hard gates pass clean.
Hard gate failures are never aggregated away. A single CRITICAL security finding blocks shipping regardless of how many other reviewers approved.
data-ai
Todo-first progress convention for multi-step procedures — loaded by every multi-step agent to track its own steps without drift
testing
Adversarially review a technical design document with fresh context before the human gate. Dispatches the built-in `general-purpose` subagent (clean context, no shared history with the design-author) against `docs/plans/<id>/design.md` and presents its verdict — APPROVE, REQUEST CHANGES, or COMMENT. Optional, not part of the QRSPI pipeline. Trigger on "review the design doc", "audit design.md", "is this design ready", or `/eng-design-doc-review`.
development
Generator-evaluator separation and review methodology — loaded by review agents to enforce fresh-context review discipline, Conventional Comments format, and gate verdicts
data-ai
Prepare one or more isolated git worktrees — one per repository the topic touches. Router action — no agent. Trigger on "set up the worktree", "isolate this work", or "/team-worktree".