Repository navigation
feat(skills): add hermes platform target - #953
Merged
platinummonkey merged 1 commit intoOct 27, 2026
Merged
Conversation
Add Hermes Agent (Nous Research's open-source agent) as a supported platform for `pup skills install`. Hermes reads skills from `~/.hermes/skills/` (user-global) and `<repo>/.hermes/skills/` (project-local, loaded only for repos trusted via `hermes skills trust`); like cursor, codex, and devin it uses `SKILL.md` files, not Claude-style `<name>.md` subagents. - Register `hermes` in PLATFORMS and add the SkillsPlatform::Hermes variant (+ as_canonical arm), kept in sync by platform_enum_matches_table - Auto-detect Hermes sessions via HERMES_AGENT, which Hermes exports as a truthy marker (`HERMES_AGENT=true`) into every shell command it runs - Surface `hermes` in the `skills` --help text, the resolve error hints, the README Agent Skills section, docs/COMMANDS.md, and the agent detection list in docs/ARCHITECTURE.md - Add positive and negative unit tests: lookup, install paths for both scopes, SKILL.md (not subagent) format, `all` expansion, and env detection (truthy vs. non-truthy) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
More details
Hermes uses the existing SKILL.md installation handling for both scopes, and its detector excludes HERMES_AGENT=false. The completed static review found no reportable defect.
🤖 Bits Code Review · Commit b1ab1a9
platinummonkey
approved these changes
Oct 27, 2026
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
Add Hermes Agent as a supported platform for
pup skills install, following the same shape as thedevintarget (#b333373). Hermes readsSKILL.mdskills from~/.hermes/skills/(user-global) and<repo>/.hermes/skills/(project-local), and exportsHERMES_AGENT=trueinto every shell command it runs, so pup can both install skills for it and auto-detect it.Changes
hermesinPLATFORMSand addSkillsPlatform::Hermes+as_canonicalarm (src/skills.rs:681, src/skills.rs:717, src/skills.rs:736). Both scopes resolve to.hermes/skills; agents fall back toSKILL.mdlike cursor/codex/devin.hermesdetector keyed on theHERMES_AGENTtruthy marker, placed beforegeneric-agent(src/useragent.rs:109). Source: Hermes exportsHERMES_AGENT="${HERMES_AGENT:-true}"intools/environments/base_session_env.py.hermesin theskillshelp text (src/main.rs:2758), the resolve error hints (src/commands/skills.rs:18-33), the README Agent Skills section, docs/COMMANDS.md, and the agent detection list in docs/ARCHITECTURE.md.Not included (intentionally, to keep one concern per PR): honoring
HERMES_HOMEfor user-scope installs, analogous toCLAUDE_CONFIG_DIR. Happy to follow up if wanted.Testing
cargo fmt --check,cargo clippy --all-targets -- -D warnings: clean.test_lookup_platform_hermes,test_skills_dir_hermes_project_scope,test_skills_dir_hermes_user_scope,test_install_path_agent_hermes_as_skill,test_detect_agent_info_hermes;resolve_or_bail_expands_allnow also assertsdevinandhermes.test_detect_agent_info_hermes_false_not_detected(HERMES_AGENT=falsemust not detect).platform_enum_matches_tableenforces the enum/table sync.cargo test: all new tests pass. 5 pre-existing mock-HTTP tests (model_lab,notebooks,security,users,debugger) fail identically on untouchedmainin my local environment with DNS errors againstunused.local, so they are unrelated to this change.Related Issues
None.
🤖 Generated with Claude Code