Install Clairvoyance
Pick your agent. Clairvoyance installs as a plugin or skill pack and runs entirely inside your agent's own session.
Or skip the steps: copy a prompt, paste it into your agent, and it installs Clairvoyance itself.
Add to your agent
Claude Code
/plugin marketplace add codybrom/clairvoyance
/plugin install clairvoyance@clairvoyance-plugins
skills.sh
npx skills add codybrom/clairvoyance --skill '*'
Codex
Requires Codex CLI ≥ 0.142.0 (codex --version). The Codex App and CLI share the same config, so this also makes Clairvoyance visible in the App's Plugins panel.
codex plugin marketplace add codybrom/clairvoyance
codex plugin add clairvoyance@clairvoyance
Older Codex versions only get the 16 skills, via a manual symlink — see .codex/INSTALL.md for that fallback and full troubleshooting.
Cursor
Cursor doesn't yet have a one-line "install from a GitHub URL" flow for unlisted plugins, so clone (or symlink) the repo into Cursor's local plugins folder and restart:
git clone https://github.com/codybrom/clairvoyance.git ~/.cursor/plugins/local/clairvoyance
Then check the Customize panel in the sidebar to confirm Clairvoyance and its 16 skills are listed.
OpenCode
Add Clairvoyance to the plugin array in your opencode.json (global or project-level):
{
"plugin": ["clairvoyance@git+https://github.com/codybrom/clairvoyance.git"]
}
Restart OpenCode — no symlinks or manual skill paths needed. See .opencode/INSTALL.md for version pinning, troubleshooting, and migrating off the old symlink-based install.
Antigravity
agy plugin install https://github.com/codybrom/clairvoyance
Factory Droid
Droid translates Claude Code plugin format automatically — no Clairvoyance-specific files needed.
droid plugin marketplace add https://github.com/codybrom/clairvoyance
droid plugin install clairvoyance@clairvoyance-plugins
GitHub Copilot CLI
copilot plugin marketplace add codybrom/clairvoyance
copilot plugin install clairvoyance@clairvoyance-plugins
Kimi Code
In Kimi Code's plugin manager (/plugins), choose Custom, or run directly:
/plugins install https://github.com/codybrom/clairvoyance
Kimi Code will show a third-party trust prompt since this isn't an officially curated source — confirm to proceed.
Pi
pi install git:github.com/codybrom/clairvoyance
Pi auto-discovers the skills/ directory with no extra config.
llms.txt
Machine-readable skill index for LLM agents:
- clairvoyance.fyi/llms.txt — table of contents with descriptions
- clairvoyance.fyi/llms-full.txt — full content of all skills
Note: Installation differs by platform. If you use more than one, install Clairvoyance separately for each.
Updating
- Claude Code:
/plugin update clairvoyance - skills.sh:
npx skills update codybrom/clairvoyance - Codex:
codex plugin marketplace upgrade clairvoyance && codex plugin add clairvoyance@clairvoyance - Cursor:
cd ~/.cursor/plugins/local/clairvoyance && git pull, then restart - OpenCode: doesn't auto-refresh on restart unless you pinned a tag — see .opencode/INSTALL.md
- Antigravity: re-run
agy plugin install https://github.com/codybrom/clairvoyance - Factory Droid:
droid plugin marketplace update clairvoyance-plugins && droid plugin update clairvoyance@clairvoyance-plugins - GitHub Copilot CLI:
copilot plugin update clairvoyance - Kimi Code: re-run the install command from the Custom tab
- Pi:
pi update --extensions(re-run install with a new ref if you pinned one) - MCP server: always serves the latest skills, so there's nothing to update.
- llms.txt: Always up to date at clairvoyance.fyi/llms-full.txt.
See CHANGELOG.md or the GitHub releases for what changed in each version.
Or connect the MCP server
The MCP server gives any MCP client the same skills as the plugin, with no sign-in. Each skill is a tool with the same name and description it has in the plugin, and clients that support MCP prompts also offer each skill as a slash command. More about the MCP server
Claude Code:
claude mcp add --transport http clairvoyance https://clairvoyance.fyi/mcpCodex:
codex mcp add clairvoyance --url https://clairvoyance.fyi/mcpAny other client: add https://clairvoyance.fyi/mcp as a remote (HTTP) MCP server.
What's included 16 skills
deep-modulesStructureMeasures module depth: whether the interface is simple relative to the implementation behind it.Measures module depth: whether the interface is simple relative to the implementation behind it. Use when an interface has too many parameters or methods, many small classes each do too little, or methods just forward calls. Not for whether adjacent layers provide different abstractions (use abstraction-quality) or merging/splitting modules (use module-boundaries).
Read the skill →module-boundariesStructureEvaluates where module boundaries are drawn and whether modules should be merged or split.Evaluates where module boundaries are drawn and whether modules should be merged or split. Use when deciding whether to combine or separate two modules, when modules are tightly coupled, or when a change to one forces changes to another. Not for depth within a single module (use deep-modules) or abstraction-layer quality (use abstraction-quality).
Read the skill →information-hidingStructureChecks for information leakage across module boundaries, including temporal decomposition and false encapsulation.Checks for information leakage across module boundaries, including temporal decomposition and false encapsulation. Use when modules change together, implementation details leak across boundaries, or structure follows execution order rather than knowledge ownership. Not for merge/split decisions (use module-boundaries) or interfaces over-specialized for one caller (use general-vs-special).
Read the skill →pull-complexity-downStructureChecks whether complexity is pushed to callers or absorbed by implementations — the direction complexity flows.Checks whether complexity is pushed to callers or absorbed by implementations — the direction complexity flows. Use when callers must do significant setup, handle errors the module could resolve, or configure things they don't understand. Not for module depth (use deep-modules), knowledge leakage (use information-hiding), or exception strategy once an error must surface (use error-design).
Read the skill →general-vs-specialAbstractionEvaluates whether interfaces are appropriately general-purpose.Evaluates whether interfaces are appropriately general-purpose. Use when checking interface generality, when if-branches or parameters serve only one caller, or when getters/setters expose internal representation. Not for information leakage across boundaries (use information-hiding) or auditing configuration parameters (use pull-complexity-down).
Read the skill →error-designAbstractionReviews error handling and exception design, applying the "define errors out of existence" principle.Reviews error handling and exception design, applying the "define errors out of existence" principle. Use when reviewing error handling, when a module throws too many exceptions, or when callers must handle errors they shouldn't need to know about. Not for general caller-burden complexity (use pull-complexity-down); this skill is specifically for exception and error-condition strategy.
Read the skill →abstraction-qualityAbstractionEvaluates whether abstractions provide a genuinely different way of thinking or are structurally shallow.Evaluates whether abstractions provide a genuinely different way of thinking or are structurally shallow. Use when adjacent layers feel redundant, wrappers add boilerplate without depth, or an abstraction feels leaky. Not for a single module's interface-to-implementation ratio (use deep-modules) or information leakage across boundaries (use information-hiding).
Read the skill →naming-obviousnessClarityReviews naming quality and code obviousness via the isolation test, scope-length principle, and consistency audit.Reviews naming quality and code obviousness via the isolation test, scope-length principle, and consistency audit. Use when names feel vague, something is hard to name (a design signal, not a vocabulary problem), or behavior isn't obvious on first read. Not for comment quality or documentation (use comments-docs).
Read the skill →comments-docsClarityReviews comment quality and documentation practices: the four comment types, comments-first workflow, and comment rot.Reviews comment quality and documentation practices: the four comment types, comments-first workflow, and comment rot. Use when reviewing comments or docs, when comments just repeat the code, or when something is hard to describe in a sentence. Not for naming or code obviousness (use naming-obviousness).
Read the skill →strategic-mindsetProcessAssesses whether code reflects strategic or tactical thinking, including the 10-20% investment rule and tactical-tornado patterns.Assesses whether code reflects strategic or tactical thinking, including the 10-20% investment rule and tactical-tornado patterns. Use when evaluating design investment, when code was written under time pressure, or when working code consistently degrades the system. Not for judging whether a specific diff looks designed-in or bolted-on (use code-evolution).
Read the skill →design-it-twiceProcessGenerates and compares at least two fundamentally different design alternatives on concrete criteria before committing.Generates and compares at least two fundamentally different design alternatives on concrete criteria before committing. Use when the user asks to design something twice, or before committing to any significant design of classes, modules, APIs, or architecture. Also use when asked how to structure or architect a feature, or when writing the design or alternatives section of an RFC, design doc, or ADR. Not for judging strategic vs. tactical investment in existing code (use strategic-mindset) or whether a change degrades design (use code-evolution).
Read the skill →code-evolutionProcessEvaluates whether changes to existing code maintain or degrade design quality.Evaluates whether changes to existing code maintain or degrade design quality. Use when the user asks to review a diff or PR (for example before merging it), or asks about recently modified files, to judge whether each change looks designed-in or bolted-on. Not for scanning design smells (use red-flags) or assessing overall design investment (use strategic-mindset).
Read the skill →complexity-recognitionProcessDiagnoses whether complexity exists and where it comes from, using the three-symptom, two-root-cause framework.Diagnoses whether complexity exists and where it comes from, using the three-symptom, two-root-cause framework. Use when code feels harder to work with than it should but the specific problem is unclear. Not for scanning known design smells (use red-flags) or evaluating a module's depth (use deep-modules).
Read the skill →red-flagsDiagnosticScans code against 17 design smells (the book's 14 named Red Flags plus 3 process-stage signals) and produces a structured diagnostic report.Scans code against 17 design smells (the book's 14 named Red Flags plus 3 process-stage signals) and produces a structured diagnostic report. Use when the user asks for a red flags or design smell scan, asks to check code against a checklist, is evaluating unfamiliar code, or asks open-endedly whether anything is off in a named or pasted file, class, or function, or asks you to look it over. Not for a specific bug, error, or failing test the user has already identified. Not for a plain diff or PR review before merge, or whether a PR maintains design trajectory (use code-evolution for both), or diagnosing why code feels complex (use complexity-recognition).
Read the skill →design-reviewDiagnosticOrchestrates a structured design review, running the other skills as a diagnostic funnel from complexity triage to a full red-flags sweep.Orchestrates a structured design review, running the other skills as a diagnostic funnel from complexity triage to a full red-flags sweep. Use when the user asks for a comprehensive or prioritized design assessment of a file, module, or PR. Not for an open-ended "anything off here?" or "take a look at this" prompt that names no review goal (use red-flags), a plain diff review before merge or analyzing how code changed over time (use code-evolution), or applying one specific lens (use that skill directly).
Read the skill →diagnoseDiagnosticRoutes a vague symptom or complaint to the most relevant Clairvoyance skill via a decision tree.Routes a vague symptom or complaint to the most relevant Clairvoyance skill via a decision tree. Use when someone describes a problem but doesn't know which skill to reach for. Not for a comprehensive review (use design-review) or a checklist scan (use red-flags).
Read the skill →