Capa is a capabilities manager for AI coding agents. You declare skills, tools, rules, sub-agents, MCP servers, hooks, plugins, and agent instructions once in a capabilities.yaml file, then capa install writes them into each agent’s native layout (Cursor rules, Claude agents, AGENTS.md, and the rest) across more than 35 supported agents. A capabilities.lock file pins resolved commit SHAs so a later clone gets the same bytes, and writes are confined to marker blocks that leave hand-edited content alone.
Nothing is auto-discovered: files already sitting in provider directories are ignored unless the capabilities file names them. A bundled bootstrap skill can scan an existing project and draft the configuration from what it finds.
At runtime Capa is also a Model Context Protocol gateway. Every agent points at one local endpoint, and Capa proxies upstream stdio, HTTP, and SSE servers, loads tools on demand rather than front-loading the whole catalog, applies per-tool formatters, and gives each sub-agent a filtered endpoint so a research agent cannot inherit a git push tool. The project reports 19–40% fewer tokens across 150 trials from on-demand tool loading.
capa wrap runs a coding agent from a shadow workspace outside the repository that symlinks your project minus provider-owned paths, so provider directories never land in the repository. A passthrough mode writes native provider files directly without lockfile or managed-file tracking, for one-off cases.
A local web interface served alongside the CLI covers the same ground: a capabilities editor with live YAML sync and drag-to-reorder, registry browsing across skills.sh, the Cursor Marketplace, and Claude plugin catalogs, credential and OAuth setup, and an activity feed that traces every MCP and shell call with duration, errors, and the skill that pulled the tool in. Secrets stay out of the file as ${VarName} placeholders and are redacted in traces.
Features
- One file, many agents: a single capabilities.yaml fans out to each provider’s native configuration layout
- Lockfile pinning: capabilities.lock records resolved SHAs so a later install reproduces the same content
- Marker-block writes: managed content is delimited, leaving hand-edited sections untouched
- MCP gateway: one local endpoint proxies upstream stdio, HTTP, and SSE servers
- On-demand tool loading: tools are exposed when needed instead of front-loading the whole catalog
- Sub-agent isolation: each sub-agent gets a filtered MCP endpoint scoped to the tools it may call
- Shadow workspaces: capa wrap launches an agent from a workspace outside the repository
- Plugin decomposition: Claude and Cursor plugin manifests unpack into skills, MCP servers, rules, sub-agents, and hooks
- Registries: search seeded catalogs such as skills.sh, the Cursor Marketplace, and Claude plugin catalogs, or add your own
- Tools as CLI commands: every declared tool is runnable from the terminal through capa sh
- Web UI and activity traces: browser editing with live YAML sync, plus a live feed of MCP and shell calls with secrets redacted
- Passthrough mode: write provider-native files directly, skipping the capabilities file and managed tracking
