Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ash1794/vibe-engineering --skill anti-rationalization-checkgit clone --depth 1 https://github.com/ash1794/vibe-engineeringWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ash1794/vibe-engineering/anti-rationalization-check)<a href="https://agentmods.dev/skills/ash1794/vibe-engineering/anti-rationalization-check"><img src="https://agentmods.dev/badge/skills/ash1794/vibe-engineering/anti-rationalization-check/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ash1794/vibe-engineering/anti-rationalization-check"><img src="https://agentmods.dev/badge/skills/ash1794/vibe-engineering/anti-rationalization-check.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00047 | $0.00604 |
| Opus 5 | $0.00023 | $0.00302 |
| Sonnet 5 | $0.00009 | $0.00121 |
| Haiku 4.5 | $0.00005 | $0.00060 |
Grade A, and why
vibe-anti-rationalization-check scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- vibe-anti-rationalization-check — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
vibe-anti-rationalization-check
LLMs systematically rationalize shortcuts. This skill catches it happening.
When to Use This Skill
- You catch yourself thinking "this is simple enough to skip testing"
- You're about to reduce scope without the user asking
- You notice you're explaining why something "doesn't really need" to be done
- A constraint feels "too strict" and you want to relax it
- You're about to say "in the interest of time..."
When NOT to Use This Skill
- The user explicitly asked to skip something
- You're genuinely unsure if something is needed (ask the user instead)
- The simplification is the user's explicit request
Known Rationalization Patterns
Watch for these thoughts — they're red flags:
| Rationalization | Reality |
|---|---|
| "This is too simple to need tests" | Simple code in complex systems causes the hardest bugs |
| "The user probably doesn't care about this edge case" | Production users will find every edge case |
| "We don't need error handling here" | Internal code fails too, especially during refactors |
| "I'll add that later" | "Later" never comes. Do it now or create a tracked task |
| "This is just boilerplate" | Boilerplate often contains critical correctness constraints |
| "The happy path is enough for now" | The sad path is where real users spend most of their time |
| "It works, so it must be correct" | "Works" and "correct" are different things |
| "This test is redundant" | Redundant tests catch redundant bugs |
| "Let me simplify this requirement" | Simplifying without asking = silently dropping scope |
| "This doesn't need documentation" | If you thought about it for >2 minutes, document why |
Steps
When you detect a rationalization:
- Name it — "I notice I'm rationalizing skipping [X]"
- State the constraint — "The requirement says [specific requirement]"
- Evaluate honestly — Is there a legitimate reason to skip this, or is it laziness?
- Choose:
- If legitimate: Ask the user "Should we skip X because Y?"
- If rationalization: Do the work. Don't mention the temptation.
- If you skipped something without asking: Go back and do it
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 62 lines · 47 tokens per session scan A 448e7cf88c0e
vibe-anti-rationalization-check is a skill published in the GitHub repository ash1794/vibe-engineering (10 stars, last pushed 3mo ago), licensed MIT. It adds 47 tokens to every session and 604 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
resolve-plugins
Curate Claude Code skill / MCP / hook picks against live upstream sources and pin them in .claude/settings.json. Adding a process harness (a paired skill set) is an ordinary pick this door handles. Reads stack from docs/techstack.md, workflow signal from docs/overview.md + existing pins, then live-queries six source…
refresh
Use when an existing contextualizer's references may have drifted from current upstream state — typically weekly, or whenever a few days of upstream changes have accumulated — to bring them back into agreement.
using-skill-engine
When the user mentions skill-engine or "the engine" without naming a specific workflow, or wants first-run setup. Inspects .claude/skills/-context/ install state (and any pending -context.proposed/ proposals) across all three install levels, then dispatches to engine-bootstrap when no contextualizer exists, to…
apply
Use when a staged proposal has been reviewed and signed off — REVIEW.md Step 3 ticked reviewed or provisional — and is ready to promote into the live contextualizer.
config-set
Use when changing an engine-wide config value — currently diff.tool, the command /skill-engine:review prints for inspecting a proposed-vs-live diff.
my-adhd-caveman
Self-contained output mode: ADHD actable structure (action first, numbered steps, one next action, one-line progress) plus caveman diction (drop fluff/articles, fragments, fewer tokens). Use when the user says "adhd-caveman", "my-adhd-caveman", or invokes /my-adhd-caveman. Needs no other skills.