Short answer
A Hermes skill is a Markdown file with YAML frontmatter, stored in ~/.hermes/skills/. It holds plain-language instructions that the agent loads when the skill's description matches your request. Hermes can write skills for itself after it solves a repeatable task, and most people can write a basic one without code.
What a skill actually is
A Hermes skill is a Markdown file with YAML frontmatter stored in ~/.hermes/skills/. The frontmatter describes the skill: name, description, when to use it. The body contains instructions in natural language. No compiled code required to write a basic skill.
The agent reads skills into context when they are relevant. It decides which skills to load based on the description field in the frontmatter. A skill for 'deploy a Next.js app to Vercel' loads when you ask about Vercel deployments and stays out of context for unrelated tasks. Skills can also include executable code (Python, JavaScript, bash) that runs inside the agent's Docker sandbox, functioning as mini-programs the agent can invoke when the natural language instructions call for it.
The skill file format
Skills live in ~/.hermes/skills/ with a .md extension. Key YAML frontmatter fields:
The description field is the most important: it determines when the agent loads this skill. Write it as a trigger condition: 'Use when...' or 'When the user asks about...'. A vague description gets the skill triggered for unrelated tasks and wastes context tokens. A description that is too narrow means the skill gets missed when it should apply. Specific trigger language is worth the extra time to write.
Key fields: name (internal identifier used in CLI commands), description (natural language trigger, critical), version (used for updates and rollback), author (shown on Skills Hub if published), tags (for hermes skills list filtering), platforms (which gateways can use this skill, defaulting to all if omitted).
How Hermes self-creates and improves skills
When the agent successfully completes a complex task it is likely to face again, it can write the procedure as a new skill in ~/.hermes/skills/. On the next occurrence: load the skill, follow the documented procedure, and if the procedure runs better or differently, update the skill file. This is the feature that distinguishes Hermes from most AI agents: no other mainstream agent framework in 2026 has a working equivalent.
In practice: ask Hermes to set up a new Python project with a specific structure: a venv, pytest, linting config. It works through the steps, succeeds, and writes a create-python-project.md skill. Next time you ask for the same setup, it loads the skill and executes faster. If you later change your preferred structure, update the skill to match.
This does not happen automatically for every task: the agent decides when a procedure is worth codifying. You can also prompt it explicitly: 'Package what you just did as a skill so you can do it faster next time.' Skill versioning means the agent can roll back an update that broke something.
The Skills Hub (agentskills.io)
The Skills Hub at agentskills.io is Hermes's community skill marketplace. Skills are submitted by community members and installable directly from the CLI:
Categories on the Hub include: development tools (deployment, testing, CI), productivity (email management, calendar, task tracking), data processing (scraping, file conversion), system administration, API integrations (Stripe, GitHub, Notion), and lifestyle (personal finance, health tracking).
Not all skills undergo security review. The same caution applies as installing any third-party package: read the skill file before running it in an environment with credentials or shell access. A skill calling a remote URL on your behalf, running shell commands with elevated permissions, or reading sensitive files deserves scrutiny before you install it. Check the author's publish history, read the implementation, and do not install anything touching your data from an author with no track record.
Hermes skills vs OpenClaw plugins
OpenClaw uses a plugin system hosted on ClawHub. The structural differences:
| Feature | Hermes Skills | OpenClaw Plugins |
|---|---|---|
| Format | Markdown + YAML | TypeScript/JavaScript module |
| Self-creation | Yes | No |
| Self-improvement | Yes | No |
| Marketplace | agentskills.io | clawhub.io |
| Security record | No public CVEs | 400+ malicious plugins reported |
| Installation | hermes skills install | openclaw plugins install |
The OpenClaw plugin system is more powerful for developers who want to write full TypeScript modules with complex logic. Hermes skills are more accessible: most users can write a working skill without writing code. The self-creation feature has no OpenClaw equivalent. The 400+ malicious plugin figure comes from OpenClaw's own ClawHub community disclosures. The Hermes Skills Hub has not had a comparable public incident, partly because it is newer and smaller.
Writing your first skill
Create a skill file directly:
Minimal working example: a skill that formats Git commit messages:
Test it:
The agent loads the skill because 'commit message' matches the trigger description.
For skills with code execution, add a code block with a language tag:
Make the intent for code blocks explicit in your prose instructions: the agent decides when to execute vs. use them as reference.
Managing and sharing skills
Useful skills commands:
Skills are included in profile exports (hermes profile export <name>), making them portable between machines. When migrating from OpenClaw with hermes claw migrate, Hermes-compatible OpenClaw plugins convert to the skill format automatically where possible. Plugin types requiring TypeScript compilation fall back to stubs that describe what the original plugin did. Those need manual rewriting.
On Hivra, skills are stored on the agent's computer and survive restarts. The self-creation loop is particularly useful here: an agent you have been using for six months accumulates a skill library tuned to your exact working patterns. That library lives on the agent's computer.
Common questions
Do I need to know programming to write Hermes skills?
No. Basic skills are plain Markdown with YAML frontmatter: natural language instructions the agent follows. Code is only needed if you want the skill to execute programs directly. Most useful skills (workflow guides, deployment checklists, formatting rules) are pure text.
Can Hermes Agent write skills for itself?
Yes. When it solves a repeatable problem, it packages the procedure as a skill in ~/.hermes/skills/ and improves it over subsequent uses. You can also prompt it explicitly: 'Package what you just did as a skill.'
How is the Hermes Skills Hub different from ClawHub?
The Skills Hub (agentskills.io) hosts Hermes Agent skills in Markdown format. ClawHub hosts OpenClaw plugins in TypeScript/JavaScript. Hermes skills are more accessible to non-developers. ClawHub has reported 400+ malicious plugins in its history; the Skills Hub is newer, smaller, and has not had a comparable incident.
How do I know which skill the agent is using?
Run Hermes with the debug flag: hermes --debug -m 'your question'. The output shows which skills were loaded. If the agent loaded a skill you didn't expect, the description is probably too broad.
What happens to my skills if I move to a different server?
Skills are stored in ~/.hermes/skills/ and included in profile exports: hermes profile export <name>. Import on the new server with hermes profile import <file>.
How many skills can Hermes have installed?
No hard limit. But skills loaded per context have a soft ceiling based on your model's context window, so more installed skills means more potential tokens consumed. Well-scoped trigger descriptions keep loading efficient because irrelevant skills do not get loaded.