Introduction
Hermes treats skills with different levels of trust based on where they came from. This is not a moral judgment about authors. It is a pragmatic gradient: the further a skill travels from the Hermes maintainers, the more careful Hermes (and you) should be about what it does in your prompt. Understanding the gradient helps you reach for the right source for the job.
Key Concepts
- Bundled skill: Ships inside the Hermes repo (
skills/directory). Synced to~/.hermes/skills/on install and update. Trust:builtin. - Official optional skill: Lives in
optional-skills/in the Hermes repo. Install on demand withhermes skills install official/<category>/<name>. Trust:official. - Trusted tap: A small set of well-known third-party GitHub repos (
openai/skills,anthropics/skills,huggingface/skills). Trust:trusted. Other widely-known repos (e.g.,VoltAgent/awesome-agent-skills,garrytan/gstack) are browsable by default but ship withcommunitytrust unless explicitly added to the Hermes trusted list. - Community: Everything else (skills.sh, custom taps, well-known endpoints, direct URLs). Trust:
community.
Real World Context
A team installs the plan skill (bundled, ships with Hermes) for project planning. For security workflows they reach for official/security/1password (curated by the Hermes team, no third-party warning). For a one-off PDF skill they install from openai/skills/pdf (trusted tap). For a niche team utility they install from their own private GitHub tap (community by default, fine because they wrote it themselves). One ecosystem, four different points on the trust gradient, all coexisting.
Deep Dive
The trust levels map to concrete policy:
| Trust level | Source examples | Third-party warning panel | --force for dangerous |
|---|---|---|---|
builtin | Bundled skills | No | No (cannot override) |
official | official/... | No | No |
trusted | openai/skills, anthropics/skills, huggingface/skills | Optional, more permissive | No |
community | skills.sh, custom taps, well-known, URL | Yes | No |
Across every tier, the security scanner runs. --force overrides non-dangerous findings (caution, warn) when you have read the inspect output and accept the risk. A dangerous verdict is the hard ceiling: no tier can override it.
Updates work differently per tier too:
- Bundled skills sync on every
hermes update. If you have edited a bundled skill, Hermes marks ituser-modifiedand skips it on future syncs (so your edits survive).hermes skills reset <name>clears that flag. - Official optional skills reinstall on
hermes skills update. The maintainer is the Hermes team. - Trusted and community skills reinstall on
hermes skills updatetoo, but the source could be anyone. Treat updates like reading new code.
The trade-off across tiers is the usual one. Bundled and official skills are more vetted but smaller in number. Community is far larger but uneven. Most teams converge on a portfolio: a handful of bundled and official skills for core workflows, a custom tap for team-specific ones, and a careful selection of community skills for niches.
Common Pitfalls
- Editing a bundled skill, then expecting future updates: Once you edit, the sync stops. You can run
hermes skills reset --restoreto undo, orhermes skills resetto take ownership of the edit going forward. - Treating
trustedassafe by default: Trusted only means more permissive scanner policy. The body can still be wrong for your context. Inspect anyway.
Best Practices
- Build out from bundled: Start with bundled and official skills for everyday workflows. Reach for community only when those do not cover your need.
- Use a private tap for team skills: A GitHub repo of your team's skills, added with
hermes skills tap add, gives you community-level trust by default but full review control.
Summary
- Trust tiers:
builtin(bundled),official(curated optional),trusted(well-known taps),community(everything else). - Tier affects policy and warning panels; it does not change the fact that the body still runs in your agent's prompt.
- Updates work per tier: bundled syncs, optional/community reinstalls.
- A typical team uses a mix: bundled + official + private tap + selected community.
Code Examples
# List installed skills with their source identifiers
hermes skills list
hermes skills list --source hub # only hub-installed
# Reset a bundled skill back to the upstream version
hermes skills reset google-workspace --restore
# Add a private team tap (community trust by default)
hermes skills tap add my-org/hermes-skills
# Check for updates across all installed skills
hermes skills check
hermes skills update