Draft retained from the 2026-08-13 `/align` round on review token usage. Not refined to the plan schema — that is `/align-tactics`' job. Authoritative requirements live in `strategy-token-economy` clarifications 49, 52, 53 and 54.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add natb1/commons.systems --skill intentions --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Intentions?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/natb1-intentions-0f3c9e48)More formats (shields.io, HTML) on the badges page.
---
id: tactic-review-plan-preflight-skill
kind: tactic
statement: Add a /review-plan pre-pass that sets /code-review's effort and gates
the owned finders from an analysis of the diff
owner: ai
status: codified
parent: null
rationale: Surfaced by the 2026-08-13 /align round on review token usage.
Carries clarifications 49 (the per-input effort carve-out from the
no-auto-apply bar, and the author-ruled low-to-max band), 52 (semantic trigger
gating, never cost or yield cuts) and 53 (the eight analyses and the four
rules governing how they combine). Deliberately sequenced AFTER
tactic-review-delta-base-and-blast-radius per clarification 54's divergence,
so its value is measured against the delta-only baseline rather than against
today's full re-review, and so it must earn its own cost honestly.
reading: null
serves:
- strategy-token-economy
recovers: []
clarifications: []
tooling_goals: []
success_signal: null
attention: null
phase: done
execution:
branch: tactic-review-delta-base-and-blast-radius
pr: 3087
attempts: {}
markers: []
strategy_fingerprint: null
fix: null
conflict: null
completion: null
lane_pass: null
validates: []
blocked_by:
- tactic-review-delta-base-and-blast-radius
office_hours: null
pace_exempt: false
rounds: null
attributes: {}
---
# Add a /review-plan pre-pass that sets /code-review's effort and gates the owned finders from an analysis of the diff
Draft retained from the 2026-08-13 `/align` round on review token usage. Not
refined to the plan schema — that is `/align-tactics`' job. Authoritative
requirements live in `strategy-token-economy` clarifications 49, 52, 53 and 54.
## Shape
An **Opus subagent** runs a new `/review-plan` skill as the first act of
`/review-fix`, **before** both the detached `/code-review` pre-stage
(`SKILL.md` Step 1b) and the Workflow fan-out (Step 2). It reads the review
delta once and returns a small structured verdict — never prose — carrying:
- an **effort level** for `dispatch-code-review --effort`, and
- a **finder gate set** shaped like what
`agentFinderSet(surface, app_or_rules, api_call_site)` already consumes
(`.claude/workflows/review-fix.js:597-609`), plus per-lens on/off **with a
recorded reason**.
`dispatch-code-review` already exposes `--effort` and `--model` and the caller
currently overrides neither (`SKILL.md:354-362`) — so the effort seam exists and
this node uses it rather than adding one.
## Authority — and its three hard limits
Effort authority is a **per-input** carve-out from the no-auto-apply bar, not a
loosening of it (clarification 49). It holds only while all three hold:
1. The band is **author-set**: `low` … `max`, default `high`. The skill may not
re-open the band.
2. `high` is what an **absent, failed, or unparseable** verdict gets — the
fail-open condition.
3. Every deviation **records** the level and the rationale, so the measurement
clarification 46 requires is stratified rather than confounded.
Gating authority is **semantic triggers only** (clarification 52). The skill may
narrow or widen a lens's trigger on the semantics of the diff. It may **never**
disable a lens for being expensive or low-yield — clarification 18 retained
api-cost at a *measured zero* finding rate and widened its trigger instead.
## The eight analyses
Six mechanical, two Opus-judgment. Full text and rationale in clarification 53.
Analysis 1 is **not built here** — clarification 54 moves it to
`tactic-review-delta-base-and-blast-radius`, which ships first; this skill
consumes its output.
| # | Analysis | Kind | Drives |
|---|---|---|---|
| 1 | Blast radius | mech (elsewhere) | out-of-diff reading list; fan-out raises |
| 2 | Contract delta | Opus | signature/schema/error-path ⇒ raise |
| 3 | Irreversibility surface | mech | **hard `xhigh` floor**, overrides all cheapening |
| 4 | Change-class mix | Opus | primary effort driver **and** finder gate |
| 5 | Prior-finding recurrence | mech | re-touched fixed code ⇒ raise + brief |
| 6 | Test-coverage delta | mech | untested new logic ⇒ raise |
| 7 | Delta provenance | mech | lane-authored CI repairs ⇒ raise |
| 8 | Size and dispersion | mech | **tie-breaker only** — deliberately demoted |
Four governing rules bind the combination and are the part a later editor is
most likely to drop:
- **Fail-open** — error/timeout/unparseable ⇒ `high` + full roster. Never cheaper.
- **Bounded** — reads the delta once plus the mechanical outputs, never the whole
repo. A pre-pass that grows into a review is the cost it exists to reduce.
- **Asymmetric** — raising is any-of; cheapening requires **all** signals to agree.
- **Recorded** — effort, finder set and rationale are written out.
## Measurement — the honest bar
Its value is measured **against the delta-only baseline** established by
`tactic-review-delta-base-and-blast-radius`, never against today's full
re-review. That sequencing is the whole point of clarification 54's divergence:
the delta-scoping's saving must not be credited to this node.
The comparison that actually prices it — findings at each effort level for
comparable diffs — is **not computed by any sensor today**. That gap is
`tactic-audit-review-effort-yield-lens`, and by the one-instrument condition the
lens is added to `aggregate-usage.sh`'s shared catalog, never to a second
parallel analysis.
## Unmeasured, and recorded as such
No run of any of this exists. The analysis ordering and the raise/lower
asymmetry are design judgment, not readings. Until the yield lens lands, this
node is an unmeasured throughput bet — the same honest state clarification 46
recorded for the `high` raise.
## Resolved (2026-08-13) — PR #3087, merged e612e50c
Shipped `/review-plan` (`.claude/skills/review-plan/SKILL.md`), `/review-fix`
Step 1a, and the mechanically-enforced gate in `.claude/workflows/review-fix.js`
(the `review plan gate` sentinel region: `reviewPlanEffort`,
`reviewPlanFinderSet`, `reviewPlanDeadline`), covered by
`test-review-plan-gate.sh` (47 rows).
### It shipped ALONGSIDE its blocker, not after it
Clarification 54's sequencing consequence said this tactic "must not be planned as
one PR with" `tactic-review-delta-base-and-blast-radius`, so its value could be
measured against the delta-only baseline. **The author overrode that**, and both
landed in PR #3087. See the dated amendment appended to clarification 54 on
`strategy-token-economy` for the ruling and its measurement consequence: the
delta-only baseline was never established, so the two savings cannot be separated
retrospectively, and clarification 49's requirement (3) now carries that weight
alone.
That is why `recorded` is enforced mechanically rather than left to convention:
`reviewPlanEffort` and `reviewPlanFinderSet` each return a rationale, the
`/review-fix` call site `log()`s both, and the gate suite asserts every verdict
carries a non-empty one.
### A hazard found in implementation that the clarifications did not name
Clarification 49 admitted `max` to the band on the ground that clarification 45
retired the synchronous kill regime. Reading `dispatch-code-review` while wiring
the seam showed the kill is **not** retired — it is *bounded*: the script kills a
run that exceeds its deadline (`:1225-1226`), default 5400 s. And `claude -p`
buffers all output until completion, so a killed run is still a **total loss, not
a partial result**.
So `xhigh` and `max` on today's 5400 s deadline would have reproduced exactly the
zero-bytes outcome clarification 49 reasoned was behind us — every time, by
construction. `REVIEW_PLAN_DEADLINES` therefore scales `--deadline-seconds` *and*
Step 1b's poll cap with the effort level, and every row is an exact multiple of
the script's 540 s await window so `/review-fix`'s `cap × 540 == deadline`
equality holds at every band level rather than only at `high`. That equality is
what makes the script's exit-4 path reachable, and that path is the only thing
that releases the reviewed worktree's `flock`.
The band itself is unchanged and remains author-set; this constrains the *cost of
reaching* its upper half, not the band.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!