From Unblind — algebraic blindness detector
Fix algebraic blindness flagged by the unblind detector hook — replace over-generic bool/string/Maybe/tuple types with named sum types and newtypes. Use when a hook flags algebraic blindness, or when the user asks how to spot or fix it. Includes guardrails against over-narrowing (don't trade blindness for ceremony).
How this skill is triggered — by the user, by Claude, or both
Slash command
/unblind:spot-blindnessThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Algebraic blindness** is using a type too generic to carry the meaning of its
Algebraic blindness is using a type too generic to carry the meaning of its
own values — bool, bare string/int, blind Maybe/Option/null,
untagged tuples. The fix is almost always the same move: name the cases, put
them in a type, let the compiler hold the line.
When the detector flags a site:
checklist.md (same directory) — it has the symptom tells, the 7-question
checklist, the fix toolbox, and the "when to stop" guardrails.The detector only flags symptom shapes then asks an LLM to judge; it is not authoritative. If a flag is a false positive (self-evident boolean, speculative variant, harmless newtype), say so and move on.
npx claudepluginhub nikicat/unblind --plugin unblindProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.