Skip to content

fix(skills): skill_manage create respects skills.external_dirs - #21812

Closed
sg-shag wants to merge 1 commit into
NousResearch:mainfrom
sg-shag:fix/skill-manage-external-dirs
Closed

fix(skills): skill_manage create respects skills.external_dirs#21812
sg-shag wants to merge 1 commit into
NousResearch:mainfrom
sg-shag:fix/skill-manage-external-dirs

Conversation

@sg-shag

@sg-shag sg-shag commented May 8, 2026

Copy link
Copy Markdown

Summary

skill_manage(action='create') previously always wrote new skills to
~/.hermes/skills/ (hardcoded SKILLS_DIR), ignoring any
skills.external_dirs configured in config.yaml.

This means users who maintain skills in a separate git repository via
external_dirs had no way to use the tool to create skills there —
they had to use write_file directly.

Change

Added _default_creation_root() that returns the first configured
external dir when skills.external_dirs is set, falling back to
SKILLS_DIR when it is not. _resolve_skill_dir() now uses this
instead of the hardcoded constant.

No regression: users without external_dirs get identical behavior.

Closes

Fixes #21810

When skills.external_dirs is configured, use the first entry as the
default creation root instead of hardcoded SKILLS_DIR (~/.hermes/skills/).

Falls back to SKILLS_DIR when no external dirs are configured, preserving
existing behavior for users without external_dirs.

Fixes NousResearch#21810
@alt-glitch alt-glitch added type/bug Something isn't working tool/skills Skills system (list, view, manage) P3 Low — cosmetic, nice to have labels May 8, 2026
@sg-shag

sg-shag commented May 11, 2026

Copy link
Copy Markdown
Author

Closing this PR — after further exploration, we decided not to use external_dirs for user-modified skills. Instead, we moved all custom and modified bundled skills directly into ~/.hermes/skills/ (the standard path), and track changes via a separate git repository with daily sync and bundled.diff files for modified bundled skills. The external_dirs feature remains useful for truly external (non-Hermes) skill libraries, which is its original intent.

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

Labels

P3 Low — cosmetic, nice to have tool/skills Skills system (list, view, manage) type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

skill_manage(action='create') ignores skills.external_dirs, always writes to ~/.hermes/skills/

2 participants