Three separate Hermes profiles for coding, research and illustration, each with its own Telegram bot

A tutorial that explains Hermes Agent's memory, skills and self-improvement features, then builds three specialist agents as separate profiles. One is a programmer that hands work to Claude Code, one is a researcher that sends a daily digest on a schedule, and one is a designer with a learned drawing style. Each agent has its own Telegram bot.

Community reportRead the original (opens in a new tab)Source read 2026-10-20
Runs onNot specified (a machine running Hermes with the Claude Code CLI on PATH)
ModelsClaude 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
ChannelsTelegram (three separate bots), CLI
IntegrationsClaude 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. 1

    Create one extra profile with hermes profile create researcher --clone and give it its own SOUL.md describing the role.

  2. 2

    Make a second Telegram bot in BotFather and connect it with hermes -p researcher gateway setup, restricted to your user ID.

  3. 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. 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. 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.