skills/with-anti-rationalization/SKILL.md
Anti-rationalization enforcement for maximum-rigor task execution.
npx skillsauth add notque/claude-code-toolkit with-anti-rationalizationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill operates as a composable modifier that wraps any task with explicit anti-rationalization enforcement. It implements the Gate Enforcement architectural pattern—every phase transition requires evidence, every completion claim requires proof—with Pressure Resistance embedded to prevent quality erosion under time or social pressure.
This skill is not a substitute for domain-specific methodologies (debugging, refactoring, testing have their own skills). Instead, it layers anti-rationalization checks on top of whatever task you're executing. It adds intentional overhead for safety on critical work where shortcuts cause harm.
Goal: Load all anti-rationalization patterns relevant to the task before starting work.
Constraint: Full pattern loading is mandatory because domain-specific patterns catch rationalizations that the core set misses.
Step 1: Identify task domain
Classify the task to determine which domain-specific patterns apply:
| Domain | Pattern to Load |
|--------|----------------|
| Any task | anti-rationalization-core.md |
| Code review | anti-rationalization-review.md |
| Testing | anti-rationalization-testing.md |
| Security | anti-rationalization-security.md |
| Multi-phase work | gate-enforcement.md |
| User pressure detected | pressure-resistance.md |
| Pre-completion | verification-checklist.md |
Step 2: Load and acknowledge patterns
Read the identified shared-pattern files. Internalize the rationalization tables and enforcement rules. Constraint: State explicitly which patterns were loaded and why—this creates accountability and prevents performative checking.
Gate: All relevant patterns are loaded and acknowledged. Proceed only when you can articulate why each pattern applies. Rubber-stamp gate checks fail the purpose of the skill, so explain why each pattern is relevant before moving on.
Goal: Run the underlying task with anti-rationalization checks at every transition.
Constraint: This skill wraps other skills. If the task involves debugging, follow systematic-debugging methodology. If refactoring, follow systematic-refactoring. The anti-rationalization layer adds checks on top, not instead of.
Step 1: Delegate to appropriate methodology
Identify what kind of work this is. If it fits an existing methodology (debugging, refactoring, testing, code review), use that skill. Anti-rationalization enforcement amplifies what they do, it does not replace it.
Step 2: At each phase transition, run gate check
For each transition, verify:
Constraint - Pressure Resistance: If the user requests skipping a step:
Then run a rationalization scan:
If any answer is YES: STOP and address the rationalization before proceeding.
Constraint - Proportionate Rigor: Scale check depth to task risk. Critical production changes get full ceremony. A three-file refactor gets lighter gates. Never zero—apply at least proportionate rigor.
Gate: Task phases executed with all gate checks passing. Proceed only when gate passes.
Goal: Verify completion with the full verification checklist and anti-rationalization self-check.
Step 1: Run verification checklist
| Check | Verified? | Evidence | |-------|-----------|----------| | All stated requirements addressed | [ ] | [specific evidence] | | Tests pass (if applicable) | [ ] | [test output] | | No regressions introduced | [ ] | [existing test output] | | Error handling in place | [ ] | [error paths tested] | | Code compiles/lints | [ ] | [build output] | | Anti-rationalization table reviewed | [ ] | [self-check completed] |
Constraint: Every check requires actual evidence, not claims. "Code looks right" is not evidence. "Tests should pass" is not evidence. Test output screenshot is evidence.
Step 2: Run completion self-check
## Completion Self-Check
1. [ ] Did I verify or just assume?
2. [ ] Did I run tests or just check code visually?
3. [ ] Did I complete everything or just the "important" parts?
4. [ ] Would I bet $100 this works correctly?
5. [ ] Can I show evidence (output, test results)?
If ANY answer is uncertain, return to Phase 2 and address the gap before continuing. Keep the gate criteria intact until the gap is closed.
Step 3: Document completion evidence
Summarize: task description, patterns loaded, gate checks passed, rationalizations detected and addressed, and final evidence proving the task is complete.
Gate: All verification steps pass. Self-check is clean. Evidence documented. Task is complete.
User says: "/with-anti-rationalization deploy the payment processor update"
Actions:
Result: Deployment verified with evidence at every step
User says: "/with-anti-rationalization review the authentication module"
Actions:
Result: Thorough review with no rationalized dismissals
This section catalogs the rationalization patterns this skill detects and prevents. Use these as reference when reviewing gates and completing self-checks.
| Rationalization | Why It's Wrong | Required Action | |-----------------|----------------|-----------------| | "I loaded the patterns, that's enough" | Loading is not applying | Actively check against patterns at each gate | | "This task is simple, full rigor is overkill" | Simplicity assessment is itself a rationalization risk | Apply proportionate rigor, but never zero | | "User seems frustrated, I'll ease up" | Frustration does not change correctness requirements | Acknowledge frustration, maintain standards | | "The gate basically passes" | Basically is not actually | Either it passes with evidence or it does not |
Signal: Running gate checks but rubber-stamping them all as PASS without reading evidence Why it matters: Gate checks that always pass provide zero value. The check is the evidence review, not the checkbox. Preferred action: Read the evidence for each criterion. If you cannot articulate why it passes, it does not pass.
Signal: Reframing a skipped step as "not applicable" rather than "skipped" Why it matters: "Not applicable" is sometimes legitimate, but it is also the most common way to rationalize skipping steps. Preferred action: For every "N/A" judgment, state why it does not apply. If the reason is weak, do the step.
Signal: Loading only anti-rationalization-core and skipping domain-specific patterns Why it matters: Domain-specific patterns catch rationalizations that the core misses. Preferred action: Classify the task domain in Phase 1 and load all matching patterns.
Signal: Immediately dropping verification when the user says "just do it" Why it matters: The entire purpose of this skill is to resist shortcuts. Immediate capitulation defeats the purpose. Preferred action: Follow the pressure resistance framework: acknowledge, explain, proceed. Comply only after explaining risk.
Signal: Spending more time on the checking framework than on the actual task Why it matters: The goal is correct output, not elaborate process documentation. Checks should be proportionate. Preferred action: Scale check depth to task risk. Critical production changes get full ceremony. A three-file refactor gets lighter gates.
Cause: Shared pattern file missing or path changed Solution:
skills/shared-patterns/ for available filesCause: Task requirements unclear, or task is fundamentally blocked Solution:
Cause: Time pressure, frustration, or genuine scope reduction Solution:
This skill composes these shared patterns:
documentation
Document translation: quick/normal/refined modes with chunked parallel subagents and glossary support.
development
AI image generation: Gemini and Nano Banana backends; single/series/batch workflows with prompt-to-disk.
testing
Unified voice content generation pipeline with mandatory validation and joy-check. 13-phase pipeline: LOAD, GROUND, STATS-CHECKPOINT, GENERATE, HOOK-GATE, VALIDATE, REFINE, VARIETY-GATE, JOY-CHECK, ANTI-AI, CLOSE-GATE, OUTPUT, CLEANUP. Use when writing articles, blog posts, or any content that uses a voice profile. Use for "write article", "blog post", "write in voice", "generate content", "draft article", "write about".
documentation
Critique-and-rewrite loop for voice fidelity validation.