A practical guide to understanding Hermes Agent, using it well, and developing workflows that actually compound over time.
Hermes is not just a chatbot in a terminal.
It is an autonomous agent framework with five big ideas:
-
It can use tools.
- terminal
- file editing
- browser automation
- web search/extract
- code execution
- memory
- skills
- cron
- delegation
- MCP tools
-
It can persist context across sessions.
- USER memory = preferences about you
- MEMORY = facts about your environment, projects, conventions, and lessons learned
-
It can learn reusable procedures.
- Hermes stores these as skills
- skills are basically procedural memory and reusable playbooks
-
It can operate across interfaces.
- local CLI
- Telegram, Discord, Slack, WhatsApp, email, and other gateways
- ACP / editor integrations
-
It can run long-lived and remotely.
- local machine
- VPS
- Docker / SSH / Modal / Daytona / other backends
The simplest way to think about it:
Hermes = model + tools + memory + skills + automation + multi-surface access.
That combination is what makes it feel more like an operator than a chat window.
A strong Hermes workflow usually has 4 layers.
Layer 1: Ask for one-off help
- answer a question
- inspect a repo
- fix a bug
- summarize a page
Layer 2: Let it act with tools
- run shell commands
- read and edit files
- browse websites
- execute Python
- call MCP servers
Layer 3: Make it stateful
- save preferences in memory
- add project rules in AGENTS.md
- define your durable personality in SOUL.md
Layer 4: Make it compound
- save good procedures as skills
- schedule recurring jobs with cron
- access it from messaging platforms
- use profiles for separate roles or environments
If you only use layer 1, Hermes is “pretty nice.” If you consistently use layers 3 and 4, Hermes starts getting seriously good.
Install:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.zshrc # or ~/.bashrcInitial setup:
hermes model
hermes tools
hermes setupCore commands to remember:
hermes # open interactive chat
hermes chat -q "..." # one-shot query
hermes model # change provider/model
hermes tools # enable/disable toolsets
hermes doctor # diagnose issues
hermes config edit # edit config.yaml
hermes sessions list # see old sessionsBest first prompt:
Inspect this repo, explain what it does, identify the highest leverage improvements, and propose a plan before making changes.
That prompt gets you a lot more value than “what can you do?”
Hermes is provider-agnostic. You can swap models without changing your workflow.
That matters because you can optimize for:
- reliability
- cost
- reasoning quality
- coding quality
- latency
Useful commands:
hermes model
/modelGood practical pattern:
- use a reliable default model for daily work
- temporarily switch to a stronger or cheaper model for specific jobs
- keep the workflow constant, swap the brain underneath
Toolsets determine what Hermes can actually do.
High-value defaults:
- terminal
- file
- web
- browser
- code_execution
- skills
- memory
- session_search
- delegation
- cronjob
General rule:
- enable only what you actually want available
- after tool changes, start a fresh session (
/reset) so prompt caching stays consistent
Hermes has two bounded stores:
- USER.md: your preferences, style, habits
- MEMORY.md: environment facts, project facts, conventions, lessons
This is not a giant dumping ground. It is supposed to stay curated and compact.
Best uses for memory:
- preferred commit identity
- preferred response style
- stable repo locations
- house rules like “always run tests before commit”
- environment quirks like “Docker is installed, but use local backend by default”
Bad uses for memory:
- temporary task progress
- giant logs
- session transcripts
- things easily rediscovered from files
Skills are one of Hermes’s best features.
A skill is a reusable playbook with:
- when to use it
- step-by-step procedure
- pitfalls
- verification
Use skills when you notice repetition.
Examples:
- PR workflow
- release process
- deploy-staging
- oncall triage
- daily market watch
- research brief format
- local dev environment bootstrap
The ideal pattern is:
- solve something once
- refine the approach
- save it as a skill
- reuse it forever
Useful commands:
hermes skills list
hermes skills browse
/skills
/skill <name>Two files matter a lot.
SOUL.md
- durable instance-wide personality and communication style
- lives in ~/.hermes/SOUL.md
AGENTS.md
- project-specific rules and context
- lives in repo root
- automatically loaded per project
Use SOUL.md for “who the agent is.” Use AGENTS.md for “how this repo works.”
A great AGENTS.md usually includes:
- architecture notes
- coding conventions
- test commands
- file layout rules
- deployment or safety constraints
- what to never do
Profiles let you run separate Hermes personas/configs/memory stores.
Use profiles when you want isolation between:
- work vs personal
- coding vs research
- local dev vs production ops
- different clients or teams
Commands:
hermes profile list
hermes profile create work
hermes profile use workProfiles are underrated. They prevent context pollution.
MCP is how Hermes gains external tool ecosystems without you writing every tool natively.
This is a huge unlock.
Use MCP when you want Hermes to interact with:
- GitHub
- databases
- browser stacks
- internal APIs
- filesystem servers
- custom business systems
Think of MCP as “plugging in new hands.”
Best practice:
- add narrowly scoped MCP servers
- filter exposed tools per server
- avoid dumping giant unsafe toolsets into every session
Here are the workflows where Hermes is strongest.
Best for:
- debugging
- feature implementation
- code review
- refactors
- test fixing
Setup:
- terminal + file + code_execution + skills
- AGENTS.md in repo root
- reliable coding model
Prompt pattern:
Inspect the repo, identify the relevant files, explain the issue, propose the smallest correct fix, implement it, run verification, and summarize the change.
Why this works:
- Hermes can search, edit, run tests, and verify
- AGENTS.md keeps it aligned with project conventions
- repeated patterns can be promoted into skills
Ideal loop:
- Ask Hermes to inspect before coding
- Have it write or confirm a plan
- Let it execute
- Require verification
- Save durable workflows as skills
Best for:
- topic watches
- news summaries
- competitor tracking
- market or technical research
- recurring digests
Setup:
- web + browser + skills + cronjob + messaging gateway
Prompt pattern:
Track this topic daily, filter for what actually matters, and deliver a concise brief with links and implications.
Why this works:
- Hermes can gather info, summarize it, and deliver results on a schedule
- cron makes it recurring
- messaging makes it accessible anywhere
Ideal loop:
- manually prototype the brief in chat
- improve the format over 2-3 runs
- save the procedure as a skill
- attach the skill to a cron job
- deliver to Telegram/Discord/email/origin
This is one of the most “rad” use cases in the whole platform.
Best for:
- long-running autonomous tasks
- background research
- remote dev and automation
- persistent assistants you message from your phone
Setup:
- run Hermes on VPS or cloud box
- install gateway
- configure Telegram or Discord
- optionally use Docker/SSH backend for safer command execution
Why this works:
- Hermes is not tied to your laptop session
- you can message it while it works remotely
- cron + gateway + memory makes it feel like a living system
Ideal loop:
- install Hermes on a persistent machine
- set up a gateway
- define a small number of trusted automations
- use cron for recurring tasks
- review outputs, tighten skills, repeat
Best for:
- support engineering
- incident response
- internal platform docs
- company-specific workflows
- repos with lots of conventions
Setup:
- profile per project/team
- AGENTS.md per repo
- MCP connections to internal tools
- curated memory and custom skills
Why this works:
- Hermes becomes specialized without fine-tuning
- skills + AGENTS.md + MCP do most of the work
Ideal loop:
- encode project conventions in AGENTS.md
- add external systems via MCP
- teach repeated processes as skills
- isolate with a profile
- use session_search and memory to keep continuity
Best for:
- parallel research
- splitting backend/frontend work
- context-heavy tasks
- keeping main context clean
Use:
- delegate_task for bounded subtasks
- worktree mode (
-w) when multiple code agents touch a repo - full spawned Hermes sessions only for long, truly separate missions
Rule of thumb:
- use delegate_task for quick parallel reasoning
- use spawned Hermes processes for longer autonomous jobs
If you want Hermes to feel great quickly, I would do this:
- Pick a reliable provider/model you trust.
- Enable toolsets: terminal, file, web, browser, code_execution, skills, memory, delegation, cronjob.
- Put good defaults in SOUL.md.
- Add AGENTS.md to every serious repo.
- Save any workflow that took real iteration as a skill.
- Use a messaging gateway for remote access.
- Set up 2-5 cron jobs that create recurring leverage.
- Use profiles to separate domains.
This setup is where Hermes stops being “chat with tools” and starts becoming infrastructure.
hermes chat -q "Summarize the architecture of this repository and identify the 3 highest-risk areas."
hermes chat -q "Review the last 10 git commits and propose a clean changelog."
hermes chat -q "Read the docs for tool X and explain the ideal setup for our use case."For coding:
Inspect first. Do not make changes until you can explain the likely root cause and the smallest robust fix.
For research:
Be opinionated about signal vs noise. I care about implications, not just summaries.
For automation:
Prototype the workflow manually first. Once the format is good, turn it into a reusable skill and suggest a cron schedule.
/help
/model
/tools
/skill <name>
/title my-session
/compress
/voice on
-
Be specific in requests. Mention files, goals, constraints, and verification.
-
Let Hermes inspect before acting. Especially for code, infra, or docs.
-
Put recurring instructions in files, not repeated prompts.
- SOUL.md for personality
- AGENTS.md for project rules
-
Save high-value workflows as skills. If something took multiple iterations, it is a skill candidate.
-
Use cron only after you like the manual result. Never automate a sloppy prompt.
-
Use profiles to avoid contamination. Different domains should not all share the same assumptions.
-
Use MCP surgically. Only expose tools the agent should actually see.
-
Prefer verification loops. Ask for tests run, outputs checked, or evidence collected.
-
Treat memory as precious. Save only durable, high-value facts.
-
Keep the system compounding. The best Hermes users are constantly converting successful work into reusable structure.
Avoid these:
- Using Hermes like a plain chatbot and never enabling useful tools
- Repeating the same instructions every session instead of using AGENTS.md or skills
- Storing temporary junk in memory
- Attaching too many unsafe or irrelevant MCP tools
- Automating bad prompts with cron before validating the output quality
- Running many code-editing agents in one repo without worktree isolation
- Using one profile for everything
- install Hermes
- pick a model
- enable core toolsets
- do 3 one-shot tasks
- use Hermes in a real repo
- add AGENTS.md
- have it inspect, plan, edit, and verify
- customize SOUL.md
- test slash commands
- resume an old session
- create or install 1-2 useful skills
- ask Hermes to save a successful workflow as a skill
- connect one MCP server
- try a narrowly scoped external tool workflow
- set up a messaging gateway
- message Hermes remotely
- build one recurring cron job that produces a genuinely useful daily or weekly output
After that, the platform starts clicking.
If someone asked me where Hermes is most differentiated, I would say:
- Long-lived coding and repo work with memory + skills
- Personalized recurring research briefs
- Remote agent workflows through messaging
- Project-specific specialists built with AGENTS.md + MCP + profiles
- Converting successful work into durable skills
That compounding loop is the main thing to internalize.
The ideal Hermes workflow is:
- stable personality in SOUL.md
- project context in AGENTS.md
- reliable core toolsets enabled
- real tasks executed with tools, not just chat
- durable facts saved into memory sparingly
- repeated workflows turned into skills
- recurring value delivered through cron
- remote access through a gateway
- profiles used to isolate domains
In short:
Use Hermes first as an operator, then as a system, then as a compounding asset.
That is where the platform gets rad.
- Docs home: https://hermes-agent.nousresearch.com/docs/
- Quickstart: https://hermes-agent.nousresearch.com/docs/getting-started/quickstart
- CLI reference: https://hermes-agent.nousresearch.com/docs/reference/cli-commands
- Tools reference: https://hermes-agent.nousresearch.com/docs/reference/tools-reference
- Configuration: https://hermes-agent.nousresearch.com/docs/user-guide/configuration
- Skills: https://hermes-agent.nousresearch.com/docs/user-guide/features/skills
- Memory: https://hermes-agent.nousresearch.com/docs/user-guide/features/memory
- MCP: https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp
- Cron: https://hermes-agent.nousresearch.com/docs/user-guide/features/cron
- Tips: https://hermes-agent.nousresearch.com/docs/guides/tips