6.4 KiB
6.4 KiB
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:
delegate_task(
goal="[task description]",
context="[background info the subagent needs]",
toolsets=["terminal", "file"]
)
Parallel dispatch (multiple sub-agents):
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_taskruns 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
contextfield — 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
- Forgetting
delegate_taskis not inexecute_code— orchestration of sub-agents must happen from the main conversation, not from Python scripts. - Leaving
docs/plans/references — Hermes uses.hermes/plans/. Update all path references. - Keeping
Skilltool references — replace withskill_view(name=...)throughout. - Not updating
related_skills— when merging, the existing skill may need new cross-references to newly created skills. - 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/. - HTML/JSX leftovers — remove all non-markdown rendering. Use
browser_visionfor visual content. - Missing verification step — always
skill_viewafter creating/modifying. Broken frontmatter = silent load failure.