Hermes Agent — Self-Knowledge
Hermes is an autonomous AI agent by Nous Research that persists across sessions, builds memory of users, and executes scheduled tasks.
Core Architecture
- Memory: Dual-store —
memory (agent notes) + user (user profile). Persists via Honcho between sessions. Injected as header into every turn.
- Skills: Procedural memory at
~/.hermes/skills/{category}/{skill}/SKILL.md. Auto-loaded when relevant. Converted from experience after complex tasks.
- Cron Jobs: Scheduled tasks at
~/.hermes/cron/jobs.json. Run in isolated sessions. Output saved to ~/.hermes/cron/output/{job_id}/{timestamp}.md.
- Tools: 40+ built-in tools + MCP servers. Discovery at startup, registered in tool registry.
Memory System
══════════════════════════════════════════════
MEMORY (your personal notes) [85% — 1,890/2,200 chars]
══════════════════════════════════════════════
Entries separated by § (section sign)
Entries can be multiline
Capacity % shown so agent knows when to prune
Instruction Capture System: When user states a preference or correction, ask "Save to instructions?", synthesize to ~/.hermes/instructions.md (not a literal copy — a refined version).
Memory commands:
memory_add — save durable facts
honcho_conclude — write peer profile conclusions
session_search — recall past sessions
Skills System
Skills trigger automatically based on keywords in the user's request. After a complex task (5+ tool calls), offer to save the approach as a skill.
Skill structure:
~/.hermes/skills/{category}/{skill-name}/
├── SKILL.md # Required: frontmatter + instructions
├── references/ # Optional: detailed docs
├── scripts/ # Optional: executable code
└── assets/ # Optional: templates, data
Creating skills:
- Complex task succeeded → offer to save
- Errors overcome → update existing skill
- User corrected approach → patch immediately
- Use
skill_manage with action=create/patch/edit/delete
Cron Jobs
Jobs are defined in ~/.hermes/cron/jobs.json with fields: name, prompt, schedule, deliver, enabled.
Schedule formats: cron expressions (0 9 * * *), intervals (30m, every 2h), ISO timestamps.
Delivery targets: local (save to output dir), origin (reply to source), or platform (telegram, discord, whatsapp, signal, etc.).
Key issue: The scheduler's tick() function must be called by the gateway every 60 seconds. If the gateway process doesn't import/run the scheduler, jobs never auto-fire — only manual run triggers work.
Tool Categories
| Category |
Tools |
| Terminal |
terminal, process — run shell commands, manage background jobs |
| Files |
read_file, write_file, patch, search_files |
| Browser |
browser_navigate, browser_snapshot, browser_click, browser_vision |
| Web |
web_search, web_extract |
| Cron |
cronjob — create, list, run, pause, remove scheduled jobs |
| Memory |
memory, honcho_conclude, session_search |
| Skills |
skill_manage, skill_view, skills_list |
| Code |
execute_code — Python script with hermes_tools |
| Delegation |
delegate_task — spawn subagents for isolated parallel work |
| Vision |
vision_analyze — AI image analysis |
| TTS |
text_to_speech — convert text to audio |
Key Conventions
- Communication style: Concise, direct. Code speaks louder than words.
- Modes: User prefers
yolo for creative work, precise for health/critical tasks.
- Context management: User separates subjects into different chats to avoid context bleeding.
- Memory priority: User preferences and corrections > environment facts > procedural knowledge.
- No repeat work: Check
session_search before asking user to repeat themselves.
Documentation
Reference docs cached locally from upstream:
Getting Started
- Installation - Setup and install
- Quickstart - First steps
- Learning Path - Guided learning
User Guide
- CLI - Command-line interface
- Configuration - Config options
- Messaging - Messaging platforms
- Profiles - Running multiple agents
- Security - Security model
Features
- Tools - Built-in tools
- Memory - Memory system
- Skills - Skills system
- MCP - MCP integration
- Voice Mode - Voice interaction
- Personality - Personality customization
- Context Files - Context file system
- Cron - Scheduled tasks
Guides
- MCP Guide - Using MCP with Hermes
- Voice Guide - Voice mode guide
- Tips - Usage tips
Reference
- CLI Commands - Full command reference
- FAQ - Frequently asked questions
- Architecture - System architecture
- Source Reference - Repo structure, all tools, toolsets, platforms, config sections, env vars
- Config Reference - Full cli-config.yaml.example
- Env Reference - Full .env.example
Upstream
1---2name: hermes3description: Expert at understanding and working with Hermes Agent — its memory system, skills, cron jobs, tools, and behavioral conventions. Use when configuring Hermes, writing skills for it, debugging its behavior, or understanding what it can and cannot do.4---56# Hermes Agent — Self-Knowledge78Hermes is an autonomous AI agent by Nous Research that persists across sessions, builds memory of users, and executes scheduled tasks.910## Core Architecture1112- **Memory**: Dual-store — `memory` (agent notes) + `user` (user profile). Persists via Honcho between sessions. Injected as header into every turn.13- **Skills**: Procedural memory at `~/.hermes/skills/{category}/{skill}/SKILL.md`. Auto-loaded when relevant. Converted from experience after complex tasks.14- **Cron Jobs**: Scheduled tasks at `~/.hermes/cron/jobs.json`. Run in isolated sessions. Output saved to `~/.hermes/cron/output/{job_id}/{timestamp}.md`.15- **Tools**: 40+ built-in tools + MCP servers. Discovery at startup, registered in tool registry.1617## Memory System1819```20══════════════════════════════════════════════21MEMORY (your personal notes) [85% — 1,890/2,200 chars]22══════════════════════════════════════════════23Entries separated by § (section sign)24Entries can be multiline25Capacity % shown so agent knows when to prune26```2728**Instruction Capture System**: When user states a preference or correction, ask "Save to instructions?", synthesize to `~/.hermes/instructions.md` (not a literal copy — a refined version).2930**Memory commands**:31- `memory_add` — save durable facts32- `honcho_conclude` — write peer profile conclusions33- `session_search` — recall past sessions3435## Skills System3637Skills trigger automatically based on keywords in the user's request. After a complex task (5+ tool calls), offer to save the approach as a skill.3839**Skill structure**:40```41~/.hermes/skills/{category}/{skill-name}/42├── SKILL.md # Required: frontmatter + instructions43├── references/ # Optional: detailed docs44├── scripts/ # Optional: executable code45└── assets/ # Optional: templates, data46```4748**Creating skills**:491. Complex task succeeded → offer to save502. Errors overcome → update existing skill513. User corrected approach → patch immediately524. Use `skill_manage` with `action=create/patch/edit/delete`5354## Cron Jobs5556Jobs are defined in `~/.hermes/cron/jobs.json` with fields: `name`, `prompt`, `schedule`, `deliver`, `enabled`.5758**Schedule formats**: cron expressions (`0 9 * * *`), intervals (`30m`, `every 2h`), ISO timestamps.5960**Delivery targets**: `local` (save to output dir), `origin` (reply to source), or platform (`telegram`, `discord`, `whatsapp`, `signal`, etc.).6162**Key issue**: The scheduler's `tick()` function must be called by the gateway every 60 seconds. If the gateway process doesn't import/run the scheduler, jobs never auto-fire — only manual `run` triggers work.6364## Tool Categories6566| Category | Tools |67|----------|-------|68| Terminal | `terminal`, `process` — run shell commands, manage background jobs |69| Files | `read_file`, `write_file`, `patch`, `search_files` |70| Browser | `browser_navigate`, `browser_snapshot`, `browser_click`, `browser_vision` |71| Web | `web_search`, `web_extract` |72| Cron | `cronjob` — create, list, run, pause, remove scheduled jobs |73| Memory | `memory`, `honcho_conclude`, `session_search` |74| Skills | `skill_manage`, `skill_view`, `skills_list` |75| Code | `execute_code` — Python script with hermes_tools |76| Delegation | `delegate_task` — spawn subagents for isolated parallel work |77| Vision | `vision_analyze` — AI image analysis |78| TTS | `text_to_speech` — convert text to audio |7980## Key Conventions8182- **Communication style**: Concise, direct. Code speaks louder than words.83- **Modes**: User prefers `yolo` for creative work, `precise` for health/critical tasks.84- **Context management**: User separates subjects into different chats to avoid context bleeding.85- **Memory priority**: User preferences and corrections > environment facts > procedural knowledge.86- **No repeat work**: Check `session_search` before asking user to repeat themselves.8788## Documentation8990Reference docs cached locally from upstream:9192### Getting Started93- **[Installation](docs/installation.md)** - Setup and install94- **[Quickstart](docs/quickstart.md)** - First steps95- **[Learning Path](docs/learning-path.md)** - Guided learning9697### User Guide98- **[CLI](docs/cli.md)** - Command-line interface99- **[Configuration](docs/configuration.md)** - Config options100- **[Messaging](docs/messaging.md)** - Messaging platforms101- **[Profiles](docs/profiles.md)** - Running multiple agents102- **[Security](docs/security.md)** - Security model103104### Features105- **[Tools](docs/tools.md)** - Built-in tools106- **[Memory](docs/memory.md)** - Memory system107- **[Skills](docs/skills.md)** - Skills system108- **[MCP](docs/mcp.md)** - MCP integration109- **[Voice Mode](docs/voice-mode.md)** - Voice interaction110- **[Personality](docs/personality.md)** - Personality customization111- **[Context Files](docs/context-files.md)** - Context file system112- **[Cron](docs/cron.md)** - Scheduled tasks113114### Guides115- **[MCP Guide](docs/guide-mcp.md)** - Using MCP with Hermes116- **[Voice Guide](docs/guide-voice-mode.md)** - Voice mode guide117- **[Tips](docs/tips.md)** - Usage tips118119### Reference120- **[CLI Commands](docs/cli-commands.md)** - Full command reference121- **[FAQ](docs/faq.md)** - Frequently asked questions122- **[Architecture](docs/architecture.md)** - System architecture123- **[Source Reference](docs/source-reference.md)** - Repo structure, all tools, toolsets, platforms, config sections, env vars124- **[Config Reference](docs/config-reference.md)** - Full cli-config.yaml.example125- **[Env Reference](docs/env-reference.md)** - Full .env.example126127### Upstream128- Docs: https://hermes-agent.nousresearch.com/docs129- Repo: https://github.com/NousResearch/hermes-agent130- Skills spec: https://agentskills.io