Auto-Skill Extractor
/install auto-skill-extractor
Auto-Skill Extractor
Turn your agent's work into reusable skills. Automatically.
When to Use
✅ You run complex subagent tasks repeatedly
✅ You want to build a skill library without manual authoring
✅ You run multi-domain tasks (files + system + web)
✅ You want your agent to learn from its own patterns
When NOT to Use
❌ Simple 1-2 tool tasks (not worth skilling)
❌ One-off exploratory work
❌ You prefer manually authoring every skill
Quick Start
1. Install
clawhub install auto-skill-extractor
2. Create Directories
mkdir -p skills/auto-draft skills/auto skills/manual
3. Wire Into Your Agent
Add to AGENTS.md after subagent completion:
# Auto-skill extraction trigger
import subprocess
import json
# Write trigger input
trigger_data = {
"completion_status": "success",
"tool_calls": tool_call_count, # from subagent result
"transcript_summary": brief_summary, # Keep brief, avoid secrets
"session_id": session_key,
"multi_domain": True # if applicable
}
# RECOMMENDED: Pipe via stdin (no file on disk)
result = subprocess.run(
["python3", "scripts/auto-skill-trigger.py"],
input=json.dumps(trigger_data),
capture_output=True,
text=True
)
# ALTERNATIVE: File-based (delete immediately after)
# with open("/tmp/trigger.json", "w") as f:
# json.dump(trigger_data, f)
# result = subprocess.run(
# ["python3", "scripts/auto-skill-trigger.py", "/tmp/trigger.json"],
# capture_output=True, text=True
# )
# os.remove("/tmp/trigger.json") # SECURITY: Delete after use
output = json.loads(result.stdout)
if output.get("action") == "extract":
print(f"🔄 Created DRAFT skill: {output['skill_name']}")
4. Use It
Run a subagent with complex work:
Spawn subagent to analyze codebase...
- Read 5 config files ✓
- Check processes ✓
- Write summary report ✓
Result: skills/auto-draft/codebase-analyzer-abc123/ created automatically
How It Works
Step 1: Trigger Evaluation
After every subagent completion:
| Check | Must Pass |
|---|---|
| Status | success |
| Tool calls | ≥ 3 |
| Complexity | ≥ 4 |
Step 2: Complexity Scoring
Base: tool_calls × 0.7 (max 5 pts)
3 tools = 2 pts, 5 tools = 4 pts
Bonus: +2 multi-domain (files + system + web)
+2 error recovery (retry logic)
+1 fail-then-succeed
Threshold: 4 points = extract
Step 3: DRAFT Creation
skills/auto-draft/my-skill-abc123/
├── SKILL.md ← Template with metadata
└── meta.json ← Invocation tracking
Step 4: Evaluation Period
- Use the DRAFT skill 3 times successfully
- Each use logged in
meta.json - After 3rd use → auto-promoted to
skills/auto/
Step 5: ACTIVE Status
Promoted skills are:
- Visible in
/skills autolist - Ready for manual completion
- Versioned and tracked
Configuration
Edit scripts/auto-skill-trigger.py:
COMPLEXITY_THRESHOLD = 4 # Lower = more drafts, more curation
MAX_QUEUE_SIZE = 50 # Pending extraction limit
PROMOTE_THRESHOLD = 3 # Invocations before promotion
Manual Control
Force Extraction
Ignore thresholds:
#skill: force
List Drafts
python3 scripts/skill-lifecycle.py drafts
Promote Early
python3 scripts/skill-lifecycle.py promote my-skill-name
Archive Stale Drafts
python3 scripts/skill-lifecycle.py process
# Removes drafts unused for 7+ days
Safety
- ✅ Collision detection — Won't overwrite existing skills
- ✅ Path sanitization —
../../../etc→ blocked - ✅ Atomic promotion — Copy → verify → move → delete
- ✅ Queue limits — Max 50 pending extractions
- ✅ Return value checks — Errors logged, not silent
Verification
Check extraction worked:
# See recent DRAFTs
ls -la skills/auto-draft/
# Check extraction queue
cat scripts/skill-extraction-queue.json
# View specific skill
cat skills/auto-draft/my-skill-abc123/SKILL.md
Pitfalls
| Problem | Cause | Fix |
|---|---|---|
| No DRAFTs created | Threshold too high | Lower COMPLEXITY_THRESHOLD |
| Too many DRAFTs | Threshold too low | Raise threshold, manually curate |
| Promotion never happens | Not using DRAFTs | Run /skills promote manually |
| Skills not useful | Noise in extraction | Tune thresholds, review DRAFTs weekly |
Architecture
Subagent completes
↓
auto-skill-trigger.py
↓
Score complexity (0-10)
↓
If ≥ 4: Create DRAFT
↓
skill-lifecycle.py
↓
After 3 uses: PROMOTE → skills/auto/
↓
After 7 days: ARCHIVE
Related
- Hermes Agent — Original inspiration (Nous Research)
- Auto-skill pipeline case study — https://github.com/wahajahmed010/openclaw-hermes-adaptation
- Skill lifecycle management — Built into this package
References
- Hermes Adaptation: https://github.com/wahajahmed010/openclaw-hermes-adaptation
- Original Hermes: https://github.com/NousResearch/Hermes-Agent
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install auto-skill-extractor - 安装完成后,直接呼叫该 Skill 的名称或使用
/auto-skill-extractor触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Auto-Skill Extractor 是什么?
Automatically learn from your AI's work and turn repeated subagent tasks into reusable skills. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 82 次。
如何安装 Auto-Skill Extractor?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install auto-skill-extractor」即可一键安装,无需额外配置。
Auto-Skill Extractor 是免费的吗?
是的,Auto-Skill Extractor 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Auto-Skill Extractor 支持哪些平台?
Auto-Skill Extractor 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Auto-Skill Extractor?
由 Wahaj Ahmed(@wahajahmed010)开发并维护,当前版本 v1.0.2。