Skip to content

feat(skills): skills.create_dir + shared-pool auto-commit - #81001

Closed
Frosti7 wants to merge 2 commits into
NousResearch:mainfrom
Frosti7:local-skills-create-dir
Closed

Frosti7 wants to merge 2 commits into
NousResearch:mainfrom
Frosti7:local-skills-create-dir

Conversation

@Frosti7

@Frosti7 Frosti7 commented Aug 7, 2026

Copy link
Copy Markdown

Summary

Adds two complementary capabilities to the skills system:

  1. skills.create_dir config option — when set in config.yaml, newly created skills are written to that directory (e.g. a shared fleet repo like ~/.hermes/shared-skills) instead of the profile-local ~/.hermes/skills/. Falls back to the local dir when unset (current behavior unchanged).

  2. Shared-pool auto-commit — when a skill write (create or patch) lands in a git-tracked external/shared skills directory, the change is committed automatically (skills: <name> update (agent write)), keeping the shared repo clean with full history. Failures are silent — the write itself already succeeded.

Motivation

For fleets of multiple Hermes profiles (agents), skills are typically shared via skills.external_dirs pointing at a common git repo. Today:

  • New skills land profile-local and must be manually promoted into the shared repo.
  • In-place edits to external skills are supported but leave the repo dirty (uncommitted), so history is lost and the next git reset/checkout can wipe the change.

This makes "shared by default, improve together" work natively: agents create and edit skills directly in the shared repo, with git history as the audit trail.

Notes

  • _resolve_skill_dir honors skills.create_dir (expanduser/expandvars, absolute or relative to HERMES_HOME).
  • The auto-commit only fires for external dirs that are git repos; it never blocks or modifies the write itself.
  • Default behavior (no create_dir configured) is identical to today.

Related: #5535 (skills.shared shorthand — different mechanism, same goal).

@Frosti7

Frosti7 commented Aug 7, 2026

Copy link
Copy Markdown
Author

Closing: this PR accidentally included an unrelated local commit (context-compression governor). Reopened as a clean PR containing only the skills.create_dir change.

@Frosti7 Frosti7 closed this Aug 7, 2026
@Frosti7
Frosti7 deleted the local-skills-create-dir branch August 7, 2026 11:57
@alt-glitch alt-glitch added invalid This doesn't seem right comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery tool/skills Skills system (list, view, manage) P3 Low — cosmetic, nice to have sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades labels Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery invalid This doesn't seem right P3 Low — cosmetic, nice to have sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state tool/skills Skills system (list, view, manage)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants