Skip to main content

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

StepDocument
1. Understand capa typesPlugin types
2. Build your first capaTutorial: first capa
3. Manifest referenceManifest reference
4. Test locallyTesting capas

Guides

TopicDocument
Architecture (author's view)Architecture overview
Manifest fields (plugin.toml)Manifest reference
Capa types and contributionsPlugin types
Dependencies and requirementsDependencies and requirements
Guardrails and permissionsGuardrails and permissions
Setup forms and OAuthSetup forms and OAuth
Packaging and distributionPackaging and distribution
Claude Agent SDK pluginsClaude plugin capas
TestingTesting capas

Exhaustive on-disk reference

The flat reference for folder layout, lifecycle, and every manifest field:

capas/README.md

Quick start

  1. Create capas/<capa_id>/ — folder name must equal manifest name.
  2. Add plugin.toml and/or a Claude plugin layout.
  3. Discovery rescans on request — restart not required. Install and enable per tenant from the Capas UI; accept permission consent.

Capa types (summary)

TypePurpose
tool_packMCP connections (disconnected until configured)
agent_templateOne hireable agent
department_templateTeam + frame starter
skillProcedures materialised on enable
connectorKnowledge source (RAG ingest)
runtime_adapterAlternative agent runtime (Docker)
approval_channelMessenger 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/.