Developer documentation — Capas
Build extensions for oc8: connectors, tool packs, agent templates, skills, runtimes, approval channels, and Claude-compatible plugins.
If you change oc8 core (runtime, authz, database), see Contributing instead.
Start here
| Step | Document |
|---|---|
| 1. Understand capa types | Plugin types |
| 2. Build your first capa | Tutorial: first capa |
| 3. Manifest reference | Manifest reference |
| 4. Test locally | Testing capas |
Guides
| Topic | Document |
|---|---|
| Architecture (author's view) | Architecture overview |
Manifest fields (plugin.toml) | Manifest reference |
| Capa types and contributions | Plugin types |
| Dependencies and requirements | Dependencies and requirements |
| Guardrails and permissions | Guardrails and permissions |
| Setup forms and OAuth | Setup forms and OAuth |
| Packaging and distribution | Packaging and distribution |
| Claude Agent SDK plugins | Claude plugin capas |
| Testing | Testing capas |
Exhaustive on-disk reference
The flat reference for folder layout, lifecycle, and every manifest field:
Quick start
- Create
capas/<capa_id>/— folder name must equal manifestname. - Add
plugin.tomland/or a Claude plugin layout. - Discovery rescans on request — restart not required. Install and enable per tenant from the Capas UI; accept permission consent.
Capa types (summary)
| Type | Purpose |
|---|---|
tool_pack | MCP connections (disconnected until configured) |
agent_template | One hireable agent |
department_template | Team + frame starter |
skill | Procedures materialised on enable |
connector | Knowledge source (RAG ingest) |
runtime_adapter | Alternative agent runtime (Docker) |
approval_channel | Messenger approvals |
Tests
cd backend
uv run pytest tests/plugins/test_discovery.py -q
uv run pytest tests/plugins/test_claude_plugin_bridge.py -q
Fixtures: backend/tests/plugins/fixtures/.
Related
- User docs — for operators using your capa
- Contributing — core PRs