review-anvil-readonly
Thin preset that runs the multi-agent review loop without applying any fixes. Activates the review-anvil engine skill with commit_mode=none and a default of rounds=1.
Use the ASD-STE100-inspired language contract in
../review-anvil/references/asd-ste100-inspired.md for generated prose.
How to invoke
The agent reads the user's request, then activates review-anvil with this argument string:
commit_mode: none, <pass-through any args the user specified>, rounds: 1
Assembly order matters. The engine parses left-to-right with first-occurrence-wins precedence. Pinned values (commit_mode: none) go before user args so the pin is authoritative. Defaults the user can override (rounds: 1) go after user args so any user-supplied rounds: N wins.
Pin-rejection (defense in depth). Pins for this preset: commit_mode. If the review-anvil-pr helper script is resolvable (this preset ships no script of its own), enforce mechanically: bash <pr-helper-path> check-pins review-anvil-readonly "commit_mode" "$ARGUMENTS" — non-zero exit means abort with the script's error verbatim. Otherwise apply the engine's prose pin-rejection algorithm ("Parsing" section); the abort-message preset name is review-anvil-readonly.
Pass-through args the user may specify (non-exhaustive — any engine param not pinned here works; each is documented in the engine's SKILL.md):
target: PR #42/target: src/auth//target: branch/target: uncommitted— what to reviewfocus: <topic>— narrow the four-pillar focus, oronly: <topic>to replace itrounds: N— the user's value wins over the defaultrounds: 1agents: 2 codex + 1 claude— custom reviewer mixmin_fix_severity: <sev>— drives the would-apply/suggestions split in the read-only reportreproduction: auto|on|off— default-on confidence gate for uncertain material findings before they become actionable report itemsproof_runner: /absolute/trusted/path— isolated executable proof runner; when unset, generated probes are retained but behavior findings that need execution remain deferredadversarial: auto|challenge|targeted|full|strict— optional adversarial review that attacks false positives and disproportionate/bloated fix plans before the final reportadversarial_rounds: 1|2,disagreement_policy: defer|comment— tune the adversarial gate; it remains read-only and boundedreviewer_timeout: <seconds>,report_path: <file>— as in the engine
After the engine completes, surface the synthesized report inline. Do not follow with edits, commits, or any side effects — that's exactly what commit_mode=none rules out.
Read-only review still means no tracked edits, staging, commits, or pushes.
Temporary prompt/reviewer/report artifacts under the artifact-local,
self-ignored .review-anvil/ directory are allowed. Retained proof bundles
live in a host-created private directory outside the reviewed worktree and Git
common directory; proof handling never edits tracked files or Git ignore
metadata. A configured trusted proof_runner executes generated probes only
against an exact disposable snapshot with network disabled, source and proof
inputs read-only, filesystem reads restricted to source/proof/runtime inputs,
writes limited to the proof runtime directory, runner-authored results, a
sanitized environment, and bounded resources. The engine never executes a
repository-provided runner or falls back to direct probe execution.
Adversarial review remains read-only and may drop false positives, defer
harmful or tech-debt-heavy fix plans, harden fix prose, or strip unsafe
suggestion blocks.
Default local policy: leave adversarial review off for ordinary fast/local
reviews. Append adversarial: auto when the user asks for a careful,
skeptical, high-confidence, low-noise, thorough, or production-ready read-only
review. Do not append it when the user asks for a quick/rough/sanity pass unless
they explicitly request adversarial review.
When not to use this
- If the user wants fixes applied and committed, activate
review-anvildirectly withcommit_mode=per_fix(or just leave it default). - If the user wants the report posted back to a GitHub PR comment, activate
review-anvil-prinstead.
Engine reference
See ../review-anvil/SKILL.md for: full parameter surface, mix policy, focus options, reviewer prompt template, and final report format. This preset is a one-line argument addition; all behavior comes from the engine.