133 lines
6.4 KiB
Markdown
133 lines
6.4 KiB
Markdown
# 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 |
|
|
| `<repo>/skills/` | `<repo>/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.
|