fix(hermes): respect $HERMES_HOME env var for profile-mode skills dir#3334
Open
samson-mak wants to merge 1 commit into
Open
fix(hermes): respect $HERMES_HOME env var for profile-mode skills dir#3334samson-mak wants to merge 1 commit into
samson-mak wants to merge 1 commit into
Conversation
The Hermes integration hardcoded ''~/.hermes/skills/'', which breaks when Hermes runs under a non-default profile (where skills live under ''$HERMES_HOME/skills''). Check the HERMES_HOME environment variable first, falling back to ''~/.hermes/skills'' for the default (non-profile) install.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Hermes integration’s global skills directory resolution to support Hermes “profile mode” by honoring the HERMES_HOME environment variable, while preserving the existing ~/.hermes/skills fallback when HERMES_HOME is unset.
Changes:
- Add
osimport to read environment variables. - Update
_hermes_home_skills_dir()to prefer$HERMES_HOME/skillsand fall back to~/.hermes/skills.
Show a summary per file
| File | Description |
|---|---|
| src/specify_cli/integrations/hermes/init.py | Adjusts Hermes skills directory resolution to respect HERMES_HOME for profile-mode installs. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Low
Comment on lines
+62
to
65
| hermes_home = os.environ.get("HERMES_HOME") | ||
| if hermes_home: | ||
| return Path(hermes_home) / "skills" | ||
| return Path.home() / ".hermes" / "skills" |
Comment on lines
+62
to
+64
| hermes_home = os.environ.get("HERMES_HOME") | ||
| if hermes_home: | ||
| return Path(hermes_home) / "skills" |
mnriem
requested changes
Jul 6, 2026
mnriem
left a comment
Collaborator
There was a problem hiding this comment.
Please address Copilot feedback
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.
Problem
The Hermes integration hardcodes
~/.hermes/skills/in_hermes_home_skills_dir():This breaks when Hermes runs under a non-default profile, where
$HERMES_HOMEpoints to~/.hermes/profiles/<name>/and skills live under$HERMES_HOME/skills/.Fix
Check
HERMES_HOMEenv var first, fall back to~/.hermes/skills:Matches Hermes internal
get_skills_dir()→get_hermes_home() / "skills".Testing
HERMES_HOMEset → skills install to profile dir, visible viahermes skills listHERMES_HOMEunset → falls back to~/.hermes/skills, existing behaviour preserved