Your CLAUDE.md is arguing with Opus 5

It verifies its own work now. Every "double-check your answer" you wrote back then is a tax the model pays on your behalf, in every session, forever.

~/.claude/CLAUDE.md
Verify before claiming completion.
Never self-approve: use a verifier subagent.
Delegate only for large parallelizable work.

10,874 5,708 tokens of always-on instructions, measured on one real machine

Run the audit

Four habits that used to help

Anthropic's Opus 5 guide names them. Each one costs tokens now, and two of them make the model quieter about real bugs.

"Claude Opus 5 verifies its own work without being told to. If your prompt contains explicit verification instructions, remove them."

Anthropic, Prompting Claude Opus 5
was fine

"Only report high-severity issues, be conservative."

now costs you

The model follows it literally and stays quiet about real bugs. Ask for everything, filter in a second pass.

Delegation went the same way. Opus 5 reaches for subagents on its own, so a list of reasons to delegate turns a two-minute edit into four parallel sessions. And a rule telling it not to reason leaks internal tags into the answer.

Six lines out of a config nobody reads twice

A real file. The counter is what it costs in every session, headless ones included.

~/.claude/CLAUDE.md 10,874 → 5,708 tokens · every session
<operating_principles>
- Prefer evidence over assumptions: verify outcomes before final claims.
- Choose the lightest-weight path that preserves quality.
</operating_principles>

<verification>
Verify before claiming completion. Size appropriately: small→haiku, large→opus.
If verification fails, keep iterating.
</verification>

<execution_protocols>
Never self-approve; use `code-reviewer` or `verifier` for the approval pass.
Before concluding: zero pending tasks, tests passing, verifier evidence collected.
Broad requests: explore first, then plan. 2+ independent tasks in parallel.
</execution_protocols>

keep scrolling — the cuts happen as you go what's left is what Opus 5 actually reads

What it goes looking for

Six passes over your own files. Each frame is a real class of finding, with file and line.

01

Self-verification

The model already checks itself. The instruction just buys a second pass.

Verify before claiming completion.
02

Verifier subagents

A second agent spawned to check the first one's work: double the cost, and nothing found that the model would have missed alone.

Never self-approve; use `verifier` for the approval pass.
03

Muzzled review

Opus 5 obeys this literally and goes quiet about real bugs. The only finding here that costs you correctness rather than tokens.

Only report high-severity issues, be conservative.
04

Open-ended delegation

Written for a model that needed encouragement. This one no longer does.

Delegate for: refactors, reviews, planning, research…
05

Context weight

Every token in CLAUDE.md, AGENTS.md and rules/ loads in every single session, headless runs included. The scan prints the total, the heaviest files, and the blocks you pasted twice.

always-on = 10,874 tokens · 574 chars duplicated
06

Hooks you forgot

The same sentence, delivered dozens of times an hour, from a file you never open.

PostToolUse * → "Verify changes work…"

It brings you the lines. You decide.

A test suite is not a ritual. The scanner never edits anything. It collects candidates with file and line, and the skill spells out how to tell one from the other before a single character changes.

Cut
"verify before claiming completion", "double-check your answer", "use a verifier subagent", "never self-approve"
Keep
tests, linters, CI gates, "check the file exists", "re-read the thread before replying", "verify facts against sources". These fetch new information
Rewrite
"only report high-severity issues" → report everything, filter in a separate pass
node scripts/scan.mjs
# Opus 5 tune-up — scan results

Always-on instruction weight
CLAUDE.md + AGENTS.md + rules/ = 10,874 tokens in EVERY session

Findings
[high] Ordering the model to verify its own work
  ~/.claude/CLAUDE.md:36 — "Verify before claiming completion…"
[high] Using a subagent to check your own work
  ~/.claude/CLAUDE.md:49 — "Never self-approve; use `verifier`…"

Hooks firing on every tool call
PostToolUse * → post-tool-verifier.mjs

Duplicated blocks
574 chars in CLAUDE.md + AGENTS.md

The same nudge, on every edit you make

A PostToolUse hook that appends "verify your changes" is that instruction again, delivered dozens of times an hour. It never appears in your CLAUDE.md, so nobody looks for it there.

The fix is a supported switch, not a patched plugin file: something like "env": { "PLUGIN_QUIET": "1" } keeps real errors and drops the chatter. Where no switch exists, the skill says so instead of editing files an update will overwrite.

Point it at your own setup

Clone it into your skills folder, then ask for a tune-up in any session. It reads, reports, and waits for your yes before touching a file.

git clone https://github.com/agiwhitelist/opus5-update ~/.claude/skills/opus5-update

Then, in Claude Code: /opus5-update, or just ask it to prepare your setup for Opus 5.