# External-to-Hermes Tool Mapping Table Complete reference for translating tool calls, file paths, and concepts from other agent ecosystems into Hermes-native equivalents. ## Tool Name Mappings ### Claude Code → Hermes | Claude Code Tool | Hermes Equivalent | Notes | |---|---|---| | `Skill` (invoke skill) | `skill_view(name=...)` | Hermes loads skill content into context | | `Agent` / sub-agent dispatch | `delegate_task(goal=..., context=...)` | Batch mode: `tasks=[...]` for parallel | | `Read` / file read | `read_file(path=...)` | Line-numbered, paginated | | `Write` / file write | `write_file(path=..., content=...)` | Overwrites entire file | | `Edit` / file edit | `patch(mode='replace', path=..., old_string=..., new_string=...)` | Fuzzy-matched find-and-replace | | `Grep` / `rg` | `search_files(pattern=..., path=...)` | Ripgrep-backed, prefer over shell grep | | `Glob` / `find` | `search_files(pattern=..., target='files')` | File discovery by glob | | `Bash` / shell | `terminal(command=...)` | Persistent cwd, env vars persist | | `WebSearch` | `web_search` / `web_extract` | Hermes web tools | | `Browser` / Puppeteer | `browser_navigate`, `browser_click`, `browser_snapshot` | Hermes browser tool suite | | `TodoWrite` | `todo(todos=[...])` | Task list management | | `execute_code` (Python) | `execute_code(code=...)` | Same — but `delegate_task` NOT callable from inside | | `Vision` / image analysis | `vision_analyze(image_url=..., question=...)` | Load image into conversation | | `Memory` / `Remember` | `memory(action='add', target='memory')` | Persistent cross-session memory | ### Cursor → Hermes | Cursor Concept | Hermes Equivalent | Notes | |---|---|---| | `@codebase` context | `search_files` + `read_file` | Explicit search, not implicit | | `@file` references | `read_file(path=...)` | Direct file reads | | `@web` search | `web_search` | | | Cursor Rules (`.cursorrules`) | `AGENTS.md` / `CLAUDE.md` / skill files | Hermes reads project instruction files | | Composer (multi-file edit) | Multiple `patch` or `write_file` calls | No single multi-file edit tool | ### Copilot CLI → Hermes | Copilot Concept | Hermes Equivalent | Notes | |---|---|---| | `@workspace` | `search_files` + `read_file` | | | `#file` references | `read_file(path=...)` | | | GitHub Actions integration | `terminal` with `gh` CLI | Use `github-*` skills | | Copilot Chat participants | `delegate_task` subagents | Role-based dispatch | ### Windsurf → Hermes | Windsurf Concept | Hermes Equivalent | Notes | |---|---|---| | Cascade (agentic mode) | Main agent loop | Hermes is always agentic | | `@codebase` | `search_files` + `read_file` | | | `.windsurfrules` | `AGENTS.md` / skill files | | ## File Path Conversions | External Path | Hermes Equivalent | Notes | |---|---|---| | `docs/plans/` | `.hermes/plans/` | Hermes plan directory (used by `plan` skill) | | `docs/solutions/` | `docs/solutions/` | Keep as-is — used by `compound-learning` skill | | `docs/specs/` | `docs/superpowers/specs/` | Used by `brainstorming` skill | | `STRATEGY.md` | `STRATEGY.md` | Project-level, keep as-is | | `CONCEPTS.md` | `CONCEPTS.md` | Project-level, keep as-is | | `CLAUDE.md` | `AGENTS.md` | Hermes reads `AGENTS.md` (also reads `CLAUDE.md` for compat) | | `.cursorrules` | `AGENTS.md` | Convert to Hermes convention | | `~/.claude/skills/` | `~/.hermes/skills/` | Local skill directory | | `/skills/` | `/skills/` | In-repo skills (same pattern) | ## Dispatch Mechanism Conversion ### External sub-agent patterns → `delegate_task` **Claude Code pattern:** ``` Dispatch a sub-agent to: [task description] ``` **Hermes equivalent:** ```python delegate_task( goal="[task description]", context="[background info the subagent needs]", toolsets=["terminal", "file"] ) ``` **Parallel dispatch (multiple sub-agents):** ```python delegate_task(tasks=[ {"goal": "Task A description", "context": "...", "toolsets": ["terminal"]}, {"goal": "Task B description", "context": "...", "toolsets": ["file"]}, {"goal": "Task C description", "context": "...", "toolsets": ["web"]}, ]) ``` Key differences: - Hermes `delegate_task` runs in background — results return as a new message - Max 3 concurrent children (configurable via `delegation.max_concurrent_children`) - Nested delegation is OFF by default (`max_spawn_depth=1`) - Subagents CANNOT use: `clarify`, `memory`, `send_message`, `execute_code` (leaf role) - Pass ALL context via `context` field — subagents have NO conversation history ## Rendering Conversions | External Pattern | Hermes Equivalent | Notes | |---|---|---| | HTML artifacts | Markdown tables, code blocks | Remove all HTML | | Mermaid diagrams | ASCII art or `browser_vision` | No native mermaid rendering | | React components | Plain markdown | No JSX rendering | | Visual mockups | `browser_vision` screenshots | Take screenshot, attach to context | | Syntax highlighting | ` ```language ` code blocks | Native in markdown | ## Skill Structure Differences | Element | Claude Code | Hermes | |---|---|---| | Frontmatter start | `---` (same) | `---` (same) | | Required fields | `name`, `description` | `name`, `description` | | Recommended fields | varies | `version`, `author`, `license`, `metadata.hermes.tags`, `metadata.hermes.related_skills` | | Description max | varies | 1024 chars | | File max | varies | 100,000 chars | | Support files | `references/`, `scripts/` | `references/`, `templates/`, `scripts/`, `assets/` | | Skill loading | `Skill` tool | `skill_view(name=...)` | | Cross-references | implicit | `metadata.hermes.related_skills` (explicit) | ## Common Adaptation Pitfalls 1. **Forgetting `delegate_task` is not in `execute_code`** — orchestration of sub-agents must happen from the main conversation, not from Python scripts. 2. **Leaving `docs/plans/` references** — Hermes uses `.hermes/plans/`. Update all path references. 3. **Keeping `Skill` tool references** — replace with `skill_view(name=...)` throughout. 4. **Not updating `related_skills`** — when merging, the existing skill may need new cross-references to newly created skills. 5. **Porting bulk instead of concepts** — a 60k external skill often has 5k of unique value. Extract the concept, write a concise Hermes-native skill, put detail in `references/`. 6. **HTML/JSX leftovers** — remove all non-markdown rendering. Use `browser_vision` for visual content. 7. **Missing verification step** — always `skill_view` after creating/modifying. Broken frontmatter = silent load failure.