Hermes
Use First
Use this skill for Hermes Agent self-hosting and day-to-day operation: install, setup, model/provider selection, gateway platforms, Slack channel setup, command discovery, updates, plugins, tools, skills, memory, profiles, MCP, cron, Kanban, delegate_task subagents, logs, dashboards, tutorials, and long-running tmux sessions.
Do not rely on stale remembered commands. Hermes changes quickly. At the start of each Hermes task, resolve scripts/hermes_check.py relative to this skill directory and run:
python3 <skill-dir>/scripts/hermes_check.py --json
If command behavior matters, also refresh the generated local command snapshot:
python3 <skill-dir>/scripts/hermes_check.py --write-help <skill-dir>/references/command-map.generated.md
Report update availability before changing configuration. Do not run hermes update without explicit user approval unless the user already asked to update.
Decision Flow
- Verify local state with
scripts/hermes_check.py.
- Use
hermes --help and hermes <command> --help as the source of truth for executable commands.
- Load only the needed reference file:
references/setup-and-update.md for install, versioning, updates, config health, backups, and safe update policy.
references/getting-started-tutorials.md for first-run setup, self-hosting paths, guided usage flows, and user-facing tutorials.
references/command-catalog.md for command categories and common CLI patterns.
references/official-links.md for official docs, release, reference, and troubleshooting links.
references/slack-gateway.md for Slack app, channel, Socket Mode, manifest, gateway, and allowlist setup.
references/operations-runbook.md for tmux sessions, one-shot execution, profiles, cron, webhooks, memory, skills, and autonomy guardrails.
references/kanban-operations.md for durable task boards, profile workers, dependencies, isolated workspaces, dispatch, and task notifications.
references/delegation-vs-kanban.md for delegate_task, subagent delegation, and choosing between delegation, Kanban, tmux, cron, and background terminal work.
references/slash-commands.md for in-session /... commands, gateway slash commands, and when to prefer CLI commands.
references/providers-tools-security.md for key paths, config sections, providers, toolsets, approval modes, redaction, and privacy.
references/plugins-and-tools.md for user/operator plugin installation, tool enablement, MCP connections, and safe verification.
references/voice-and-media.md for STT, TTS, voice mode, image input, and media-related troubleshooting.
references/self-improvement.md for updating this skill after new Hermes behavior, command changes, or operational lessons are discovered.
references/troubleshooting.md for logs, Slack failures, token problems, stale skills, gateway issues, and community-known pitfalls.
references/command-map.generated.md only when exact local help output is needed.
- For interactive Hermes or
tmux work, read the current pane before sending keys. Explain prompts and recommend a choice before sending input.
- Prefer deterministic commands and scripts for inspection. Keep non-deterministic guidance in reference docs or in the Hermes conversation itself.
- At the end of each Hermes task, run the self-improvement review in
references/self-improvement.md.
Common Request Routing
- "Install Hermes" or "self-host Hermes" ->
getting-started-tutorials.md, setup-and-update.md, then official-links.md.
- "Set up Slack channel" ->
slack-gateway.md, run scripts/hermes_slack_check.py, then troubleshooting.md.
- "Check if my Hermes is healthy" -> run
scripts/hermes_ops_check.py, then setup-and-update.md.
- "Enable a plugin/tool/MCP server" ->
plugins-and-tools.md, providers-tools-security.md.
- "Teach me how to use Hermes" ->
getting-started-tutorials.md, slash-commands.md, command-catalog.md.
- "Use Kanban", "dispatch workers", or "coordinate profiles" ->
kanban-operations.md, operations-runbook.md.
- "Use delegate_task", "delegate this", "spawn subagents", or "parallel subtasks" ->
delegation-vs-kanban.md; use Kanban instead when the work must be durable, human-visible, restartable, or assigned to named profiles.
Current CLI Baseline
As of Hermes Agent v0.12.0, prefer:
hermes
hermes chat -q "single query"
hermes -z "script-friendly one-shot"
hermes setup
hermes model
hermes doctor
hermes config check
hermes update --check
hermes gateway setup
hermes gateway status
hermes slack manifest
Avoid old third-party examples built around hermes run; current Hermes does not expose run as a root command in v0.12.0.
Safety Rules
- Treat
~/.hermes/.env, Slack tokens, OAuth tokens, and ~/.hermes/auth.json as secrets. Never print full token values.
- Set or verify allowlists before enabling Slack or other gateways.
- Use
hermes update --check before update decisions; use hermes backup or the update backup flags for risky changes.
- For automation, start with read-only/reporting workflows, add verification, then schedule with cron/webhooks only after repeated successful manual runs.
- Prefer files over chat for durable Hermes behavior:
config.yaml, .env, SOUL.md, AGENTS.md, skills, and runbooks.
1---2name: hermes3description: This skill should be used when self-hosting, installing, configuring, operating, updating, troubleshooting, or learning to use NousResearch Hermes Agent, including CLI usage, gateway and Slack setup, plugins, tools, skills, profiles, memory, MCP, cron, Kanban, delegate_task subagents, dashboards, and tmux-managed Hermes sessions.4---56# Hermes78## Use First910Use this skill for Hermes Agent self-hosting and day-to-day operation: install, setup, model/provider selection, gateway platforms, Slack channel setup, command discovery, updates, plugins, tools, skills, memory, profiles, MCP, cron, Kanban, `delegate_task` subagents, logs, dashboards, tutorials, and long-running tmux sessions.1112Do not rely on stale remembered commands. Hermes changes quickly. At the start of each Hermes task, resolve `scripts/hermes_check.py` relative to this skill directory and run:1314```bash15python3 <skill-dir>/scripts/hermes_check.py --json16```1718If command behavior matters, also refresh the generated local command snapshot:1920```bash21python3 <skill-dir>/scripts/hermes_check.py --write-help <skill-dir>/references/command-map.generated.md22```2324Report update availability before changing configuration. Do not run `hermes update` without explicit user approval unless the user already asked to update.2526## Decision Flow27281. Verify local state with `scripts/hermes_check.py`.292. Use `hermes --help` and `hermes <command> --help` as the source of truth for executable commands.303. Load only the needed reference file:31 - `references/setup-and-update.md` for install, versioning, updates, config health, backups, and safe update policy.32 - `references/getting-started-tutorials.md` for first-run setup, self-hosting paths, guided usage flows, and user-facing tutorials.33 - `references/command-catalog.md` for command categories and common CLI patterns.34 - `references/official-links.md` for official docs, release, reference, and troubleshooting links.35 - `references/slack-gateway.md` for Slack app, channel, Socket Mode, manifest, gateway, and allowlist setup.36 - `references/operations-runbook.md` for tmux sessions, one-shot execution, profiles, cron, webhooks, memory, skills, and autonomy guardrails.37 - `references/kanban-operations.md` for durable task boards, profile workers, dependencies, isolated workspaces, dispatch, and task notifications.38 - `references/delegation-vs-kanban.md` for `delegate_task`, subagent delegation, and choosing between delegation, Kanban, tmux, cron, and background terminal work.39 - `references/slash-commands.md` for in-session `/...` commands, gateway slash commands, and when to prefer CLI commands.40 - `references/providers-tools-security.md` for key paths, config sections, providers, toolsets, approval modes, redaction, and privacy.41 - `references/plugins-and-tools.md` for user/operator plugin installation, tool enablement, MCP connections, and safe verification.42 - `references/voice-and-media.md` for STT, TTS, voice mode, image input, and media-related troubleshooting.43 - `references/self-improvement.md` for updating this skill after new Hermes behavior, command changes, or operational lessons are discovered.44 - `references/troubleshooting.md` for logs, Slack failures, token problems, stale skills, gateway issues, and community-known pitfalls.45 - `references/command-map.generated.md` only when exact local help output is needed.464. For interactive Hermes or `tmux` work, read the current pane before sending keys. Explain prompts and recommend a choice before sending input.475. Prefer deterministic commands and scripts for inspection. Keep non-deterministic guidance in reference docs or in the Hermes conversation itself.486. At the end of each Hermes task, run the self-improvement review in `references/self-improvement.md`.4950## Common Request Routing5152- "Install Hermes" or "self-host Hermes" -> `getting-started-tutorials.md`, `setup-and-update.md`, then `official-links.md`.53- "Set up Slack channel" -> `slack-gateway.md`, run `scripts/hermes_slack_check.py`, then `troubleshooting.md`.54- "Check if my Hermes is healthy" -> run `scripts/hermes_ops_check.py`, then `setup-and-update.md`.55- "Enable a plugin/tool/MCP server" -> `plugins-and-tools.md`, `providers-tools-security.md`.56- "Teach me how to use Hermes" -> `getting-started-tutorials.md`, `slash-commands.md`, `command-catalog.md`.57- "Use Kanban", "dispatch workers", or "coordinate profiles" -> `kanban-operations.md`, `operations-runbook.md`.58- "Use delegate_task", "delegate this", "spawn subagents", or "parallel subtasks" -> `delegation-vs-kanban.md`; use Kanban instead when the work must be durable, human-visible, restartable, or assigned to named profiles.5960## Current CLI Baseline6162As of Hermes Agent v0.12.0, prefer:6364```bash65hermes66hermes chat -q "single query"67hermes -z "script-friendly one-shot"68hermes setup69hermes model70hermes doctor71hermes config check72hermes update --check73hermes gateway setup74hermes gateway status75hermes slack manifest76```7778Avoid old third-party examples built around `hermes run`; current Hermes does not expose `run` as a root command in v0.12.0.7980## Safety Rules8182- Treat `~/.hermes/.env`, Slack tokens, OAuth tokens, and `~/.hermes/auth.json` as secrets. Never print full token values.83- Set or verify allowlists before enabling Slack or other gateways.84- Use `hermes update --check` before update decisions; use `hermes backup` or the update backup flags for risky changes.85- For automation, start with read-only/reporting workflows, add verification, then schedule with cron/webhooks only after repeated successful manual runs.86- Prefer files over chat for durable Hermes behavior: `config.yaml`, `.env`, `SOUL.md`, `AGENTS.md`, skills, and runbooks.