Skill v1.0.1
currentAutomated scan100/100+3 new
version: "1.0.1" name: skill-compiler description: "Automatic solved-to-skill compiler — detects novel task completions and autonomously drafts new SKILL.md files. Stolen from Hermes Agent's learning loop (NousResearch, 2026-05-11)." vibe: "Every hard problem you solve once, you never solve again." context_trigger: "novel, breakthrough, new pattern, first time, never done before, complex task" auto-invoke: false model: default source: "NousResearch/hermes-agent (143K ★) — 'The agent that grows with you'" stolen_date: "2026-05-11"
Skill Compiler — Solved-to-Skill Automation
Source: Hermes Agent by Nous Research (May 2026)Core Claim: "It's the only agent with a built-in learning loop — it creates skills from experience."Athena Adaptation: Hermes does this via Python (agent/curator.py+tools/skill_usage.py). Athena does it via workflow-level pattern detection + markdown SKILL.md generation.
The Problem This Solves
Athena currently relies on manual insight filing during /end sessions. The [S] and [V] markers in session logs capture learnings, but they remain trapped in session logs — they don't become reusable skills automatically.
Hermes solved this: when the agent completes a novel task, it automatically creates a new skill from the solution, so the same problem class never requires re-derivation.
When to Use
Automatic Trigger (Post-Task Detection)
After any task completion where ALL of the following are true:
- Novelty: The task required a solution path not covered by any existing skill
- Complexity: Task took ≥5 agent turns OR involved ≥3 tool calls
- Success: User confirmed the solution worked (explicit or implicit — no corrections in final 2 turns)
- Reusability: The solution generalizes beyond this specific instance
Manual Trigger
User says: "compile this into a skill", "save this as a skill", "I want to remember how we did this"
Execution Flow
Phase 1: Pattern Extraction (Analysis)
Perform private analysis in <analysis> tags (not written to files):
<analysis>1. What was the PROBLEM CLASS? (Not the specific instance)- e.g., "Pairs trading dashboard with cointegration analysis"- NOT "Dashboard 4-decimal rounding fix"2. What was the SOLUTION ARCHITECTURE?- Key steps in order- Tools/APIs used- Decision points and their resolution criteria3. What were the FAILURE MODES encountered?- What went wrong initially?- What heuristics resolved it?4. What is the REUSE SURFACE?- When would someone encounter this problem class again?- What context_trigger keywords would match?5. OVERLAP CHECK- Which existing skills partially cover this?- Is this better as a new skill or a subsection of an existing one?</analysis>
Phase 2: Skill Draft Generation
Generate a complete SKILL.md with Athena-standard 5W1H frontmatter:
---name: [kebab-case-name]description: "[One-line description of what the skill does]"vibe: "[One-line emotional hook]"context_trigger: "[comma-separated trigger keywords]"auto-invoke: falsemodel: defaultsource: "Compiled from session [SESSION_ID] on [DATE]"compiled_from: "[session log path]"---# [Skill Name] — [Subtitle]> **Compiled**: [DATE] from session [SESSION_ID]> **Problem Class**: [Description of the general problem this solves]## When to Use[Trigger conditions — when should the agent invoke this skill?]## Solution Architecture### Step 1: [Phase Name][What to do, with specifics]### Step 2: [Phase Name][What to do, with specifics]## Failure Modes & Mitigations| Failure | Mitigation ||---------|------------|| [What can go wrong] | [How to recover] |## Validated Patterns-[V] [Pattern]: [Why it works] | Reapply: [When]## References-Session log-[Related skill](../../therapeutic-ifs/SKILL.md)
Phase 3: Integration
- Write the skill to
.agent/skills/[name]/SKILL.md(orexamples/skills/[category]/[name]/SKILL.mdfor public) - Update skill index with the new entry
- Update
AGENTS.mdskill table (if context_trigger present) - Notify user: "📦 Compiled new skill:
[name]from this session. Review at [path]."
Curator Integration (Stolen: Hermes agent/curator.py)
Lifecycle States
Compiled skills follow a lifecycle identical to Hermes' curator model:
| State | Criteria | Action | |
|---|---|---|---|
| active | Created or used within 30 days | Normal operation | |
| stale | No invocation for 30+ days | Flag for review at next /audit | |
| archived | No invocation for 90+ days | Move to archive directory |
Invariants (from Hermes)
- Never auto-delete — maximum destructive action is archive
- Pinned skills are exempt — manual pin via
pinned: truein frontmatter - Only touch compiled skills — bundled/manual skills are off-limits
- Archive is recoverable — archive directory with successor mapping in README.md
Umbrella Consolidation Rule (Stolen: Hermes Curator Prompt)
"A collection of hundreds of narrow skills where each one captures one session's specific bug is a FAILURE of the library — not a feature."
When compiling a new skill, first check if it belongs as a subsection of an existing umbrella skill rather than a standalone entry:
- PREFIX CLUSTER CHECK: Does the new skill share a first word or domain keyword with 2+ existing skills?
- CLASS-LEVEL CHECK: Would a maintainer write this as one skill with labeled subsections, or N separate skills?
- If the answer is "one skill", absorb into the existing umbrella and add a
references/entry instead.
Anti-Patterns
- ❌ Compiling trivial tasks (< 5 turns, single tool call)
- ❌ Compiling tasks that are already covered by existing skills
- ❌ Creating overly specific skills tied to one instance (use umbrella pattern instead)
- ❌ Compiling without user confirmation of success
- ❌ One-session-one-skill micro-entries — consolidate into class-level umbrellas
Hermes Comparison
| Feature | Hermes | Athena | |
|---|---|---|---|
| Skill creation | Automatic (Python skill_manage) | Workflow-triggered (this SKILL.md) | |
| Skill lifecycle | curator.py (7-day review cycle) | /audit + archive directory | |
| Skill evolution | DSPy + GEPA (self-evolution repo) | Manual via /steal + session learnings | |
| Skill storage | ~/.hermes/skills/ (SQLite telemetry) | .agent/skills/ (git-tracked) | |
| Consolidation | LLM-driven umbrella-ification pass | Manual during /audit |
Athena advantage: Skills are version-controlled in git, not SQLite. Every skill change has a commit hash, blame, and diff history. Hermes can't git blame a skill edit.
References
- Hermes Agent Curator — Source of lifecycle states + umbrella consolidation pattern
- Hermes Self-Evolution — DSPy + GEPA evolutionary optimization (future steal candidate)