Skip to content

Harness Model

A "harness" is the durable scaffolding around an autonomous agent. The agent supplies intelligence; the harness supplies guardrails, memory, and reusable workflows.

claude-harnesses separates concerns into the same five layers as codex-harnesses, mapped to Claude Code's primitives:

Concern claude-harnesses Claude Code primitive
Durable guidance CLAUDE.md, templates/claude-md/ The CLAUDE.md file Claude Code auto-loads
Reusable workflows skills/<name>/SKILL.md .claude/skills/
External tools plugins/mcp-pack/.mcp.json .mcp.json
Enforcement plugins/<pack>/hooks.json + scripts/ settings.json hooks (PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd)
Verification scripts/verify.sh, verification-pack Stop hook + slash command
Task memory ledger/ A directory the agent treats as durable state

Why packs

A pack bundles components that belong together (e.g. pr-guardian-pack bundles a skill, a subagent, and two slash commands). Users install the packs they want; they do not have to memorize a flat list of components.

Why settings presets

settings/{strict,default,experimental}.json capture the three common postures for a project. They translate the codex-harnesses YAML policies into Claude Code's permissions schema so users can drop in a starting point and edit from there.