# Review

Adversarial senior review of the spec before any code is written.

- Repository: https://github.com/JuliusBrussee/cavekit (1157 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-08-14
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add JuliusBrussee/cavekit --skill review -g -a claude-code -y`
Codex: `npx skills add JuliusBrussee/cavekit --skill review -g -a codex -y`
Cursor: `npx skills add JuliusBrussee/cavekit --skill review -g -a cursor -y`
Gemini CLI: `npx skills add JuliusBrussee/cavekit --skill review -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add JuliusBrussee/cavekit`

## Description

Adversarial senior review of the spec before any code is written. Constructs a skeptical reviewer whose authority comes from the codebase, §R research, and live best-practice, then tries to REFUTE the spec, not rubber-stamp it. Every finding cites evidence (file:line or source); unverifiable ones are flagged. Survivors harden §V; the run ends in an explicit go / no-go gate. Triggers before building anything high-blast-radius, when the user says "review the spec", "red-team this", "is this plan sound", "senior review", or invokes /ck:review.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# review, refute the spec before build

**Every finding cites evidence, file:line or a source. No evidence → flag `[unverified]`. Default to refuted: a flaw you cannot prove is a flaw you note, not one you wave through.**

An LLM cannot self-correct on its own judgment, left alone it drifts or
degrades. Review fixes that the only way that works: a *separate* skeptic
anchored to an *external oracle*, the code, §R, the test suite, the docs.
"Looks good" is not a review. A refutation attempt is.

## WHEN TO REVIEW

- Before `/build` on a high-blast-radius change (shared module, auth, data, money, public API).
- Spec touched §I or §V that other code depends on.
- Right-sizing says the cost of a wrong build > the cost of one review pass.

Skip for a trivial, reversible, well-understood change. Adversarial review on a
typo hallucinates flaws & wastes the budget, the self-critique paradox is real.

## PHASE 0, CAPTURE

Read the spec: §G §C §I §R §V §T. Hold the whole thing. You review the *spec*,
not your memory of the conversation.

## PHASE 1, CONSTRUCT THE SENIOR

Build a reviewer with real authority, not a generic critic:
- **Codebase**, grep/read the modules this spec touches. What patterns, what invariants already hold?
- **§R**, what did research establish? A spec decision that contradicts §R is a finding.
- **Live**, for any best-practice claim you are unsure of, fetch it. An out-of-date assumption is a flaw.

A reviewer with no evidence is just an opinion. Earn the authority first.

## PHASE 2, REFUTE

The rest: https://github.com/JuliusBrussee/cavekit/blob/HEAD/skills/review/SKILL.md
