Skip to content
Michi v2026.06.08
Save the Tokens

Working with Hermes

Michi grew up inside Claude Code, which hands the agent a lot for free: it auto-loads CLAUDE.md and your global rules, carries your working preferences and the iteration cycle into every session, discovers skills, and lets you interrupt the agent mid-turn. The agent starts already shaped — and much of Michi’s discipline rides in on that scaffolding.

A different harness doesn’t provide that scaffolding. Hermes — a long-running (“daemon-mode”) container agent you reach over a chat transport — is the worked example here, but the gap is the same for any non-Claude-Code harness. The model is identical; the scaffolding is missing. Two differences matter most:

  1. There’s an empty character slot. No CLAUDE.md, no global rules, no auto-loaded principles. Nothing tells the agent how to work — the Michi way, your register, the Paired/Entrusted discipline — unless you put it there.
  2. You often can’t interrupt a turn in flight. On a chat transport (Discord, Slack, SMS) your messages queue until the agent’s turn ends. The agent’s own frequent, short yields become your only mid-task steering lever — so the synchronous-review discipline stops being a nicety and becomes load-bearing.

This is why a Michi agent on Hermes can feel like it’s outrunning you even though the model is the same: the correction machinery Claude Code provides for free isn’t there. The fix is to supply the character up front, so correcting the agent shifts from wrangling to refinement.

The toolkit ships a soul-template.md — the character slot, externalized. It’s a principles-tier identity file: the North Stars, the iteration cycle, Paired/Entrusted (including the “let’s” means synchronous — take one step and yield rule), Clarify-before-Asserting, an impulse-control gate, the Rule of 3, and the working register. It’s written as an identity (“You are {NAME} — a Michi agent…”) rather than a rulebook, because a backbone the agent is survives better than a checklist it’s told to follow.

Installing it on Hermes is three steps: copy the body, replace {NAME} with the agent’s name, and place it where Hermes loads system-prompt context (it reads SOUL.md into the first slot). Keep it principles-tier — Hermes truncates context files at 20,000 characters, and the template fits comfortably under that.

Other harnesses: the template is harness-agnostic. Put the body wherever your harness loads persistent system-prompt context and respect its size limits. The content is the same; only the install location and limits differ.

The SOUL file carries character. The harness still won’t auto-load the rest of Michi the way Claude Code does, so make sure the agent can reach the skills it needs (install or expose michi-expedition), the project’s docs and references (it re-grounds from STATUS, the expedition root, and extensions.md every run), and the substrate it works against (mounted into its workspace).

The isolated, Entrusted, lights-off agent — running on its own in a container against a mandate — is exactly the expedition case. That’s where the missing scaffolding bites hardest, and where the SOUL file earns its place. The same template applies to any Michi work on a non-Claude-Code harness; expeditions are just where it shows up first.