hermes-agent/website/docs/user-guide/features
Teknium b5c1fe78aa
feat(skills): add skill bundles — alias /<name> loads multiple skills (#28373)
Skill bundles are tiny YAML files in ~/.hermes/skill-bundles/ that
group several skills under one slash command. Invoking /<bundle-name>
from any surface (CLI, TUI, dashboard, any gateway platform) loads
every referenced skill into a single combined user message.

Use cases:
- /backend-dev → loads github-code-review + test-driven-development
  + github-pr-workflow as one bundle.
- /research → loads several research skills together.
- Team task profiles shared via dotfiles.

Behavior:
- Bundles take precedence over individual skills when slugs collide.
- Missing skills are skipped with a note, not fatal.
- No system-prompt mutation — bundles generate a fresh user message
  at invocation time, the same way /<skill> does. Prompt cache stays
  intact.
- Works in CLI dispatch, gateway dispatch, autocomplete (CLI + TUI),
  /help display.

Schema (~/.hermes/skill-bundles/<slug>.yaml):
    name: backend-dev
    description: Backend feature work.
    skills:
      - github-code-review
      - test-driven-development
    instruction: |
      Optional extra guidance prepended to the loaded skills.

New module: agent/skill_bundles.py — load, scan, resolve, build
invocation message, save, delete. yaml.safe_load only; broken
bundles log a warning and are skipped, never raise.

New CLI subcommand: hermes bundles {list,show,create,delete,reload}.
Implementation in hermes_cli/bundles.py; wired in hermes_cli/main.py.
'bundles' added to _BUILTIN_SUBCOMMANDS so plugin discovery skips it.

New in-session slash command: /bundles lists installed bundles in
both CLI and gateway. /<bundle-name> dispatch added to CLI (cli.py)
and gateway (gateway/run.py) before the existing /<skill-name> path.

Autocomplete: SlashCommandCompleter gained an optional
skill_bundles_provider parameter that defaults to None — the prompt
shows '▣ <description> (N skills)' for bundles vs '' for skills.

Tests:
- tests/agent/test_skill_bundles.py — 33 tests covering slugify,
  scan/cache freshness, resolve (including underscore→hyphen
  Telegram alias), build_bundle_invocation_message (loading, missing
  skills, user/bundle instruction injection, dedup), save/delete,
  reload diff, list sort.
- tests/hermes_cli/test_bundles.py — 8 tests for the CLI
  subcommand (create/list/show/delete/reload, --force, missing
  bundle errors).
- tests/gateway/test_bundles_command.py — 4 tests for the gateway
  handler and bundle resolution priority.

Live E2E: verified subprocess invocations of hermes bundles
{list,create,show,reload,delete} round-trip correctly against an
isolated HERMES_HOME.

Docs:
- website/docs/user-guide/features/skills.md — new 'Skill Bundles'
  section with quick example, YAML schema, management commands,
  behavior notes.
- website/docs/reference/cli-commands.md — 'hermes bundles' added to
  the top-level command table and given its own subcommand section.
2026-05-18 21:38:05 -07:00
..
_category_.json
acp.md feat(acp): hermes acp --setup-browser bootstraps browser tools for registry installs 2026-05-15 01:38:24 -07:00
api-server.md docs: deep audit — fix stale config keys, missing commands, and registry drift (#22784) 2026-05-09 13:19:51 -07:00
batch-processing.md
browser.md fix(browser): honor pre-set AGENT_BROWSER_ARGS and document the bypass 2026-05-14 19:02:17 -07:00
built-in-plugins.md fix(plugins): remove unreachable hermes tools → Langfuse path 2026-05-16 17:15:19 -07:00
code-execution.md docs(execute_code): document project/strict execution modes (#12073) 2026-04-18 01:53:09 -07:00
codex-app-server-runtime.md docs(codex_app_server): document multi-root Kanban writable_roots (#27941) 2026-05-18 21:03:25 -07:00
computer-use.md feat(computer-use): refresh cua-driver on hermes update + add install --upgrade (#24063) 2026-05-11 17:10:58 -07:00
context-files.md
context-references.md
credential-pools.md
cron.md docs(cron): document name-based job lookup from #26231 2026-05-16 20:32:43 -07:00
curator.md
delegation.md docs(delegation): show api_mode override in custom-endpoint example 2026-05-16 20:32:43 -07:00
deliverable-mode.md feat(gateway): deliverable mode — ship artifacts as native uploads from any agent surface (#27813) 2026-05-18 02:14:43 -07:00
extending-the-dashboard.md
fallback-providers.md feat(azure-foundry): add Microsoft Entra ID auth 2026-05-18 10:14:38 -07:00
goals.md
honcho.md
hooks.md
image-generation.md
kanban-tutorial.md docs: align kanban readiness docs and smoke tests 2026-05-18 21:07:03 -07:00
kanban-worker-lanes.md
kanban.md feat(kanban): configure worktree paths and branches 2026-05-18 21:33:08 -07:00
lsp.md docs(lsp): replace "git worktree" with "git repository" in LSP docs 2026-05-13 23:05:20 -07:00
mcp.md feat: add supports_parallel_tool_calls for MCP servers (#26825) 2026-05-16 01:04:28 -07:00
memory-providers.md
memory.md docs(session_search): update all docs for the single-shape rewrite (#27840) 2026-05-18 00:36:17 -07:00
overview.md
personality.md
plugins.md fix(plugins): surface category-namespaced plugins in hermes plugins list 2026-05-16 17:15:19 -07:00
provider-routing.md
skills.md feat(skills): add skill bundles — alias /<name> loads multiple skills (#28373) 2026-05-18 21:38:05 -07:00
skins.md
spotify.md docs(spotify): document Home Assistant speaker routing 2026-05-16 20:32:43 -07:00
subscription-proxy.md feat(proxy): local OpenAI-compatible proxy for OAuth providers (#25969) 2026-05-14 15:40:48 -07:00
tool-gateway.md
tools.md docs(tools): add video_generate / video_gen toolset to user-facing tool docs (#27050) 2026-05-16 11:53:13 -07:00
tts.md
vision.md
voice-mode.md
web-dashboard.md docs(dashboard): clarify chat tab tui flag 2026-05-16 20:32:43 -07:00
web-search.md
x-search.md feat(x_search): gated X (Twitter) search tool with OAuth-or-API-key auth (#26763) 2026-05-16 00:58:27 -07:00