Bug Description
Summary
Some bundled skills are misclassified as local in hermes skills list when:
- tools.skills_sync records bundled entries in ~/.hermes/skills/.bundled_manifest using skill_dir.name
- tools.skills_tool._find_all_skills() returns the SKILL.md frontmatter name
- hermes_cli.skills_hub.do_list() checks builtin status by matching that runtime name against manifest keys
If directory name != frontmatter name, builtin classification fails.
Example
Manifest entry:
Skill frontmatter:
Impact
Functional loading seems fine; this mainly breaks builtin/local source classification and trust display.
Steps to Reproduce
- Sync bundled skills
- Ensure at least one bundled skill has directory name != frontmatter name
- Run:
hermes skills list
- Observe it is classified as local
Expected Behavior
These should show as:
- Source: builtin
- Trust: builtin
Actual Behavior
Result:
- serving-llms-vllm is shown as local instead of builtin
Observed affected skills on my machine
- audiocraft-audio-generation
- evaluating-llms-harness
- fine-tuning-with-trl
- gguf-quantization
- modal-serverless-gpu
- peft-fine-tuning
- segment-anything-model
- serving-llms-vllm
- stable-diffusion-image-generation
Affected Component
Skills (skill loading, skill hub, skill guard)
Messaging Platform (if gateway-related)
No response
Operating System
macOS 26.4
Python Version
3.11
Hermes Version
0.7.0
Relevant Logs / Traceback
Root Cause Analysis (optional)
No response
Proposed Fix (optional)
Relevant code paths
-
tools/skills_sync.py
- _discover_bundled_skills()
- sync_skills()
-
tools/skills_tool.py
-
hermes_cli/skills_hub.py
Either:
- compare against both manifest key and directory name when classifying builtin
or
- migrate bundled manifest to store canonical frontmatter names, with backward compatibility for old manifests
Are you willing to submit a PR for this?
Bug Description
Summary
Some bundled skills are misclassified as local in hermes skills list when:
If directory name != frontmatter name, builtin classification fails.
Example
Manifest entry:
Skill frontmatter:
Impact
Functional loading seems fine; this mainly breaks builtin/local source classification and trust display.
Steps to Reproduce
hermes skills list
Expected Behavior
These should show as:
Actual Behavior
Result:
Observed affected skills on my machine
Affected Component
Skills (skill loading, skill hub, skill guard)
Messaging Platform (if gateway-related)
No response
Operating System
macOS 26.4
Python Version
3.11
Hermes Version
0.7.0
Relevant Logs / Traceback
Root Cause Analysis (optional)
No response
Proposed Fix (optional)
Relevant code paths
tools/skills_sync.py
tools/skills_tool.py
hermes_cli/skills_hub.py
Either:
or
Are you willing to submit a PR for this?