Initial commit: Hermes Agent Skills collection
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
---
|
||||
name: adapting-external-skills
|
||||
description: "Import and adapt skills from other agent ecosystems (Claude Code, Cursor, Copilot) into Hermes-compatible skills. Use when cloning an external plugin/skill repo and merging or porting its skills into the Hermes skill library."
|
||||
version: 1.0.0
|
||||
author: Hermes Agent
|
||||
license: MIT
|
||||
metadata:
|
||||
hermes:
|
||||
tags: [skills, import, adaptation, migration, cross-platform, compound-engineering]
|
||||
related_skills: [hermes-agent-skill-authoring, using-superpowers, brainstorming, plan]
|
||||
---
|
||||
|
||||
# Adapting External Skills to Hermes
|
||||
|
||||
Port skills from other agent ecosystems into Hermes-native skills. Other ecosystems use different tool names, file paths, dispatch mechanisms, and rendering — verbatim copies break.
|
||||
|
||||
## When to Use
|
||||
|
||||
- User clones an external skill/plugin repo (Claude Code, Cursor, Copilot, Windsurf, etc.)
|
||||
- User asks to "merge", "port", or "adapt" external skills into existing Hermes skills
|
||||
- User wants to compare external skills with installed Hermes skills and adopt useful concepts
|
||||
|
||||
## Workflow
|
||||
|
||||
### 1. Clone and Survey
|
||||
|
||||
```bash
|
||||
git clone --depth 1 <repo-url> /tmp/<plugin-name>
|
||||
find /tmp/<plugin-name> -name "SKILL.md" -o -name "*.yaml" -o -name "*.yml" | head -50
|
||||
```
|
||||
|
||||
Catalog every skill file found. Note sizes — large skills (>40k chars) may need selective extraction rather than full port.
|
||||
|
||||
### 2. Read Source + Target Skills in Parallel
|
||||
|
||||
Batch all reads:
|
||||
- `read_file` for every external SKILL.md
|
||||
- `skill_view` for every potentially-overlapping Hermes skill
|
||||
- Do this in one parallel batch — don't serialize
|
||||
|
||||
### 3. Classify Each External Skill
|
||||
|
||||
For each external skill, assign one of:
|
||||
|
||||
| Classification | Action | Criteria |
|
||||
|---|---|---|
|
||||
| **Merge** | `patch` existing Hermes skill | Covers territory an existing Hermes skill handles |
|
||||
| **Create** | New Hermes skill via `skill_manage(action='create')` | Unique capability, no Hermes equivalent (check `skills_list` first) |
|
||||
| **Skip** | Drop | Too ecosystem-specific (e.g., Xcode-only, Slack-API-only, proprietary internals) |
|
||||
|
||||
### 4. Adapt Tool Mappings
|
||||
|
||||
This is the critical step — external skills reference tools that don't exist in Hermes. See `references/tool-mapping-table.md` for the complete mapping.
|
||||
|
||||
Key substitutions:
|
||||
|
||||
| External (Claude Code) | Hermes Equivalent | Notes |
|
||||
|---|---|---|
|
||||
| `Skill` tool | `skill_view(name=...)` | Loading skills |
|
||||
| Sub-agent dispatch | `delegate_task(goal=..., context=...)` | Batch mode for parallel |
|
||||
| `execute_code` for tool orchestration | `execute_code` (same) | Available but `delegate_task` is NOT callable from inside it |
|
||||
| Manual file reads | `read_file(path=...)` | Always prefer over `cat`/`head` |
|
||||
| Manual file search | `search_files(pattern=..., path=...)` | Always prefer over `grep`/`find` |
|
||||
| `docs/plans/` | `.hermes/plans/` | Hermes plan directory |
|
||||
| HTML rendering / visual output | `browser_vision` or markdown tables | Remove HTML, use native MD |
|
||||
| `STRATEGY.md` / `CONCEPTS.md` | Keep as-is | Project-level docs, not Hermes-specific |
|
||||
|
||||
### 5. For Merges — Patch Existing Skills
|
||||
|
||||
Use `skill_manage(action='patch')` to add new subsections, phases, or pitfalls to existing Hermes skills.
|
||||
|
||||
Rules:
|
||||
- Mark added content with the source name: `(Compound Engineering)` or `(from <source>)` so origins are traceable
|
||||
- Don't duplicate — add only what the existing skill doesn't cover
|
||||
- Update `related_skills` in frontmatter if the merge introduces new cross-references
|
||||
- Keep the existing skill's structure and tone intact
|
||||
|
||||
### 6. For New Skills — Write Full SKILL.md
|
||||
|
||||
Create with `skill_manage(action='create')`:
|
||||
- Full Hermes frontmatter (`name`, `description`, `version`, `author`, `license`, `metadata.hermes.tags`, `metadata.hermes.related_skills`)
|
||||
- All tool calls use Hermes-native names (`skill_view`, `delegate_task`, `search_files`, `read_file`, `write_file`, `terminal`)
|
||||
- No references to external tool names
|
||||
- Include `## When to Use` with triggers and counter-triggers
|
||||
- Include `## Pitfalls` section
|
||||
- Include `## Integration with Other Skills` cross-references
|
||||
- Include `## Hermes Agent Integration` listing which Hermes tools the skill uses
|
||||
|
||||
### 7. Verify
|
||||
|
||||
```python
|
||||
# For each modified or new skill:
|
||||
skill_view(name="<skill-name>")
|
||||
# Confirm: readiness_status == "available"
|
||||
```
|
||||
|
||||
Session caching: newly created skills may not appear in `skills_list` until a new session. `skill_view` with the exact name still works.
|
||||
|
||||
## Pitfalls
|
||||
|
||||
- **Don't copy verbatim** — external skills reference tools, paths, and mechanisms that don't exist in Hermes. Every tool call must be translated.
|
||||
- **Don't duplicate existing skills** — before creating, check `skills_list` and `skill_view` for overlapping coverage. Prefer merging into an existing skill.
|
||||
- **Don't lose the source attribution** — mark merged content with the origin so future readers know where concepts came from.
|
||||
- **Don't skip verification** — a skill with broken frontmatter or invalid tool references silently fails to load. Always `skill_view` after creating/modifying.
|
||||
- **Don't forget `related_skills`** — new skills should cross-reference existing ones and vice versa. This is how the skill graph stays navigable.
|
||||
- **`delegate_task` is NOT callable from `execute_code`** — if a skill instructs the agent to orchestrate sub-agents, the dispatch must happen from the main conversation, not from a Python script.
|
||||
- **Large external skills** — a 60k-char external skill often has 5k of unique value. Extract the concept, don't port the bulk. Put detail in `references/` if needed.
|
||||
|
||||
## Integration with Other Skills
|
||||
|
||||
- **hermes-agent-skill-authoring** — the canonical reference for Hermes skill frontmatter, structure, and quality principles. This skill extends it for the cross-ecosystem import case.
|
||||
- **brainstorming** — use before adapting if the merge strategy is unclear (which skills to merge vs create vs skip)
|
||||
- **plan** — for large multi-skill imports, create a plan first
|
||||
- **compound-learning** — capture what was learned during the adaptation for future imports
|
||||
|
||||
## Hermes Agent Integration
|
||||
|
||||
- `skill_manage(action='create')` — create new skills
|
||||
- `skill_manage(action='patch')` — merge concepts into existing skills
|
||||
- `skill_view(name=...)` — verify skills after creation/modification
|
||||
- `skills_list` — check for existing coverage before creating
|
||||
- `read_file` — read external skill files
|
||||
- `terminal` — git clone, find, file size analysis
|
||||
- `write_file` — write reference files under skills
|
||||
- `delegate_task` — parallelize reading/comparison of large skill sets
|
||||
|
||||
## Remember
|
||||
|
||||
```
|
||||
Translate every tool call
|
||||
Merge > Create > Skip
|
||||
Mark origins in merged content
|
||||
Verify with skill_view after every change
|
||||
Extract concepts, don't port bulk
|
||||
```
|
||||
Reference in New Issue
Block a user