feat: add Hermes Agent integration (skills workspaces + external_dirs)`#543
Open
justyork wants to merge 4 commits into
Open
feat: add Hermes Agent integration (skills workspaces + external_dirs)`#543justyork wants to merge 4 commits into
justyork wants to merge 4 commits into
Conversation
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.
What does this PR do?
Adds Hermes Agent as a supported integration platform, following the same workspace model as OpenClaw.
scripts/convert.sh: sharedwrite_agent_workspace()(SOUL / AGENTS / IDENTITY split) used by OpenClaw and Hermes; newconvert_hermes()emitsSKILL.mdplus workspace files underintegrations/hermes/<slug>/.scripts/install.sh:install_hermes()copies workspaces to~/.hermes/agency-agents/and registersskills.external_dirsin~/.hermes/config.yaml(safe in-place edit, not EOF append).integrations/hermes/README.md, updates to rootREADME.md,integrations/README.md, andCONTRIBUTING.md..gitignore: generatedintegrations/hermes/*/excluded (onlyintegrations/hermes/README.mdis committed).Each Agency agent becomes a Hermes skill discoverable via
/skill-slugandhermes chat --toolsets skills, with persona/ops content loaded from bundledSOUL.md/AGENTS.mdvia${HERMES_SKILL_DIR}(progressive disclosure).Not included: generated skill workspaces (~184 directories); users run
./scripts/convert.sh --tool hermeslocally.Agent Information (if adding/modifying an agent)
N/A — this PR adds a tool integration, not a new agent markdown file.
Integration Information
SKILL.mdentry point~/.hermes/agency-agents/<slug>/skills.external_dirs→~/.hermes/agency-agents/frontend-developer,hermes chat --toolsets skills -q "Use the … skill …"Motivation
Hermes uses a skills system (
SKILL.md, agentskills.io-compatible) and understandsSOUL.md/AGENTS.md, but only one global~/.hermes/SOUL.mdper instance. The Agency roster needs per-specialist personas, so a flat skill workspace per agent (withexternal_dirs) matches Hermes architecture better than a single monolithic skill or overwriting global SOUL.Testing
Tested on two environments:
convert.sh/install.sh; paths and workspace layout verifiedagency-agentspaths and fixing config./scripts/convert.sh --tool hermes # → 184 workspaces under integrations/hermes/ bash -n scripts/convert.sh scripts/install.sh ./scripts/install.sh --tool hermes --no-interactive~/.hermes/agency-agents/.skills.external_dirsreceives~/.hermes/agency-agentsunder theskills:section. Installer replaces defaultexternal_dirs: []with a valid block list (does not append list items after[]or at EOF).frontend-developer,ux-researcher):SKILL.md,SOUL.md,AGENTS.md,IDENTITY.md;${HERMES_SKILL_DIR}in Procedure.integrations/hermes/README.mdcommitted (no generated slug directories).Ubuntu 24.04 VPS (Hermes CLI):
~/.hermes/agency-agentsand prior broken config lines, thenconvert+installagain.hermes skills list— Agency skills visible, noconfig.yamlparse errors./ux-researcher) loads full bundled context (SOUL + AGENTS via skill procedure).Checklist
integrations/hermes/README.md)convert.shandinstall.shupdated;hermesadded to tool lists / parallel convertREADME.mdandintegrations/README.mdconvert.sh --tool hermesandinstall.sh --tool hermeson Windows (Git Bash) and Ubuntu 24.04 (VPS)skills list, skill activation, full skill content)write_agent_workspace()(no behavior change intended)name,description,color(N/A — integration PR)Notes for maintainers
ensure_hermes_external_dir()fixes (follow-up to initial integration):- ~/.hermes/agency-agentsat EOF ofconfig.yaml.skills.external_dirs; replacesexternal_dirs: []with block-list form.agency-agentsappears outside a validexternal_dirslist (e.g. afterexternal_dirs: []).integrations/hermes/README.md(Fix broken config.yaml).