How to Install Hermes Agent Skills
Covers installing Hermes Agent itself, then every documented way to add, manage, update, and remove skills — including the parts most guides skip: security scanning, bundled-skill protection, and opting out of default seeding.
Published
AgentSkills.site editorial
1. Install Hermes Agent first
Skills require Hermes Agent to be installed — there's no standalone skills installer. Pick your platform:
Linux, macOS, WSL2, or Android (Termux):
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Native Windows (PowerShell):
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
macOS/Windows desktop app: download the installer from hermes-agent.nousresearch.com and run it directly.
Prerequisites
- Git is required on every platform.
- Linux also needs
curlandxz-utils(the installer fetches Node.js as a.tar.xzarchive). - The desktop app additionally needs a C++ toolchain (
g++/build-essentialon Debian-based distros).
You do not need to install Python, Node.js, uv, ripgrep, or ffmpeg yourself — the installer detects what's missing and installs it.
After installing
source ~/.bashrc # or ~/.zshrc — reload your shell so `hermes` is on PATH
hermes doctor # verify the install
Then configure the basics:
hermes model # pick an LLM provider
hermes tools # enable/disable tools
hermes gateway setup # wire up Telegram/Discord/Slack/WhatsApp, if wanted
hermes setup --portal # quick setup via the Nous Portal (recommended default path)
Where things land
| Per-user install | Root-mode install | |
|---|---|---|
| Code | ~/.hermes/hermes-agent/ |
/usr/local/lib/hermes-agent/ |
| Binary | ~/.local/bin/hermes |
/usr/local/bin/hermes |
| Config | ~/.hermes/ |
/root/.hermes/ or $HERMES_HOME |
2. Browse and search for skills
Once Hermes is running, skills come from eight federated sources (official bundle, Vercel's skills-sh directory, .well-known endpoints, direct GitHub paths, ClawHub, LobeHub, Browserbase's browse-sh, and direct URLs — see the skills guide for what each one is).
hermes skills browse # browse what's available across sources
hermes skills search kubernetes # search all sources for a keyword
3. Install a skill
hermes skills install openai/skills/k8s
This runs a security scan (checking for data exfiltration, prompt injection, and destructive commands) before the skill lands on disk. If the scan flags something non-dangerous on a community-tier skill, you can override it:
hermes skills install some-org/some-skill --force
Dangerous findings cannot be forced through. We have not independently tested what the scanner catches or misses — treat this as a floor, not a substitute for reading the skill's SKILL.md and any bundled scripts yourself, especially for community-tier installs. See evaluating skill repositories for what to check by hand.
Subscribing to a custom source
If your team or a project maintains its own skills repo, register it as a "tap" so its skills show up in browse/search/install:
hermes skills tap add myorg/skills-repo
4. List and manage what's installed
hermes skills list --source hub # list installed hub skills
hermes skills check # check for upstream updates
hermes skills update # reinstall skills that have updates
Resetting a skill
hermes skills reset google-workspace # clear the manifest entry
hermes skills reset google-workspace --restore # restore the bundled version
5. Using external and project-local skill directories
To load skills from somewhere other than ~/.hermes/skills/ — a shared team repo, or a skills folder checked into a project — add it under external_dirs in config.yaml:
skills:
external_dirs:
- ~/.agents/skills
- ${SKILLS_REPO}/skills
6. Bundled skills: keeping local edits safe across updates
Hermes hashes every bundled skill on install (~/.hermes/skills/.bundled_manifest). If you've edited a bundled skill yourself, it's preserved permanently and skipped during future syncs rather than silently overwritten. If you'd rather not have Hermes seed its default skill set at all:
hermes skills opt-out # stop future seeding, keep current installs
hermes skills opt-out --remove # also remove unmodified bundled skills
hermes skills opt-in --sync # turn seeding back on and re-sync
7. Requiring approval before Hermes edits its own skills
Hermes can create and modify skills autonomously through its learning loop (see the flagship guide). To require a manual check first:
skills:
write_approval: true
With that set, proposed changes queue under ~/.hermes/pending/skills/:
/skills pending # list staged writes
/skills diff <id> # view the diff
/skills approve <id> # apply it
/skills reject <id> # discard it
Troubleshooting
| Symptom | Fix |
|---|---|
hermes: command not found after install |
Reload your shell (source ~/.bashrc / ~/.zshrc), or confirm ~/.local/bin is on PATH |
| API key / provider error | Run hermes model again, or set the key directly with hermes config set |
| Config seems broken after an update | hermes config check, then hermes config migrate |
| A skill install is silently blocked | It likely tripped the security scanner on a dangerous finding — those can't be forced through with --force; read the skill source before trying an alternative |
Sources
- Hermes Agent — Installation (official docs)
- Hermes Agent — Skills System (official docs)
hermes_cli/skills_hub.pyandwebsite/docs/reference/cli-commands.md, NousResearch/hermes-agent — used to confirm the CLI subcommands above exist in the actual source, not just marketing copy
Elsewhere in the Hermes Agent guide
- 01Hermes Agent Skills: The Practical GuideHow the Hermes Agent skills system actually works, sourced from the official docs and repository.
- 02The Best Hermes Agent SkillsA curated, criteria-based look at notable Hermes Agent skills — with honest limits on what can be ranked.
- 04Hermes Agent Skills on GitHubHow to find and evaluate Hermes-compatible skill repositories on GitHub, official and community.