From vibe-engineering
Detects and prevents AI rationalizations like skipping tests, docs, error handling, or simplifying requirements without user approval. Triggers on patterns such as 'too simple' or 'later'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibe-engineering:anti-rationalization-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
LLMs systematically rationalize shortcuts. This skill catches it happening.
LLMs systematically rationalize shortcuts. This skill catches it happening.
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 |
When you detect a rationalization:
This skill doesn't produce output — it's a mental discipline check. When triggered, it modifies behavior, not output.
If invoked explicitly by the user, report:
npx claudepluginhub ash1794/vibe-engineering --plugin vibe-engineeringApplies adversarial fresh-context review to non-trivial decisions in code. Use when correctness matters more than speed, in unfamiliar code, or for high-stakes operations.
Subjects non-trivial decisions to a fresh-context adversarial review before finalizing. Use for high-stakes code, unfamiliar logic, or when correctness outweighs speed.
Cross-examines non-trivial decisions via a fresh-context adversarial reviewer before they stand. Use when correctness matters more than speed, in unfamiliar code, or for high-stakes operations.