Hermes Skills Installation
Bulk discovery, evaluation, and installation of Hermes Agent skills from multiple sources.
When to Use
User asks to install skills from a repo or registry
User shares a GitHub link for a skill pack
User asks "what skills should I get" or "recommend skills"
Evaluating and comparing skill sources
Bulk-installing skills with proper type handling
Quick Reference
| Source | URL | Skills | Quality |
|--------|-----|--------|---------|
| Official Hermes Skills Hub | agentskills.io / hermes skills browse | Curated | High |
| awesome-hermes-agent | github.com/0xNyk/awesome-hermes-agent | 100+ links | Curated list (3K⭐) |
| HermesHub | github.com/amanning3390/hermeshub | 22 | High (security-scanned) |
| Felo Skills | github.com/Felo-Inc/felo-skills | 14 | Medium |
| Composio | composio.dev | 1,000+ SaaS | High (CLI tool) |
| SEO+GEO Skills | github.com/aaron-he-zhu/seo-geo-skills | 20 | Medium |
| Taste-Skill | github.com/Leonxlnx/taste-skill | 12 | Medium |
| Playwright | github.com/testdino-hq/playwright-skill | 6 | Medium |
| Claudeception | github.com/blader/Claudeception | 5 | Medium |
| oh-my-hermes | github.com/witt3rd/oh-my-hermes | 10 | Medium (multi-agent orchestr.) |
| Open Design | github.com/nexu-io/open-design | 134 | High (28K⭐, design systems) |
| YouTube Skills | github.com/ZeroPointRepo/youtube-skills | 12 | High (VPS-friendly transcripts) |
| Cybersecurity MITRE | github.com/mukul975/Anthropic-Cybersecurity-Skills | 753 | High (4K⭐, MITRE ATT&CK) |
| Chainlink | github.com/smartcontractkit/chainlink-agent-skills | 6 | High (official) |
| Black Forest Labs | github.com/black-forest-labs/skills | 2 | High (official FLUX) |
| Wondelai | github.com/wondelai/skills | 42 | Medium (business/design books) |
| AgentCash | github.com/Merit-Systems/agentcash-skills | 26 | Medium (300+ APIs, x402) |
| Maestro | github.com/ReinaMacCredy/maestro | 39 | Medium (skill orchestration) |
| Super-Hermes | github.com/Cranot/super-hermes | 5 | Medium (meta-reasoning) |
| Evey Plugins | github.com/42-evey/hermes-plugins | 34 | Medium (goal mgmt, cost ctrl) |
| SkillClaw | github.com/AMAP-ML/SkillClaw | pip | Medium (skill auto-publishing) |
| RTK | github.com/ogallotti/rtk-hermes | pip | High (60-90% token compression) |
| Mnemosyne | github.com/AxDSan/Mnemosyne | pip | Medium (shared memory layer) |
| Hermes Payguard | github.com/nativ3ai/hermes-payguard | plugin | Medium (USDC/x402 payments) |
| Web Search Plus | github.com/robbyczgw-cla/hermes-web-search-plus | plugin | Medium (multi-provider search) |
| Nextcloud | github.com/adnw-vinc/hermes-nextcloud | 1 | Medium (self-hosted cloud) |
| Plur | github.com/plur-ai/plur | 4 | Medium (shared memory layer) |
| Colonly | github.com/TheColonyCC/colony-skill | 1 | Medium (collab intelligence) |
| Felo Skills | github.com/Felo-Inc/felo-skills | 14 | Medium (mindmap, slides, search, x-search, web-fetch) |
| MeiGen Design MCP | github.com/jau123/MeiGen-AI-Design-MCP | 3 | High (9 AI models, product photoshoot, social thumbnails) |
> See references/awesome-hermes-agent-guide.md for the full curated list with descriptions and references/new-sources-may-2026.md for this batch's analysis.
User Preferences
Just install it. When the user says "install all" or "ALL 1+2+3", install everything. Don't ask for confirmation. Only skip what they explicitly exclude (e.g., "no slack").
Tiered evaluation is for recommendations only. Once the user decides, execute immediately — no re-evaluation or second-guessing.
One restart at the end. Batch all installations across multiple repos, then do a single gateway restart. Don't restart after each repo.
Step-by-Step Workflow
1. Mine Existing Clones First (Fast Path)
Before cloning new repos, check /tmp/ for previously cloned packs. This avoids GitHub rate limits and is faster:
# List all cloned repos with skill counts
for dir in /tmp/*/; do
count=$(find "$dir" -name "SKILL.md" -type f 2>/dev/null | wc -l)
[ "$count" -gt 0 ] && echo "$(basename $dir): $count skills"
done
Grep for skills matching user's domain request
find /tmp/ -name "SKILL.md" -type f | xargs grep -l -iE "document|proposal|mindmap|design|graphic"
Install matching skills not already present
for skill_dir in $(find /tmp/ -name "SKILL.md" -type f -exec dirname {} \;); do
skill=$(basename "$skill_dir")
[ ! -d "$HOME/.hermes/skills/$skill" ] && cp -r "$skill_dir" "$HOME/.hermes/skills/$skill"
done
2. Evaluate the Source
Before installing anything from a NEW repo:
Always check the official hub first — hermes skills search or hermes skills browse. Hub installs require no GitHub auth and are auto-updatable via hermes skills update.Check GitHub stars, last commit date, README qualityLook for SKILL.md files — that's the agentskills.io standardCheck if it's a skill (SKILL.md), plugin (plugin.yaml), pip package (pyproject.toml), or MCP server (server.json)
3. Clone and Inspect
# Clone to temp dir (NEVER use & backgrounding in execute_code)
cd /tmp && git clone --depth 1
Find all SKILL.md files
find /tmp/ -name "SKILL.md" -maxdepth 4
Check for non-standard types
ls /tmp//pyproject.toml 2>/dev/null # pip package
ls /tmp//**/plugin.yaml 2>/dev/null # Hermes plugin
ls /tmp//server.json 2>/dev/null # MCP server
4. Install by Type
Standard SKILL.md (most common):
# Copy the directory containing SKILL.md
cp -r /tmp//path/to/skill ~/.hermes/skills/
Validate
head -5 ~/.hermes/skills//SKILL.md
Pip Package (rtk-hermes, SkillClaw, etc.):
# Install into Hermes venv (NOT system python)
cd /tmp/ && /usr/local/lib/hermes-agent/venv/bin/pip install -e .
Verify
/usr/local/lib/hermes-agent/venv/bin/pip show
Hermes Plugin (Mnemosyne, etc.):
# Copy to plugins directory
cp -r /tmp//hermes_plugin ~/.hermes/plugins/
Verify plugin.yaml exists
cat ~/.hermes/plugins//plugin.yaml
MCP Server (nothumansearch, etc.):
# Add to config.yaml under mcp_servers
Read server.json for connection details, then:
python3 -c "
import yaml
with open('/root/.hermes/config.yaml', 'r') as f:
config = yaml.safe_load(f)
config['mcp_servers'][''] = {
'type': 'streamable-http', # or 'stdio'
'url': '',
'description': ''
}
with open('/root/.hermes/config.yaml', 'w') as f:
yaml.dump(config, f, default_flow_style=False, sort_keys=False, allow_unicode=True)
"
5. Validate All Installs
# Count total SKILL.md files
find ~/.hermes/skills -name "SKILL.md" -type f | wc -l
Validate frontmatter (must have name: and description:)
for skill in ; do
f="$HOME/.hermes/skills/$skill/SKILL.md"
[ -f "$f" ] && grep -q "^name:" "$f" && echo "✅ $skill" || echo "❌ $skill"
done
Check plugins
ls ~/.hermes/plugins/
Check pip packages
/usr/local/lib/hermes-agent/venv/bin/pip list | grep -iE '|'
6. Restart Gateway
systemctl restart hermes-gateway
sleep 8
systemctl is-active hermes-gateway
What happens on restart:
Gateway scans ~/.hermes/skills/ for SKILL.md files, reads only description: fieldsKillMode=control-group kills gateway + bridge.js togetherActive sessions are terminated — warn user firstSkills are rescanned and discoverable after restart
Memory/Token Impact
Skills do NOT all load into RAM. Here's the actual impact:
| Metric | Impact |
|--------|--------|
| Disk | ~200-500 bytes per SKILL.md average |
| Startup scan | Reads only description: field (~200-500 chars each) |
| Idle RAM | Near zero — skills load on-demand |
| Per-turn tokens | Description catalog injected into system prompt |
| Active skill | Only triggered skill's full SKILL.md enters context (~2-10 KB) |
Rule of thumb: 100 skills ≈ 25-30 KB of descriptions ≈ 7-8K tokens per turn. On a 128K context model, 300 skills (~20K tokens) is ~15% — still fine.
CRITICAL: Always measure top-level only (-maxdepth 2). Recursive counts include nested pack files that the gateway never loads, producing inflated numbers (e.g., 219K chars / 54K tokens when the real impact is 67K chars / ~17K tokens).
User Preferences
"Install all" means ALL. When user says "install all" or "ALL 1+2+3", don't ask for confirmation. Install everything from the specified tiers/sources. Only skip if explicitly excluded (e.g., "no slack").
No confirmation prompts. User is action-oriented. Just do it.
Parallel execution. Use execute_code with multiple terminal() calls for parallel cloning and installation. Don't clone sequentially when parallel is possible.
One restart at the end. Batch all installations, then do a single gateway restart. Don't restart after each skill.
Pitfalls
❌ Background cloning in execute_code
# WRONG — execute_code terminal() does NOT support & backgrounding reliably
The & runs in a subshell that execute_code cannot track or wait for
terminal("git clone ... &")
WRONG — multi-command backgrounding in a single string also breaks
terminal("git clone ... & git clone ... & wait")
RIGHT — use sequential terminal() calls within execute_code
Each call blocks until complete, so they're reliable
for url in url1 url2 url3; do
terminal(f"cd /tmp && git clone --depth 1 {url}")
❌ Symlinks pointing to /tmp (wiped on reboot)
# WRONG — symlinks from ~/.hermes/skills/ to /tmp/ break after reboot
ln -s /tmp/oh-my-hermes/plugins/omh/skills/omh-ralph ~/.hermes/skills/omh-ralph
RIGHT — copy the repo to a permanent location first, then symlink
mkdir -p ~/.hermes/skill-repos
cp -r /tmp/oh-my-hermes ~/.hermes/skill-repos/oh-my-hermes
ln -s ~/.hermes/skill-repos/oh-my-hermes/plugins/omh/skills/omh-ralph ~/.hermes/skills/omh-ralph
❌ Pip install -e from /tmp (breaks after reboot)
# WRONG — editable installs from /tmp break when /tmp is cleared
pip install -e /tmp/rtk-hermes
RIGHT — copy to permanent location first, then install (non-editable)
cp -r /tmp/rtk-hermes ~/.hermes/skill-repos/rtk-hermes
pip install -e ~/.hermes/skill-repos/rtk-hermes
OR install as a regular (non-editable) package for durability
pip install ~/.hermes/skill-repos/rtk-hermes
❌ Installing massive skill packs as individual top-level skills
Packs with 100+ sub-skills (cybersecurity-mitre: 753, open-design: 134, wondelai: 42) will blow the token budget if installed individually at the top level.
# WRONG — 753 individual cybersecurity skills at ~/.hermes/skills/*/SKILL.md = 96K chars of descriptions
cp -r /tmp/cybersecurity-skills/skills/* ~/.hermes/skills/
RIGHT — install as a single indexed pack with skills/ subdirectory
The gateway only scans maxdepth 2, so nested SKILL.md files don't enter the description catalog
mkdir -p ~/.hermes/skills/cybersecurity-mitre-pack
Create a top-level SKILL.md that describes the whole pack
Copy the individual skills into a skills/ subdirectory for on-demand loading
cp -r /tmp/cybersecurity-skills/skills ~/.hermes/skills/cybersecurity-mitre-pack/skills
❌ Measuring token impact with recursive find
The gateway only scans
~/.hermes/skills/*/SKILL.md (maxdepth 2), NOT nested files.
# WRONG — counts ALL SKILL.md files including nested (massively overestimates)
find ~/.hermes/skills -name "SKILL.md" -type f -exec grep "^description:" {} \; | wc -c
RIGHT — only top-level files (what the gateway actually loads)
find ~/.hermes/skills -maxdepth 2 -name "SKILL.md" -type f -exec grep "^description:" {} \; | wc -c
❌ Missing frontmatter validation
Some community SKILL.md files lack the required
name: field. Always validate:
# Find broken skills (no name: in frontmatter)
find ~/.hermes/skills -maxdepth 2 -name "SKILL.md" -type f -exec grep -L "^name:" {} \;
❌ Assuming all repos have SKILL.md at root
Many repos nest skills in
skills/subdir/SKILL.md. Always
find -name "SKILL.md" first.
❌ Ignoring the official hub in favor of git cloning
hermes skills install is always preferred over
git clone + manual copy when the skill exists on the hub. Hub skills:
Auto-install to /usr/local/lib/hermes-agent/optional-skills/ (correct path)
Are updatable via hermes skills check / hermes skills update
Require NO GitHub authentication
Appear as "builtin" in hermes skills list counts
Only fall back to git clone for skills that are NOT on the hub.
❌ Forgetting hub skills in token measurement
Hub skills live at
/usr/local/lib/hermes-agent/optional-skills/, NOT
~/.hermes/skills/. Token measurement must sum both:
# RIGHT — measure both locations
local=$(find ~/.hermes/skills -maxdepth 2 -name "SKILL.md" -type f -exec grep "^description:" {} \; | wc -c)
hub=$(find /usr/local/lib/hermes-agent/optional-skills -maxdepth 3 -name "SKILL.md" -type f -exec grep "^description:" {} \; | wc -c)
echo "Total: $((local + hub)) chars = $(( (local + hub) / 4 )) tokens"
❌ Installing pip packages to system python
# WRONG — PEP 668 blocks this
pip install -e .
RIGHT — use Hermes venv
/usr/local/lib/hermes-agent/venv/bin/pip install -e .
❌ Copying wrong SKILL.md from multi-skill repos
Some repos have multiple SKILL.md files (e.g., flowstate-qmd has
skills/release/SKILL.md and
skills/qmd/SKILL.md). Always verify the
name: field matches what you expect.
❌ Assuming repo exists
Repos can be private, renamed, or deleted (e.g., master-skill returned 404). Always check clone exit code.
Known 404/private repos: hermes-mindmap, master-skill, cognify-skills, mnemo-hermes, svenmedina07-ship-it/skills, supershaneski/hermes-skills, nicholasgriffintn/hermes-mindmap-skill, marker-Inc/www
❌ GitHub rate limiting during bulk clones
Cloning 10+ repos in rapid succession triggers "could not read Username for 'https://github.com': No such device or address" — this is rate limiting, NOT an auth issue. Workarounds:
Clone in batches of 5-8 with 2-second pauses between batches
Check existing clones before re-attempting: [ -d /tmp/repo-name ]
Mine existing cloned repos with grep -l -iE "keyword1|keyword2" for matching skills before fetching new ones
If already cloned in /tmp/, just reuse — don't re-clone
❌ Restarting without warning
Gateway restart kills active sessions. Always check for active slash_worker processes first:
ps aux | grep "slash_worker" | grep -v grep | wc -l
Evaluation Framework
When the user asks "what skills should I get", evaluate against their setup:
| Factor | Weight | How to Assess |
|--------|--------|---------------|
| Workflow fit | High | Does it match their actual daily tasks? |
| Source quality | Medium | Stars, recency, security scanning |
| Type compatibility | Medium | SKILL.md vs plugin vs pip |
| Token budget | Low | How much description text per turn? |
| Overlap with existing | High | Don't install duplicates |
Source Files
See references/awesome-hermes-agent-guide.md for the full curated list analysis
See references/hermeshub-skills.md for HermesHub's 22 skills breakdown