Conversation
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds two complementary capabilities to the skills system:
skills.create_dirconfig option — when set inconfig.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).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_dirspointing at a common git repo. Today: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_dirhonorsskills.create_dir(expanduser/expandvars, absolute or relative toHERMES_HOME).create_dirconfigured) is identical to today.Related: #5535 (skills.shared shorthand — different mechanism, same goal).