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
| Harness | Component 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
| Component | Claude Code | Codex | Kafka |
|---|---|---|---|
| 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` |
| Instruction | Block in `CLAUDE.md` | Block in `AGENTS.md` | Block in `KAFKA.md` |
| File | Arbitrary copy to a target path | Same | Same |
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>.