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.
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 --helpon v0.21.1, reference install (Syslog kagentz), 2026-09-11. Raw dump:cli-help-dump.txtnext 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/