Files
prose-contracts/deliverables/scot-hermes-playbook/research/01-context-gap.md
T
mumuni-bot c7af7c0689 Add reviewed Hermes playbook for Scot Murray (client deliverable)
Provenance: kanban t_02148213 (research) -> t_4265c369 (author) -> t_fefdf30b (review).
Review verdict: APPROVED-WITH-FIXES, 7/7 checks PASS, 17/17 YouTube links oEmbed-verified,
26+ CLI commands re-run against v0.21.1, no Murray/JDS client data present.

Artifact: deliverables/scot-hermes-playbook/HERMES-PLAYBOOK-FOR-SCOT.md
  377 lines, sha256 b0966a649fec96da4975ec00e627fbaba3a92a62c4a92b33bc06589c47d25f7f
Includes the research dossier and its raw verification evidence under research/.

STATUS: written and reviewed, NOT delivered to the client. Delivery is gated on
Kwame's approval and tracked as a separate blocked kanban card.
2026-09-11 12:54:52 -04:00

6.9 KiB

01 — The Context Gap: Claude Code vs a Fresh Hermes Install

Audience: internal research for the Scot Murray playbook (writer takes over from here). Prepared: 2026-09-11. Primary sources: official docs (hermes-agent.nousresearch.com/docs) and live CLI verification on the reference install (Syslog kagentz). Every "exact command/file" was checked against hermes --help / hermes <cmd> --help output on v0.21.1 unless marked DOC-ONLY.

Why the gap exists (30-second framing)

Claude Code discovers context from the repo it sits in: a CLAUDE.md it reads on every launch, .claude/ folders that ship subagents, slash commands, hooks, and skills. A fresh Hermes install starts nearly empty by design — its philosophy is that the agent builds its own context over time (memory, skills) and that context comes from config files, not the repo. The "lack of context" Scot noticed is just Hermes waiting to be seeded. Below: every gap and the Hermes mechanism that closes it.

Gap table

# Gap Claude Code behaviour (out of the box) Hermes equivalent Exact command / file
1 Project instructions Auto-loads CLAUDE.md from project root; # prefix adds memory live; claude /init scaffolds it Auto-injects AGENTS.md (and .cursorrules) from the working directory + SOUL.md persona + persistent memory from the Hermes home. hermes import-agent claude-code migrates existing CLAUDE.md content in one shot File: AGENTS.md in the project root (git-tracked). Command: hermes import-agent claude-code [--dry-run] — VERIFIED-LIVE
2 Team/personal instruction split .claude/rules/*.md (project) + ~/.claude/rules/*.md (personal) Rules via AGENTS.md in the repo (team) vs SOUL.md + memory in ~/.hermes/ (personal). Config for everything else: hermes config edit Files: AGENTS.md (repo), SOUL.md (~/.hermes/). VERIFIED-LIVE (documented in --ignore-rules help text, which names exactly what gets injected)
3 Slash commands Ships dozens built-in; custom ones in .claude/commands/<name>.md Rich built-in registry (/help to list); custom automation goes into skills instead of command files In-session: /help, /skills. Doc: https://hermes-agent.nousresearch.com/docs/reference/slash-commands — VERIFIED-LIVE (registry derived from hermes_cli/commands.py)
4 Subagents / delegation .claude/agents/*.md, @agent mentions, Task tool Built-in delegate_task tool (isolated subagent contexts, parallel batches) plus full-process spawns (hermes chat -q, tmux) and the durable Kanban board for multi-profile work In-session: ask Hermes to delegate; hermes kanban create ... for durable tasks. Doc: /docs/user-guide/features/kanban. VERIFIED-LIVE (hermes kanban --help shows 40+ verbs incl. swarm)
5 Skills (auto-invoked expertise) .claude/skills/*.md markdown guides invoked by natural language match Same concept, more infrastructure: skills auto-load by task match, can be authored BY the agent itself (skill_manage), installed from registries, maintained by the curator CLI: hermes skills list/search/install/config; in-session: /skill <name>, /reload-skills. VERIFIED-LIVE. Hub: hermes skills browse
6 Project memory / auto-memory ~/.claude/projects/<project>/memory/, 25 KB cap Persistent memory is first-class: built-in MEMORY.md/USER.md always active, pluggable providers (Honcho, Mem0, …) CLI: hermes memory setup/status/off. VERIFIED-LIVE. Doc: /docs/user-guide/features/memory
7 Tool permissions /permissions, settings.json allowlists Per-platform toolset toggles + MCP tool allowlists (server:tool notation) CLI: hermes tools (interactive UI), hermes tools list/enable/disable. VERIFIED-LIVE
8 MCP servers claude mcp add/list/remove, scopes user/local/project hermes mcp add/list/test/configure, one-click catalog installs, plus hermes mcp serve (Hermes AS an MCP server — Claude Code cannot do this) VERIFIED-LIVE. Doc: /docs/user-guide/features/mcp
9 Session resume / history claude -c, claude -r <id>, /resume hermes -c, `hermes --resume <id latest
10 Cost & context visibility /cost, /context grid /usage, /insights [days], /compress (auto-compression built in), /prompt-size byte breakdown VERIFIED-LIVE (insights, logs subcommands confirmed in hermes --help)
11 Headless/CI mode claude -p print mode -z/--oneshot flag (prints only final response) + hermes chat -q VERIFIED-LIVE
12 Import of prior setup n/a (it IS the incumbent) The single most important one for Scot: hermes import-agent claude-code maps CLAUDE.md/AGENTS.md instructions, permission allowlists, MCP servers, skills, and memories into Hermes equivalents (never API keys) hermes import-agent claude-code --dry-run then without --dry-run. VERIFIED-LIVE. Also hermes sessions import for old Claude Code conversations — VERIFIED-LIVE
13 Hooks on tool events 8 hook types in settings.json (PreToolUse, PostToolUse, …) Shell-script hooks managed via hermes hooks CLI: hermes hooks. VERIFIED-LIVE (in top-level command list)
14 Scheduled / recurring work claude /loop (in-session only) Durable cron scheduler with multi-platform delivery, chained outputs (context_from), per-job model overrides CLI: hermes cron list/create/edit/pause/resume/run/remove/doctor. VERIFIED-LIVE. Doc: /docs/user-guide/features/cron

The one-command bridge (lead with this in the playbook)

hermes import-agent claude-code --dry-run   # preview
hermes import-agent claude-code             # migrate CLAUDE.md → AGENTS.md, MCP, skills, memories

This is the fastest way to eliminate the "Hermes has no context" feeling for someone who already has a working Claude Code setup: it carries over the exact instructions and servers that made Claude Code feel context-rich. Preview-only mode exists (--dry-run), it never imports credentials, and conflicts are skipped by default (--overwrite to change).

Sources

  • Live CLI: hermes --help, hermes chat --help, hermes import-agent --help, hermes kanban --help, hermes skills --help, hermes sessions --help, hermes mcp --help, hermes tools --help, hermes memory --help, hermes project --help, hermes cron --help, hermes config --help, hermes profile --help, hermes computer-use --help on v0.21.1, reference install (Syslog kagentz), 2026-09-11. Raw dump: cli-help-dump.txt next to this file.
  • Docs: https://hermes-agent.nousresearch.com/docs/ (index) — all URLs in sources.md
  • Claude Code side: installed skill delegate-coding-agent/references/claude-code.md (Hermes Agent + Teknium, v2.2.1), /home/hermes/.hermes/skills/autonomous-ai-agents/