Skip to content

Capabilities file

Your project’s source of truth is capabilities.yaml or capabilities.json at the project root. Edit the file, then run capa install (or capa add) so capa materializes provider files and wiring from that declaration.

Capa does not auto-discover skills or MCP entries from provider folders. If it is not in the capabilities file, capa will not manage it.

providers:
- cursor
- claude-code
options:
toolExposure: expose-all # expose-all | on-demand | none
# security: { blockedPhrases, allowedCharacters }
# requiresCommands: [ { cli, description? } ]
# agents: { base?, additional? }
skills: []
servers: []
tools: []
# rules: []
# plugins: []
# hooks: []
# subagents: []

providers is optional. When omitted, capa resolves providers at install time from --provider, a previous install recorded in the database, or an interactive prompt.

SectionWhat you declareGuide
providersWhich agent clients capa installs forProviders
optionstoolExposure, optional security, optional requiresCommandsTool exposure
skillsSkills to install and bind tools toSkills
serversMCP servers (local subprocess or remote HTTP)Servers
toolsMCP tool bindings and command toolsTools
rulesProvider rules / instruction snippetsRules
pluginsPlugin packages that ship skills, servers, and morePlugins
hooksLifecycle hooks capa installs into provider configsHooks
agentsBase + additional content for AGENTS.md / CLAUDE.mdAgent instructions
subagentsNamed sub-agents with skills, tools, and instructionsSub-agents
  1. Save capabilities.yaml (or .json).
  2. Run capa install.
  3. Restart the capa server only if you changed server commands, server env vars, or toolExposure (capa restart). Skill, rule, hook, and agents content take effect on the next install.

For how managed install differs from --passthrough, see Managed vs passthrough. For pinned remotes and the on-disk cache, see Lockfile and cache.