Every Hermes Concept in Plain English — a Field Guide to the Agent Harness
it's the cleanest plain-English glossary of the exact architecture I'm building on — harness vs. model, `soul.md`/`agents.md`, context compaction, memory vs. skills, hooks, profiles, sub-agents. It maps almost 1:1 onto the Content Studio I just stood up (its own `AGENTS.md`, a Stop-hook quality gate, specialist "profiles," sub-agent fan-out). Good vocabulary check for the whole agentic-OS thesis.
Watch the original by Tom Crawshaw (The AI Architects) on YouTubeTL;DR
Hermes (the open-source agent from Nous Research) is a harness wrapped around a swappable model — and this video walks every concept a non-coder needs to actually use it. The mental model: the model is the engine, the harness is the rest of the car (tools, rules, sessions, memory). Because they're separate, you can route different tasks to different models (plan with a strong model, write with a cheaper one), and customize the wiring in ways closed tools like Codex/Claude Code won't let you. From there it builds up the stack: interfaces (terminal, desktop, Telegram, Discord, voice), context (soul.md = who the agent is, agents.md = rules for a folder, prompt = the request), context-window compaction (hand off around 40–60% full), the agent loop (pack context → model decides → run tools → repeat), tools/MCPs/plugins, memory vs. skills ("what to remember" vs. "how to do a job"), hooks (shell actions that auto-fire on events — the deterministic layer), profiles (whole specialist agent instances) vs. sub-agents (temporary parallel helpers), gateways, and security layers. One honest caveat the comments flagged: the "plug in your Anthropic subscription" bit doesn't hold post-2026 billing changes — that work meters.
Key takeaways
- Harness vs. model is the foundational split. The model is the brain; the harness is tools + rules + sessions + memory. They're decoupled, so you swap models per task and edit the wiring — Hermes exposes what Codex/Claude Code keep proprietary.
- Route models by job. Plan with a strong reasoner, draft with a cheaper/better-for-the-task model (he uses GPT-5.6 to plan, Kimi K3 to write), wired in
agents.md. - Context is what turns a chatbot into an agent.
soul.md= character/voice/decision-style;agents.md= rules for a workspace; acorrections.mdcaptures recurring fixes. A "second brain" vector store beats a flatmemory.mdat scale. - Compact before the window fills. Past ~40–60% of the context window, recall degrades — write a handoff doc, start a fresh session, reload. (Hermes can auto-compact at a set limit.)
- Memory vs. skills is the distinction to internalize. Memory answers "what should it remember"; a skill answers "how should it do this job." Neither retrains the model — both load into context on demand.
/learnturns a chat you just did into a reusable skill. - Hooks are the underrated, deterministic layer. A hook is a shell action that fires automatically on an event (before a tool, after a job, on file write) and can block if rules fail — not a prompt injection. This is exactly the Stop-hook quality gate pattern.
- Profiles ≠ sub-agents. A profile is a whole specialist Hermes instance (own soul/rules/memory/skills/models); a sub-agent is a temporary helper spun up for parallel work (read 10 posts, summarize each). Profiles separate roles; they are not a security boundary.
- Security is layered. User auth → toolset (what it can request) → approvals + hooks → sandbox (what it can reach) → the action. Every layer says yes before anything touches your machine.

The Buzz — community reception
The concepts, grouped
1) Harness vs. model (and routing)
The engine/car analogy does the heavy lifting: the model powers thinking; the harness (tools, rules, sessions, memory) makes it move. Because they're separate, Hermes lets you swap the model per task and edit the harness (delete unused tools, add rules/hooks) — flexibility closed harnesses don't give you. The practical win: plan with one model, execute with another, declared in agents.md.
2) Interfaces — many front doors, one agent
Terminal, desktop app (with live artifact preview + voice), Telegram, Discord (incl. voice channels), plus API/SDK. Same agent, different access points — pick by where you are (phone → Telegram; at the desk → terminal/desktop).

3) Context — the thing that makes it an agent
Without context it's just a chatbot restarting every time. The layers: the prompt (this request), soul.md (character, voice, how direct, how it decides), agents.md (rules for a specific folder/workspace), plus optional context.md / voice.md / corrections.md (recurring fixes). Before thinking, the agent gathers all of these plus any files it judges relevant.
4) Context window + compaction
Different models = different window sizes (Claude ~1M; GPT-5.6 codex ~272K). It fills with tool calls, responses, and I/O. Past ~40–60% full, recall gets unreliable — so compact: summarize the session into notes and reload into a fresh window, or write a handoff doc yourself and continue clean.
5) The agent loop
Prompt → Hermes packs the context → model decides (tools? web? files? MCP?) → runs the actions → responds. For builds it splits into plan (research + questions) then build, where it can run an autonomous loop, checking its own work against the plan's goal until it's met.

6) Tools, MCPs, plugins
A tool is an action outside the model (search, run a command, call a service). An MCP is like an API's endpoints exposed as a toolbox — one tool per endpoint (his newsletter pushes to Beehiiv via MCP, no copy-paste). A plugin bundles skills + MCP servers + hooks + slash commands for one-click install (e.g. a "superpowers" plugin with ~11 skills). Watch what auto-loads: unused tools silently eat context — audit and trim.
7) Memory vs. skills
This is the pair worth tattooing on the wall.

Memory = what to remember (preferences, decisions, facts). Skill = how to do a repeatable job (steps, rules, resources). Neither retrains the model; both load on demand. /learn promotes a chat into a skill, and Hermes will auto-create skills as you work (self-learning). At scale, a vectorized "second brain" replaces the flat memory file.
8) Hooks — the deterministic layer
A hook is a shell action that fires automatically on an event (before a tool, after a job, on new session, on file write). It checks rules and can block if they fail — it's code, not a prompt, so it's deterministic and costs no context. "When X happens, do Y" — without asking. (This is precisely the Stop-hook gate I built into Content Studio.)
9) Profiles vs. sub-agents
A profile is a full specialist Hermes instance — its own soul.md, agents.md, memory, skills, models, history (a "SEO writer" separate from an "ops" agent). A sub-agent is a temporary helper for parallel work (spin up 10 to read 10 posts). Profiles organize roles and plug into orchestration/kanban; they are not a security boundary on their own.

10) Gateways + where it runs + security
Gateways (Slack/Discord/Telegram) are the messaging front-ends, often via a VPS + Tailscale so it runs 24/7 with cron. Security is layered — user auth → toolset → approvals + hooks → sandbox → the action — every layer gating what reaches your machine.

How this maps to what I'm building
This whole glossary is the blueprint under the Content Studio I just built:
flowchart LR
A["soul.md / CLAUDE.md<br/>(who + house rules)"] --> S["Content Studio"]
B["agents.md<br/>(self-updating playbook)"] --> S
H["Stop-hook quality gate<br/>(deterministic block)"] --> S
P["profiles = specialist skills<br/>(research / infographic / publish)"] --> S
SUB["sub-agents<br/>(parallel research fan-out)"] --> S
M["memory + trends-log<br/>(learns over time)"] --> S
S --> OUT["shareworthy posts,<br/>gated + published"]
The one-to-one: soul.md→my CLAUDE.md, agents.md→my self-updating AGENTS.md, hooks→my validate_post.py Stop gate, profiles→my four skills, memory→trends-log.md. Seeing the vocabulary laid out confirms the architecture is sound.
The billing caveat (worth flagging)
The video shows plugging an Anthropic subscription into Hermes as a model provider — and two commenters correctly push back that, post-2026 billing changes, that programmatic use meters against API rates, not the flat sub. That's the exact trap from my multi-agent billing post: subscription vs. metered is about the auth path, not the plan. Use interactive sessions where possible.
Synthesis and the mapping diagram are mine; screenshots are the creator's Excalidraw diagrams (small picture-in-picture presenter left where it sits over the screen). Sponsor/hosting promo omitted.
Mitchell Miller