Design review
Orchestrates a structured design review, running the other skills as a diagnostic funnel from complexity triage to a full red-flags sweep. Use when reviewing a file, module, or PR for overall design quality and you want a comprehensive, prioritized assessment. Not for applying one specific lens (use that skill directly) or analyzing how code changed over time (use code-evolution).From its SKILL.md
npx -y skills add codybrom/clairvoyance --skill design-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.5 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Design Review Orchestrator
When invoked with $ARGUMENTS, scope the entire review to the specified target. Read the target code first, then proceed through the phases below in order. This skill orchestrates other skills from Clairvoyance (https://clairvoyance.fyi). It works best when the full collection is installed.
This skill does not replace individual lenses. It sequences them into a diagnostic funnel that moves from broad to narrow, skipping work when early phases find nothing actionable.
Diagnostic Funnel
Phase 1: Complexity Triage
Apply complexity-recognition checks against the target.
- Identify the three symptoms: change amplification, cognitive load, unknown unknowns
- Trace any symptoms to root causes: dependencies or obscurity
- Weight findings by the complexity formula: high-traffic code first
This phase determines whether the target has measurable complexity problems. If it does, subsequent phases diagnose where.
Phase 2: Structural Review
Apply these lenses to the target's module-level architecture:
- module-boundaries: Are the boundaries drawn around knowledge domains or around steps in a process?
- deep-modules: Does each module provide powerful functionality behind a simple interface? Check for classitis, pass-through methods and shallow wrappers.
- abstraction-quality: Does each layer provide a genuinely different way of thinking, or do adjacent layers duplicate the same abstraction?
Focus on the modules that Phase 1 identified as highest-complexity. If Phase 1 found nothing, scan the largest or most-connected modules.
Phase 3: Interface Review
Apply these lenses to the interfaces exposed by the modules from Phase 2:
- information-hiding: Does the interface leak implementation details? Check for back-door leakage (shared knowledge not in any interface).
- general-vs-special: Does the interface mix general-purpose mechanisms with special-case knowledge? Check for boolean parameters serving one caller.
- pull-complexity-down: Are callers forced to handle complexity the module could absorb? Check for exposed edge cases, required configuration and exceptions that could be defined away.
- error-design: Are errors defined out of existence where possible? Check for catch-and-ignore, overexposed exceptions and error handling longer than the happy path.
Phase 4: Surface Review
Apply these lenses to naming and documentation:
- naming-obviousness: Do names create precise mental images? Check the isolation test: seen without context, could the name mean almost anything?
- comments-docs: Do comments capture what the code cannot say (intent, rationale, constraints)? Check for comments that repeat code and implementation details contaminating interface documentation.
Phase 5: Red Flags Sweep
Run the full red-flags 17-flag checklist against the target. Any flag triggered in Phases 1-4 will already be marked. This phase catches flags that earlier phases may not have surfaced (especially Process flags 15-17: No Alternatives Considered, Tactical Momentum, Catch-and-Ignore).
Early Termination
If Phase 1 finds no measurable complexity AND Phase 5 triggers zero flags, stop. Report the target as clean. Do not force findings where none exist.
Prioritization
Rank findings in this order:
- Syndrome clusters: Multiple flags pointing to the same root cause (e.g., information leakage + conjoined methods + repetition all stemming from one misplaced boundary). These indicate systemic issues. Fixing the root cause resolves all flags in the cluster.
- Boundary issues: Information leakage, module boundary problems and abstraction mismatches. These compound over time and infect adjacent code.
- Canary flags: Hard to Pick Name, Hard to Describe, Non-obvious Code, No Alternatives Considered. These are the cheapest signals. Catch them and the structural flags never materialize.
- Structural issues: Shallow modules, pass-through methods, classitis. These require refactoring but affect a bounded area.
- Surface issues: Naming and documentation problems. Important but lowest cost to fix and lowest risk if deferred.
Reviewing at Scale
The funnel above is written for one target reviewed in-conversation. When the target is an entire codebase, a large PR spanning many files, or the user asks for a "thorough" or "comprehensive" review, running it once per file in a single conversation burns context fast and serializes work that has no reason to be serial.
If Dynamic Workflows are available in this session (the user said "workflow," used the ultracode keyword, or /effort ultracode is set), build one instead of running the funnel manually file by file. See references/workflow-builder.md for how to map these five phases onto a workflow script — what fans out, what needs a barrier, and where to add adversarial verification. If workflows aren't available, fall back to running the funnel per file or module in sequence, same as a single-target review.
What ships with it: 1 file
4.3 KB alongside SKILL.md
references/
- workflow-builder.md4.3 KB
Gives 0 of the 12 instructions most review quality skills give in ~1.0k tokens
Counted across 1,273 of the 2,403 authors here whose files we hold, read 2026-09-06
- Ask one question at a timein 63 of 1273, across 62 files
- Provide a recommended answer for each questionin 47 of 1273, across 45 files
- Rank findings by severityin 44 of 1273
- Use parameterized queries for database accessin 38 of 1273, across 20 files
- Validate all user input with schemasin 33 of 1273, across 15 files
- Store secrets in environment variablesin 32 of 1273, across 14 files
- Explore the codebase to answer questionsin 31 of 1273, across 29 files
- Store tokens in httpOnly cookiesin 30 of 1273, across 12 files
- Implement rate limiting on API endpointsin 30 of 1273, across 12 files
- Sanitize user-provided HTMLin 29 of 1273, across 11 files
- Return generic error messages to usersin 28 of 1273, across 10 files
- Cite file and line for every findingin 28 of 1273, across 25 files
Said here and by no other author read
- Scope review to the specified target
- Read target code before starting phases
- Execute diagnostic funnel phases in order
- Apply complexity recognition checks first
- Focus structural review on high complexity modules
- Apply interface review to identified modules
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.