# Give Hermes a replay habit: receipts instead of re-reasoning.

> Vendor the Reelier skill into your agent's skills directory, record the job once through the wrap proxy, and replay it deterministically with a receipt every run.

Markdown twin of https://www.reelier.com/for/hermes — deterministic replay for Hermes. Reelier records what an agent actually did, compiles it into a SKILL.md with an assertion per step, and replays it at 0 LLM tokens with a receipt every run.

## How capture works on Hermes

Plainly: Hermes is not on `reelier scan`'s transcript-source list — scan reads a fixed set of agent history dirs (`~/.claude/projects`, `~/.codex/sessions`, `~/.codeium/windsurf`, `~/.openclaw`) and Hermes isn't one of them, so there is no history-scan path here to oversell.

Capture on Hermes is the recording proxy: front the MCP server(s) your agent's job uses with `reelier mcp --wrap`, run the job once, and the full trace lands in `.reelier/traces/`. Wrap captures lossless traces (tool annotations included) — scan-from-history is a reconstruction; wrap is the recording.

The installed skill supplies the judgment layer: when to replay instead of re-reason, compile only from a run that actually happened, report the receipt, never report an unseen pass.

## Wire it up

### terminal — vendor the skill from the repo

```sh
curl -fsSL --create-dirs https://raw.githubusercontent.com/seldonframe/reelier/main/clawhub/reelier/SKILL.md \
  -o skills/reelier/SKILL.md
```

Hermes's own installer pulls skills from public registries (skills.sh, ClawHub), but neither lists Reelier yet as of 2026-07-21 — skills.sh search returns nothing and the ClawHub listing is pending publication — so a registry install doesn't resolve yet. Vendor the file until one lists it.

### terminal — record through the proxy

```sh
npx -y reelier mcp --wrap "npx -y @yourco/mcp-server"
npx -y reelier compile .reelier/traces/<name>.jsonl -o my-job.skill.md
```

`reelier mcp` fronts your real MCP server and records losslessly to `.reelier/traces/`. Multiple `--wrap` flags front multiple servers; only local stdio servers can be wrapped.

## First receipt in 60 seconds

1. Vendor the skill from the repo (block above) — the when-to-replay rules and honesty guards.
2. Record the job once through the wrap proxy (block above), then compile the trace into `my-job.skill.md`.
3. `npx -y reelier run my-job.skill.md` — Replay deterministically: 0 LLM tokens, every step asserted, receipt written to `.reelier/runs/`.
4. `npx -y reelier diff my-job` — From the second run on: exit 0 SAME, exit 1 DRIFTED — with the failing assertion as the why, captured verbatim.

## A real receipt

Verbatim output of a portfolio replay, run on 2026-07-21 with the CLI pinned to the version that recorded the seed (`npx -y reelier@0.12.1`, so it reproduces verbatim). The run record confirms passed: true and 0 LLM tokens. Replay it yourself:

```
npx -y reelier@0.12.1 run examples/portfolio/registry-latest.skill.md

=== registry-latest ===
✓ Step 1 — Latest dist-tag from the registry [passed] 152ms

PASSED: 1/1 steps ok, 0 failed, 152ms total
```

## FAQ

**Why doesn't reelier scan see Hermes sessions?**

Scan reads a deliberate, fixed list of transcript directories, and Hermes isn't on it yet. Adding a source is a one-line entry in scan.ts plus, if the transcript schema differs, a parser branch — until then, the wrap proxy is the capture path, and it's the higher-fidelity one anyway.

**Can Hermes call Reelier's tools over MCP?**

If your Hermes setup speaks MCP over stdio, point a server entry at `npx -y reelier serve` — the same route the repo documents for Codex and other MCP-capable agents. That exposes `reelier_scan`, `reelier_from_session`, `reelier_replay`, `reelier_diff` and `reelier_push` as tools.

**What can't Reelier replay?**

Reelier replays deterministic tool calls: MCP tool calls and its own `http.get`/`http.post` builtins. It cannot replay file edits, shell commands, reads and searches, subagent dispatch, or anything non-deterministic. An edit-heavy coding session honestly reports nothing replayable — an empty result, not an error.

## Links

- [Your OpenClaw cron burns 2,880 LLM calls a month. Here's the same job at zero.](https://www.reelier.com/blog/openclaw-cron-costs)
- [Scheduled agents re-learn the job every run. Replay the part that never changes.](https://www.reelier.com/blog/scheduled-agents-zero-token)
- [Agent cost calculator — what re-reasoning a recurring job costs, with your numbers.](https://www.reelier.com/tools/agent-cost-calculator)
- [seldonframe/reelier — the engine, AGPL-3.0. Fork it, audit it, self-host it.](https://github.com/seldonframe/reelier)

Other agents: [Claude Code](https://www.reelier.com/for/claude-code) · [Cursor](https://www.reelier.com/for/cursor) · [Codex](https://www.reelier.com/for/codex) · [Windsurf](https://www.reelier.com/for/windsurf) · [OpenClaw](https://www.reelier.com/for/openclaw)
