--- name: hermes-capability-lookup description: "Use when asked if Hermes supports X or how to integrate X." version: 1.0.0 author: Hermes Agent metadata: hermes: related_skills: [hermes-agent, native-mcp, searxng-smart-search] --- # Hermes Capability Lookup Trigger: "does Hermes have X?", "can Hermes use X?", "is there a skill for X?", "how do I integrate X with Hermes?" ## Lookup workflow (in order) 1. **Local profile skills** — `search_files` pattern `**` in `~/.hermes/profiles//skills/` plus `skills_list`. Zero hits = not installed locally (may still exist upstream). 2. **Official docs** — hermes-agent.nousresearch.com/docs. Key pages: `/docs/user-guide/features/memory-providers` (bundled memory providers), `/docs/reference/skills-catalog`, `/docs/integrations/`. Read via `mcp_searxng_web_url_read` (one `url` per call). 3. **Upstream repo** — github.com/NousResearch/hermes-agent. SearXNG query: `site:github.com NousResearch hermes-agent `. GitHub issue bodies are extractable via web_url_read (nav chrome dominates but the body is in the result). 4. **If not bundled** — identify integration paths (below), present options with a recommendation (user requires Recommended + Why on every options list). ## Bundled memory providers (9, as of 2026-08) Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory, Memori. - Only ONE external provider active at a time; built-in MEMORY.md/USER.md always active. - `hermes memory setup` = interactive picker; `hermes memory status`; `hermes memory off`. - Full comparison table on the docs memory-providers page. ## Integration paths for external memory systems 1. **MCP registration** (config-only, minutes) — add the external tool's MCP server under `mcp_servers` in config.yaml (see native-mcp skill). Hermes gets the tools immediately. Caveat: capture side may not run — e.g. claude-mem's worker only fills from Claude Code hooks, so Hermes gets read-only search over whatever Claude Code recorded. 2. **Custom memory-provider plugin** — implement Hermes' MemoryProvider contract: `prefetch()`/`queue_prefetch()`, `sync_turn()`, `on_session_end()`, `on_memory_write(action, target, content)`. Docs: `/docs/developer-guide/memory-provider-plugin`. This is how third-party providers wire in (e.g. the local cognee integration, GitHub issue #14368). 3. **HTTP API bridge** — if the external system exposes a REST API (claude-mem worker API), a provider plugin or script can POST observations and GET search results. ## Pitfalls - `mcp_searxng_web_url_read` takes `url` (singular string), NOT `urls` (list). One URL per call; batch multiple pages as parallel calls. - "Not bundled" is a dated fact — re-verify against current docs before asserting. - GitHub issue pages via web_url_read return heavy nav chrome; the issue body is still in the result — search result descriptions often already carry the key sentence. ## References - `references/hook-system.md` — verified Hermes hook taxonomy: full VALID_HOOKS set, the "no end-of-turn hook" finding, `pre_verify` gate (file-edit + 3-nudge cap), shell-hook allowlist consent, response shapes, SOUL/USER.md paths - `references/claude-mem-integration.md` — claude-mem: architecture, worker REST API, MCP tools, Hermes integration options - `references/cognee-status.md` — cognee in Hermes: not bundled, issue #14368 canonical reference, lessons for Lance/Kuzu-backed providers