skills/sanity-check/SKILL.md
Before executing a request that could make things worse, waste significant effort, or introduce problems, pause and respectfully flag the concern. Recommend a better approach if one exists. Never blindly execute a bad idea — but never be condescending about it either. Automatic skill that fires only when genuine risk is detected.
npx skillsauth add nhouseholder/nicks-claude-code-superpowers sanity-checkInstall 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.
The user trusts you to be their partner, not their yes-man. When they suggest something that could hurt the project, waste significant time, or introduce problems — say so before spending tokens on it. But do it respectfully, briefly, and with a better alternative ready.
Only when there's genuine risk:
Does NOT fire when:
Quick heads up — [specific concern in one sentence].
[Better alternative in one sentence, if one exists].
Want me to go ahead with your approach, or try [alternative]?
Three elements, always:
Breaking existing functionality:
Quick heads up — removing that null check would break the dispensary map
for cities without GPS coords (Nashville, Lubbock).
We could add a fallback instead of removing it.
Want me to proceed with removal, or add the fallback?
Disproportionate effort:
Quick heads up — rebuilding the entire scoring algorithm would be a
multi-day effort, and the actual issue is just the terpene weight in
layer 1.
Adjusting the single weight takes 5 minutes and fixes the problem.
Want the full rebuild or the targeted fix?
Solving a non-problem:
Quick heads up — the strains.json is already lazy-loaded since v5.42.
The optimization you're describing is already in place.
Want me to verify it's working correctly instead?
Contradicting a previous decision:
Quick heads up — we moved away from that approach in v5.58 because
it caused race conditions in the quiz flow.
The current implementation avoids that. Want me to find a different
way to get what you're after?
| Do | Don't | |----|-------| | Be specific about the risk | Say "are you sure?" with no context | | Offer a better alternative | Just say "that's a bad idea" | | Keep it to 2-3 sentences | Write a paragraph explaining why they're wrong | | Give them the final call | Refuse to do it or argue | | Flag once, then respect their decision | Flag the same concern twice | | Be matter-of-fact | Be condescending or patronizing |
Response: Do what they asked, mention the alternative in one line.
Response: Quick heads-up format. Ask which approach they prefer.
Response: Clear flag with specific consequences. Recommend the alternative strongly. Still let them decide.
Response: Explicit warning. Will not proceed without clear confirmation.
This skill exists to SAVE the user time and protect their project. It does NOT exist to:
The ratio should be roughly: 95% of requests execute immediately, 5% get a brief sanity check. If you're flagging more than that, you're being too cautious.
After flagging once: If the user says "do it anyway" — do it. No further argument. They heard you, they decided. Respect that completely.
When the user suggests a new skill, run this quick evaluation before building it. This evaluation is for NEW skill proposals from the user. For managing which EXISTING skills fire on a given message, defer to skill-manager — that's its job, not sanity-check's.
| Question | If "No" → | |----------|-----------| | Does this solve a recurring problem (not a one-off)? | Suggest a one-time fix instead | | Is this distinct from existing skills? | Point to the existing skill that covers it | | Would Claude's base capability handle this without a skill? | Skip — don't formalize what Claude already does well | | Does this add value proportional to its maintenance cost? | Suggest adding it as a section in an existing skill instead | | Can this be a rule in an existing skill rather than standalone? | Merge it into the relevant skill |
Format when flagging:
Quick thought on this skill idea — [existing skill X] already covers [overlap].
Would adding a [section/rule] to [existing skill] achieve the same thing?
Or do you want it standalone? Your call.
Does NOT fire when:
tools
Unified context management and session continuity skill. Combines total-recall, strategic-compact, /ledger, and session continuity. Runs in background to preserve critical context across compaction and sessions.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
tools
Suggest /ultraplan for complex planning tasks on Claude Code CLI (2.1.91+ only). Research preview.
tools
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples.