| Runs on | Not specified (a machine running Hermes with the Claude Code CLI on PATH) |
|---|---|
| Models | Claude Code via a Claude Max subscription for the programmer; Google gemini-2.5-flash-image through OpenRouter for the designer's images; other models not specified |
| Channels | Telegram (three separate bots), CLI |
| Integrations | Claude Code CLI (via the claude-code skill), OpenRouter, Telegram BotFather |
Who built it
Avi Chawla, writing for the Daily Dose of Data Science newsletter. He says his team has used Hermes extensively. The post is part explainer and part walkthrough.
How it works
Each agent is a Hermes profile created with hermes profile create <name> --clone. A profile has its own config, SOUL.md persona, memory, skills and sessions, so the three agents don't share learned habits or chat history. Telegram allows only one connection per bot token, so each profile gets its own BotFather bot and is connected with hermes -p <profile> gateway setup.
The programmer profile has a staff-engineer persona and does no editing itself. Using the claude-code skill, it hands file edits, commands, tests and git work to the Claude Code CLI, while Hermes plans and reviews. Authentication goes through the author's Claude Max subscription rather than an API key, and the claude binary has to be on PATH.
The designer profile is taught a personal illustration style. The author shows it reference images and has it write a my-design-style skill, which calls a Gemini image model through OpenRouter. Once that skill exists, a request for a hand-drawn explainer follows the same style every time.
The researcher profile produces a daily AI/ML digest with links, covering trending repos, lab announcements, papers and online discussion. It uses delegate_task to research several topics in parallel. The weekday 8am run is set up with a plain-language request to Hermes's scheduler, which keeps jobs in the profile's cron folder and runs each one in a fresh session.
Around the build, the author explains the general mechanics. MEMORY.md and USER.md are small, size-capped files loaded at the start of each session. Past sessions are searchable. The agent can create and patch skills after complex tasks, and the Curator marks skills stale and archives them over time. GEPA, an optional optimiser in a separate repository, proposes skill improvements as pull requests.
Lessons you can use
- Use separate profiles when roles shouldn't share memory or skills. A research agent's habits shouldn't leak into a coding agent.
- Give every profile that runs a messaging gateway its own bot token; one token can't serve two gateways.
- Hermes doesn't have to do the coding itself. It can orchestrate a dedicated coding CLI through a skill and keep the planning and review.
- Turn a style or procedure you want repeated into a skill, so the agent follows it consistently instead of relying on memory of earlier chats.
- Schedule recurring research in plain language, and ask for citations so you can check the digest.
- Self-assessment is weak. The author notes that the agent can think it did well when it didn't, so review auto-created skills.
Try a smaller version
- 1
Create one extra profile with
hermes profile create researcher --cloneand give it its ownSOUL.mddescribing the role. - 2
Make a second Telegram bot in BotFather and connect it with
hermes -p researcher gateway setup, restricted to your user ID. - 3
Ask the researcher to schedule a weekday-morning digest of two or three sources with links, delivered to its Telegram home channel. Then check
hermes -p researcher cron list. - 4
In your main profile, write a small skill that captures one repeatable format you care about, and test that a fresh session uses it.
- 5
Optionally, if you already use Claude Code, enable the claude-code skill in a separate coding profile and have Hermes hand it a small, well-scoped change.
Caveats
- Star counts, Skills Hub totals and the GEPA cost estimate come from the article and weren't checked here. No benchmarks or measured results are given.
- The programmer setup depends on a paid Claude subscription, and the designer depends on OpenRouter credits; costs are not reported.
- The author warns that auto-generated skills can overwrite manual customisations with worse versions. Pin the skills you care about and review changes.
Original source
An original summary written from the public source on 2026-10-20. Figures and outcomes are the author’s own reports and were not independently verified.
Spotted something wrong or out of date? Tell us on X at @HermesWatcher (opens in a new tab) and we will fix it.