Skip to content

Skills Hub Ecosystem

Every skill you've written so far lives in ~/.hermes/skills/. That's the right place for personal procedures and environment-specific knowledge. But a lot of the procedures you need already exist, someone else configured PostgreSQL replication, someone else wrote a skill for setting up Let's Encrypt with nginx, someone else captured the exact steps for migrating from pip to uv without breaking a monorepo.

The Skills Hub is where those skills live. It's a community repository of reusable procedures that you browse, install, and update through the same CLI you use for local skills. This lesson covers the ecosystem: finding skills, understanding trust levels, the security scanning that runs on install, and publishing skills you've written.

Owl mascot

What you'll learn

  • hermes skills browse opens the full catalog; hermes skills search finds specific procedures, both work offline against a local index
  • Every skill in the hub carries a trust level (verified, community, untrusted) that determines what gates it passes through on install
  • Installed skills are scanned for prompt injection and malicious patterns before they reach the system prompt, the same scanner that protects context files
  • You can publish your own skills with hermes skills publish, or tap external GitHub repositories with hermes skills tap add

The problem

You're about to set up PostgreSQL streaming replication. You know the general idea, WAL shipping, standby servers, failover, but the exact sequence of pg_basebackup and pg_hba.conf edits and postgresql.conf parameters is something you've done twice in your career and forgotten both times. You could work through it with Hermes interactively, debugging each step. Or someone could have already written a skill that captures the procedure.

The Skills Hub exists because the knowledge you need for specific, infrequent system administration tasks shouldn't require you to rediscover it from first principles. Some procedures are one-and-done for any given person but common enough across the community that a shared skill saves everyone hours.

Options & when to use each

The Skills Hub is one of several ways to get skills into Hermes:

SourceHow you get itUpdatesTrust modelBest for
Skills Hub (hermes skills install)Browse the catalog, install with a single commandhermes skills update fetches newer versionsTrust levels (verified, community, untrusted) + security scanCommunity-maintained procedures, reference skills, domain-specific tooling
GitHub tap (hermes skills tap add)Point to a GitHub repo, Hermes syncs its skillsAutomatic on repo push, or manual hermes skills updateYou trust the repo owner, you added the tapTeam-shared skills, organizational standards, private skill repos
Direct URL (hermes skills install https://...)Install a single SKILL.md from a URLManual, you reinstall to updateYou trust the URL sourceOne-off skills from blog posts or gists, testing a skill before sharing
Local (write your own)Write a SKILL.md in ~/.hermes/skills/You edit itFull trust, you wrote itPersonal procedures, environment-specific knowledge, secrets-adjacent workflows

For most users, the flow is: browse the hub for common procedures, tap your team's GitHub repo for shared organizational skills, and write local skills for anything specific to your machine or workflow.

Trust levels

Not every skill in the hub is equally trusted. Hermes applies three trust levels that control what happens on install:

Trust levelWhat it meansWhat happens on install
VerifiedThe skill author's identity is confirmed, the skill has been reviewed for correctness and safety, and it passes all automated checksInstalls without prompts. Shown with a verified badge in hermes skills browse
CommunityPublished by a registered hub user, passed automated security scanning, but not manually reviewedInstalls with a confirmation prompt showing the skill name and description. The security scan runs before the prompt appears, if the scan fails, the install is blocked
UntrustedPublished anonymously or from a new account with no historyBlocked by default. Can be installed with an explicit --trust flag after reviewing the source

When you browse the hub, the trust level is visible next to each skill. The search results and browse interface both show it prominently, you can filter by trust level to see only verified skills if you prefer to stay within reviewed content.

Security scanning

Every skill installed from the hub passes through the same threat-pattern scanner that protects project context files. The scanner checks for:

  • Prompt injection patterns, text designed to override the system prompt or inject instructions into the conversation
  • Promptware, known malicious patterns that attempt to extract secrets, bypass tool restrictions, or redirect agent behavior
  • Suspicious file references, paths that look like attempts to read or write outside the skill directory

If a skill triggers the scanner, the install is blocked with a message indicating what pattern was detected. The skill is not installed, and its content never reaches the system prompt. You can review the blocked skill's source on the hub to understand what tripped the scanner, but you can't bypass it, blocked is blocked.

This scanning is automatic and mandatory for hub installs. There is no opt-out. If you genuinely need a skill that triggers the scanner (unlikely, since the patterns are specifically malicious), you can copy the content manually into a local skill after reviewing every line.

Local skills are not scanned

Skills in ~/.hermes/skills/ that you wrote yourself are trusted by default. The scanner only applies to skills installed from external sources (hub, URL, tap). If you copy a skill from the hub into your local directory manually, you're bypassing the scanner, make sure you've reviewed it.

Build it

Step 1: Browse the catalog

Query the local cache of the global skill registry. This provides a high-level view of available community procedures without initiating network calls.

bash
hermes skills browse

This opens the full skills catalog. You can scroll through categories, see trust levels, and read descriptions. The browse command works against a local cache, it doesn't require a network connection after the initial catalog fetch.

Step 2: Search for specific procedures

Execute targeted keyword lookups against the index to locate domain-specific templates. Results are sorted by relevance and community usage metrics.

bash
hermes skills search "postgresql replication"
hermes skills search "nginx letsencrypt"
hermes skills search "docker compose deployment"

Searches return skills matching the keywords, ranked by relevance. Each result shows the skill name, description, trust level, and download count.

Step 3: Inspect before installing

Before installing a skill, inspect its full content:

bash
hermes skills inspect postgres-replication

This shows the complete SKILL.md without installing it, frontmatter, description, procedure steps, and any linked files. Use this to verify the skill does what you expect before it enters your skill library.

Step 4: Install a skill

Pull the validated artifact into your local registry. The system runs security heuristics during this phase to intercept malicious prompt payloads.

bash
hermes skills install postgres-replication

For verified skills, installation is immediate. For community skills, you'll see a confirmation prompt. For untrusted skills, you'll need --trust:

bash
hermes skills install untrusted-skill-name --trust

After installation, the skill appears in hermes skills list and is available in the Level 0 skills list at the next session start.

Step 5: Update installed skills

Check for updates to installed hub skills:

bash
hermes skills check

If updates are available:

bash
hermes skills update

This updates all installed hub skills to their latest versions. Local skills (written by you or Hermes) are not affected, the update command only touches skills with hub provenance.

To update a specific skill:

bash
hermes skills update postgres-replication

Step 6: Tap a GitHub repository

If your team maintains a shared skill repository, add it as a tap:

bash
hermes skills tap add https://github.com/my-team/hermes-skills

Hermes clones the repository and indexes its skills. They appear in hermes skills list with the tap source indicated. When the repository is updated (new commits pushed), hermes skills update pulls the changes.

List your taps:

Review all configured external repository endpoints. These upstream sources feed directly into your local index during update cycles.

bash
hermes skills tap list

Step 7: Publish a skill

If you've written a skill that would be useful to others, publish it:

bash
hermes skills publish ~/.hermes/skills/my-skill

The publish command packages the skill, runs it through the security scanner, and uploads it to the hub. You'll need a hub account (create one at the hub's web interface, the CLI prompts you with the URL on first publish).

Before publishing, review your skill against the hub's publishing guidelines:

  • The description should name the scenario, not the implementation
  • Remove any environment-specific paths, secrets, or credentials
  • Include a ## Requirements section if the skill needs specific tools
  • Test the skill on a clean Hermes install to verify it works without your local config

What goes wrong

MistakeHow you notice itThe fix
Skill install blocked by security scanhermes skills install fails with a "blocked by security scanner" message and a pattern referenceThe skill's content matched a known malicious pattern. Inspect the skill source on the hub to understand what tripped it. If it's a false positive (the skill legitimately mentions "system prompt" in its instructions, for example), report it to the hub maintainers. You can manually copy the content into a local skill after reviewing every line
Installed skill doesn't work on your OSThe skill references tools or paths that don't exist on your systemCheck the skill's platforms field before installing. If a skill says [linux] and you're on macOS, it won't be filtered out on install, but it won't function correctly. Look for a cross-platform alternative or create a local override
Tap repository disappearshermes skills update fails with "repository not found"The tapped GitHub repo was deleted or made private. Remove the tap: hermes skills tap remove <name>. Installed skills from the tap remain in your local directory, they won't disappear, but they also won't receive updates
Published skill rejectedhermes skills publish fails with a rejection messageCommon rejections: missing required frontmatter fields, description that's too vague, no ## Requirements section for skills that need external tools, or a name collision with an existing hub skill. Read the rejection message, fix the issue, and re-publish
Hub skill overwrites a local skill with the same nameAfter hermes skills install, your local skill is goneHub skills and local skills share the same namespace (name field). If you have a local skill called docker-pipeline and install a hub skill with the same name, the hub skill replaces the local one. Rename your local skill before installing, or use a different name for the hub skill with hermes skills install <id> --name <custom-name>

Confirm it worked

Verify the hub integration by searching, inspecting, and installing a remote artifact, followed by immediately tearing it down to maintain a clean environment.

bash
# 1. Browse the catalog (network required for first fetch)
hermes skills browse

# 2. Search for a commonly available skill
hermes skills search "git"

# 3. Inspect a skill without installing (replace with an actual hub skill ID)
hermes skills inspect <skill-id>

# 4. Install a community skill
hermes skills install <skill-id>

# 5. Verify it appears in your local list
hermes skills list | grep <skill-id>

# 6. Check for updates
hermes skills check

# 7. Uninstall to clean up
hermes skills uninstall <skill-id>

If step 5 shows the installed skill in your local list, the hub install pipeline is working. If step 6 runs without errors, the update check pipeline is working.

For a broader perspective on how reusable skills fit into the agent development workflow, including the skill pattern across different agent platforms and when to invest in a skill vs. a one-shot prompt, see the flagship course's Building Reusable Skills lesson.

Next: Day 3, The Gateway, deploying Hermes as a persistent service on Telegram, Discord, and other messaging platforms.