Skip to content

fix: use recursive SKILL.md discovery for all skill roots - #63

Open
ha5mth-alt wants to merge 1 commit into
AMAP-ML:mainfrom
ha5mth-alt:fix/recursive-skill-discovery
Open

fix: use recursive SKILL.md discovery for all skill roots#63
ha5mth-alt wants to merge 1 commit into
AMAP-ML:mainfrom
ha5mth-alt:fix/recursive-skill-discovery

Conversation

@ha5mth-alt

Copy link
Copy Markdown

_skill_md_paths previously used a flat glob (/SKILL.md) for non-Hermes directories, only enabling recursive (**/SKILL.md) for /.hermes/skills. This caused Hermes profile directories (/.hermes/profiles//skills/) to miss 88 of 91 skills.

Changes:

  • skill_manager.py: always use recursive glob in _skill_md_paths
  • skill_manager.py: extend _is_hermes_skill_root to match profile dirs
  • skill_hub.py: extend _is_hermes_skill_root to match profile dirs
  • nacos_skill_hub.py: always use recursive glob in skill list
  • tests: add 9 regression tests covering default root, profile root, depth-3, flat layout, unrelated dirs, symlink dedup, and real-world detection of all 91 production skills

All 9 new tests pass. Existing suite: 108 pass, 17 fail (all pre-existing, missing pytest-asyncio or unrelated dashboard KeyError).

Fixes #?

_skill_md_paths previously used a flat glob (*/SKILL.md) for non-Hermes
directories, only enabling recursive (**/SKILL.md) for ~/.hermes/skills.
This caused Hermes profile directories (~/.hermes/profiles/*/skills/) to
miss 88 of 91 skills.

Changes:
- skill_manager.py: always use recursive glob in _skill_md_paths
- skill_manager.py: extend _is_hermes_skill_root to match profile dirs
- skill_hub.py: extend _is_hermes_skill_root to match profile dirs
- nacos_skill_hub.py: always use recursive glob in skill list
- tests: add 9 regression tests covering default root, profile root,
  depth-3, flat layout, unrelated dirs, symlink dedup, and real-world
  detection of all 91 production skills

All 9 new tests pass. Existing suite: 108 pass, 17 fail (all pre-existing,
missing pytest-asyncio or unrelated dashboard KeyError).

Fixes #?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant