abstraction-quality

Evaluate software abstractions for genuine complexity hiding versus redundant layers.

11|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/codybrom/clairvoyance --skill abstraction-quality
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: abstraction-quality
Source: https://github.com/codybrom/clairvoyance/tree/main/skills/abstraction-quality
Command: npx skills add https://github.com/codybrom/clairvoyance --skill abstraction-quality

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill identifies abstractions that add layers without reducing complexity, helping developers distinguish genuine conceptual boundaries from shallow wrappers, leaky interfaces, and redundant architecture.

Core Features & Use Cases

  • Layer Comparison: Compare adjacent layers to determine whether they provide meaningfully different mental models.
  • Abstraction Testing: Evaluate whether callers can use an abstraction without understanding its underlying implementation.
  • Wrapper and Decorator Review: Detect pass-through methods and structurally shallow decorators that add boilerplate without meaningful depth.
  • Refactoring Guidance: Recommend exposing, redistributing, or merging false abstractions.
  • Use Case: Apply this Skill during an architecture review when service, adapter, or decorator layers appear to duplicate each other's methods and responsibilities.

Quick Start

Review the specified module and identify whether its abstraction genuinely hides complexity or merely adds another layer.

Frequently Asked Questions about abstraction-quality

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify shallow abstractions and unnecessary wrapper layers during a code review?

To identify shallow abstractions during code review, compare adjacent layers to see if they provide meaningfully different mental models or merely add redundant pass-through methods. Evaluate whether callers can use the abstraction without understanding its underlying implementation.

What is a shallow abstraction in software architecture and how does it hide complexity?

A shallow abstraction in software architecture is a layer or wrapper that fails to hide complexity, instead adding redundant boilerplate. Genuine abstractions provide conceptual boundaries and distinct mental models, while shallow ones leak implementation details and duplicate responsibilities across modules.

When should I refactor or merge false abstractions in a layered design?

You should refactor false abstractions in a layered design when decorators or wrappers exhibit structurally shallow pass-through behavior. Expose, redistribute, or merge these false abstractions to eliminate redundant architecture and ensure remaining layers genuinely reduce complexity.

Does the decorator pattern always reduce complexity or can it create shallow wrappers?

The decorator pattern can create shallow wrappers if it adds pass-through methods without meaningful depth. During architecture review, audit decorator behavior to determine whether it genuinely hides implementation details or merely adds boilerplate layers duplicating responsibilities.

How do I test if callers can use an abstraction without understanding its implementation?

Test implementation independence by verifying callers can interact with the abstraction's interface without needing knowledge of its underlying mechanics. If callers must understand internal details to use the wrapper, the abstraction is leaky and structurally shallow.