Core Concepts

Harnesses

A harness is the coding agent the CLI installs into. Each component type lands in the place that harness already reads from at runtime — the CLI never imposes its own layout. The CLI auto-detects the harness in the current folder; override it with --harness <id>.

Supported harnesses

HarnessComponent types
`claude-code`skills, mcps, agents, commands, playbooks, instructions, files
`codex`skills, mcps, commands, playbooks, instructions, files
`kafka`skills, mcps, agents, commands, playbooks, instructions, files

Where each component lands

ComponentClaude CodeCodexKafka
Skill`.claude/skills/<slug>/``~/.codex/skills/<slug>/` or `.agents/skills/<slug>/``.kafka/skills/<slug>/`
MCP server`.mcp.json` (project) / `~/.claude.json` → `mcpServers` (global)`~/.codex/config.toml` `[mcp_servers.<slug>]``.kafka/kafka.json`
Command`.claude/commands/<slug>.md``~/.codex/prompts/<slug>.md``.kafka/commands/<slug>.md`
Sub-agent`.claude/agents/<slug>.md``.kafka/agents/<slug>.md`
Playbook`.claude/playbooks/<slug>.md` + table in `CLAUDE.md``.codex/playbooks/<slug>.md` + table in `AGENTS.md``.kafka/playbooks/<slug>.md` + table in `KAFKA.md`
InstructionBlock in `CLAUDE.md`Block in `AGENTS.md`Block in `KAFKA.md`
FileArbitrary copy to a target pathSameSame
Marker-based instruction blocks
Instruction and playbook blocks are bracketed by <!-- brainbase:start … --> / :end markers in the harness's instructions file, and the playbook table is regenerated on every pull — so removed playbooks drop out automatically and your hand-written prose is never clobbered.

Force a harness or install scope for onboard / sync with --harness <id> and --scope <global|project>.