Hermes Agent skills and profiles for production deployments
Rost's Dev.to article explains how Hermes Agent's skill and profile architecture should be treated as an operational design question, not a feature checklist, for teams running it in real production environments.
Score breakdown
Teams deploying Hermes Agent in production should structure their setup around isolated profiles per responsibility and minimal MCP surfaces to avoid skill sprawl and maintain clean, auditable agent behavior over time.
- 01Hermes Agent's GitHub repository shows ~94.6k stars, 13.2k forks, and a latest release tagged `v0.10.0` on April 16, 2026.
- 02Skills are on-demand knowledge documents using progressive disclosure — a compact index loads first, full content only when needed — to control token usage.
- 03All skills (bundled, hub-installed, and agent-created) live under `~/.hermes/skills/` and can be modified or deleted by the agent itself.
Rost's Dev.to article frames Hermes Agent's configuration not as a feature walkthrough but as an operational architecture problem. The agent is documented as self-improving: it creates skills from experience, refines them during use, and persists knowledge across sessions. Skills are described as on-demand knowledge documents that use progressive disclosure — the agent sees a compact skill index first and only loads full skill content when needed — keeping token usage under control even with many skills installed. Every installed skill becomes a slash command in the CLI and messaging surfaces, and the docs position skills as the preferred extension mechanism when a capability can be expressed with instructions, shell commands, and existing tools rather than custom agent code. The production risk is that Hermes treats skills as living state: bundled, hub-installed, and agent-created skills all live under `~/.hermes/skills/`, and the agent can modify or delete them, making an oversized single-agent setup prone to becoming a "procedural junk drawer."
Each Hermes profile is a fully isolated environment with its own `config.yaml`, `.env`, `SOUL.md`, memories, sessions, skills, cron jobs, and state database.
Profiles are the recommended solution. Each Hermes profile is a fully isolated environment with its own `config.yaml`, `.env`, `SOUL.md`, memories, sessions, skills, cron jobs, and state database. The CLI turns each profile into its own command alias — a profile called `coder` becomes `coder chat`, `coder setup`, `coder gateway start`, and so on. The article recommends organizing profiles by responsibility (e.g., `eng/`, `research/`, `ops/`, `execops/`, `ml/`) rather than by individual user. Non-secret behavior is stored in `~/.hermes/config.yaml`, secrets in `~/.hermes/.env`, and the documented precedence order is CLI flags first, then `config.yaml`, then `.env`, then built-in defaults.
On the execution side, Hermes supports six terminal backends — local, Docker, SSH, Modal, Daytona, and Singularity — with a defense-in-depth security model covering dangerous command approval, container isolation, MCP credential filtering, context file scanning, cross-session isolation, and input sanitization. Cron jobs can attach zero, one, or multiple skills and run in fresh agent sessions rather than inheriting the current chat context. The messaging gateway manages sessions, runs cron, and routes results to platforms including Telegram, Discord, Slack, WhatsApp, Email, and Matrix. The article closes with the MCP principle that the best pattern is to expose the smallest useful surface rather than connecting everything.
Key facts
- 01Hermes Agent's GitHub repository shows ~94.6k stars, 13.2k forks, and a latest release tagged `v0.10.0` on April 16, 2026.