Files
hermes-skills/hermes-profile-maintenance/SKILL.md
Hermes Agent b0d790be34 Add all 104 active skills from all 16 Hermes profiles
12 unversioned skills now versioned at 1.0.0:
agent-communication, ascii-video, external-reasoning-augmentation,
jotty-notes-api, minecraft-modpack-server, obsidian, pokemon-player,
powerpoint, social-search, songwriting-and-ai-music,
workspace-context-organization, youtube-content

Total repo: 141 skills across all profile scopes
2026-07-04 11:44:04 -05:00

3.5 KiB

name, description, version, author, license, platforms, metadata
name description version author license platforms metadata
hermes-profile-maintenance Maintain and optimize Hermes profiles — cleanup unused skills, audit configuration, and streamline profiles for specific use cases. 1.0.0 Hermes Agent MIT
linux
macos
hermes
tags related_skills
hermes
profiles
maintenance
cleanup
optimization
hermes-agent

Hermes Profile Maintenance

Maintain and optimize Hermes profiles. Covers cleaning up unused skills, auditing profile configuration, and streamlining profiles for specific use cases (e.g., Open WebUI-only profiles).

Quick Reference

  • Curator only touches agent-created skills (created_by: "agent"). Bundled and hub-installed skills are off-limits.
  • Bundled placeholder skills (only a DESCRIPTION.md, no SKILL.md) are safe to remove at the filesystem level.
  • Always take a curator backup before removing skills: hermes curator backup
  • Stale caches (.usage.json, .bundled_manifest) regenerate automatically after removal.

Identifying Safe-to-Remove Skills

Step 1: List all skills in the profile

ls -1 ~/.hermes/profiles/<profile>/skills/ | grep -v '^\.'

Step 2: Check which have real content vs placeholders

A skill with real content has a SKILL.md file. A placeholder only has a DESCRIPTION.md:

for s in $(ls -1 ~/.hermes/profiles/<profile>/skills/ | grep -v '^\.'); do
  if [ -f ~/.hermes/profiles/<profile>/skills/$s/SKILL.md ]; then
    echo "REAL: $s"
  else
    echo "PLACEHOLDER: $s"
  fi
done

Step 3: Check usage data

cat ~/.hermes/profiles/<profile>/skills/.usage.json | python3 -m json.tool | grep -E '"name"|"last_used_at"|"use_count"'

Skills with use_count: 0 and no last_used_at are candidates for removal.

Step 4: Verify sub-skills

Some umbrella skills contain real sub-skills even if the parent is a placeholder. Check:

find ~/.hermes/profiles/<profile>/skills/<skill-name> -name "SKILL.md"

If sub-directories contain SKILL.md files, the umbrella should be kept.

Removing Bundled Placeholder Skills

When the curator won't touch bundled skills and hermes skills uninstall only works for hub-installed skills, remove placeholder-only bundled skills at the filesystem level:

# 1. Take a backup
hermes curator backup

# 2. Remove placeholder skills (verify each is DESCRIPTION.md only first)
cd ~/.hermes/profiles/<profile>/skills
rm -rf apple smart-home social-media  # etc.

# 3. Verify remaining skills
ls -1 | grep -v '^\.'

Pitfalls

  • Don't remove umbrellas with real sub-skills. Check for SKILL.md in subdirectories before removing the parent.
  • Don't remove skills with created_by: "agent" provenance via filesystem. Use hermes curator archive for those — it logs the action and makes recovery possible.
  • The .bundled_manifest and .usage.json become stale after filesystem removal. These are auto-regenerated caches — no manual cleanup needed.
  • Future hermes update may re-seed bundled placeholders. If they come back, they're still harmless (no SKILL.md = no prompt injection).
  • The curator's .curator_state may point to the wrong profile's logs if the profile was cloned. Check last_report_path in .curator_state — if it references another profile's log directory, the curator has never actually run against this profile.

Support Files

  • references/placeholder-skill-removal-example.md — Session example: identifying and removing 9 placeholder skills from the open1 profile.