Audit the repo's Claude instructions for contradictory rule pairs — rules where obeying one violates the other, or where a general rule and a specific rule collide with no stated precedence. The 5-family obeys widely, so it hits both rules of a contradiction and either freezes, alternates, or silently picks one. Use for "Claude is inconsistent about X", "it follows the rule sometimes", "these two docs disagree", or as part of /opus-pocus. Read-only; prescribes a carve-out, a kill, or a preced...
Scanned 9/6/2026
Install to Claude Code
npx -y skills add Totes-MickGOATs/opus-pocus --skill contradicto-revelio --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Contradicto Revelio?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/totes-mickgoats-contradicto-revelio)More formats (shields.io, HTML) on the badges page.
---
name: contradicto-revelio
description: Audit the repo's Claude instructions for contradictory rule pairs — rules where obeying one violates the other, or where a general rule and a specific rule collide with no stated precedence. The 5-family obeys widely, so it hits both rules of a contradiction and either freezes, alternates, or silently picks one. Use for "Claude is inconsistent about X", "it follows the rule sometimes", "these two docs disagree", or as part of /opus-pocus. Read-only; prescribes a carve-out, a kill, or a precedence statement per pair. NOT for mere redundancy — that's Clarificus Maxima's duplicate class.
---
# 🛡 Contradicto Revelio
> *"Two rules enter. One rule leaves."*
Instruction layers accrete. A style plugin demands compression; a workflow demands outputs be
pasted verbatim. A global file says "always ask first"; a project file says "never ask, decide".
Each rule was right when written. Together they make every compliant action a violation — and a
model that obeys widely pays that cost on every turn.
## What to scan
All instruction sources *as the model sees them together*: user-global memory files, the
project's own memory files (root and nested, `CLAUDE.md` or `AGENTS.md`), rule files, output
styles, active plugins' skills, hook message text, and agent definitions. Contradictions live
*between* sources more often than within one.
## Anti-patterns to find
1. **Direct contradiction.** Rule A: "compress all output." Rule B: "paste command outputs
verbatim — a summary reads as missing." Obeying either violates the other.
2. **Precedence vacuum.** A general rule and a specific rule collide ("never edit generated
files" vs "this generated folder is hand-tuned; edits survive") with nothing saying which
wins where.
3. **Cross-source drift.** The same rule stated in two files at different strictness ("prefer
feature branches" vs "direct commits to main are blocked") — the model can't tell which is
current.
4. **Obligation vs prohibition.** One rule requires an action ("update the doc in the same
commit") that another forbids in context ("another team owns these docs — never edit them").
The obligation becomes undischargeable (→ also Finite Recursum class 4).
5. **Stale half of a superseded pair.** A decision inverted ("X is now adopted") while the old
prohibition ("never use X") survives elsewhere. The model finds both; recency isn't visible
in a file.
6. **Style-vs-substance collisions.** An output style (brevity, persona, formatting) that
conflicts with content contracts (verbatim verdicts, exact error strings, structured
reports).
## Fix prescriptions
| Finding class | Fix |
|---|---|
| Direct contradiction | Carve-out on the loser: name the exception inside BOTH rules so each acknowledges the other ("verbatim-verdict blocks are exempt from any compression style") |
| Precedence vacuum | One precedence statement at the point of collision — "the specific row wins over this table"; never leave winning to inference |
| Cross-source drift | Single-source it: the strictest current version in one place, a pointer everywhere else |
| Obligation vs prohibition | Give the obligation a discharge path that respects the prohibition ("report it; the owning team applies it") |
| Stale superseded half | Delete the stale half and grep all sources for its restatements — a superseded rule always has copies |
| Style-vs-substance | An explicit exemption list in the style itself; substance contracts win by default |
## Detection technique
Contradictions rarely share vocabulary, so grep alone misses them. Build the obligation table:
extract every MUST/NEVER/ALWAYS-class rule into (source, trigger, required-or-forbidden action),
then sort by action. Collisions cluster on the same action with opposite polarity. For large
layers, fan the extraction out per source and join the tables.
## Bounds
- Scope: all instruction sources as the model sees them together — user-global memory, project memory, rule files, output styles, hook text, agent definitions. Cross-source pairs are the point; other plugins' files are still out of scope.
- Cap: 15 pairs, ranked by how often both halves are live in the same turn.
- Done when the obligation table has been built once and sorted for collisions — not when no further pair can be imagined.
- Quote once, at read time; mark anything you cannot re-confirm `UNVERIFIED` rather than re-reading to check yourself.
- See `skills/opus-pocus/references/casting-safety.md` for the full rules.
## Report format
Per finding: the PAIR (`fileA:line` × `fileB:line`) · class (1–6) · both quoted rules · the
prescription with which rule wins and why. End with the pair count by class. `SCANNED NOTHING`
if fewer than two instruction sources were found, grading `N/A` — a single memory file cannot
contradict itself across sources.
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!