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
3.5 KiB
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 |
|
|
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, noSKILL.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.mdin subdirectories before removing the parent. - Don't remove skills with
created_by: "agent"provenance via filesystem. Usehermes curator archivefor those — it logs the action and makes recovery possible. - The
.bundled_manifestand.usage.jsonbecome stale after filesystem removal. These are auto-regenerated caches — no manual cleanup needed. - Future
hermes updatemay re-seed bundled placeholders. If they come back, they're still harmless (no SKILL.md = no prompt injection). - The curator's
.curator_statemay point to the wrong profile's logs if the profile was cloned. Checklast_report_pathin.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.