From clairvoyance
Evaluates whether abstractions genuinely reduce complexity or are structurally shallow. Use when layers feel redundant, decorators add boilerplate, or abstractions leak.
How this skill is triggered — by the user, by Claude, or both
Slash command
/clairvoyance:abstraction-quality [file or module path][file or module path]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
When invoked with $ARGUMENTS, focus the analysis on the specified file or module. Read the target code first, then apply the checks below.
When invoked with $ARGUMENTS, focus the analysis on the specified file or module. Read the target code first, then apply the checks below.
Evaluate whether abstractions are genuine (hiding complexity) or false (adding layers without reducing what callers must know).
Can callers forget what's underneath? If yes, it's genuine. If callers must peek through to use it correctly, it's false.
A file system can safely hide which disk blocks store data. It cannot hide flush rules for durable storage. Databases depend on that guarantee.
Each layer should provide a fundamentally different way of thinking about the problem. If two adjacent layers have similar methods, similar parameters, similar concepts, the layering adds cost without value.
Check: compare the interface of each layer. Are they at different conceptual levels? Or is one just a thin rephrasing of the other?
Decorators are structurally committed to shallowness. A decorator that adds one behavior to a class with twenty methods has nineteen pass-throughs and one meaningful method.
For the full decorator-alternatives checklist, see deep-modules' "Decorator Alternatives" section.
Ask whether the new functionality really needs to wrap the existing functionality. If not, implement it independently.
See deep-modules' "Pass-Through Method Audit" fixes (Expose, Redistribute, Merge) for the full remedy taxonomy.
This skill asks "is the abstraction genuine?": does each layer provide a different way of thinking? deep-modules asks the follow-up: "is the module deep enough?": does the interface justify what's behind it? A layer can provide a genuinely different abstraction and still be shallow. Use this skill first to evaluate layer structure, then deep-modules to evaluate depth within each layer.
npx claudepluginhub codybrom/clairvoyance --plugin clairvoyanceGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.