Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Turn a proven pattern or debugging solution into a standalone reusable skill with SKILL.md, reference docs, and examples. Use when the user runs /si:extract or asks to package a recurring solution from memory into a skill.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 162% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 307% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 38% | 0% |
Transforms a recurring pattern or debugging solution into a standalone, portable skill that can be installed in any project.
/si:extract <pattern description> # Interactive extraction
/si:extract <pattern> --name docker-m1-fixes # Specify skill name
/si:extract <pattern> --output ./skills/ # Custom output directory
/si:extract <pattern> --dry-run # Preview without creating filesA learning qualifies for skill extraction when ANY of these are true:
| Criterion | Signal | |---|---| | Recurring | Same issue across 2+ projects | | Non-obvious | Required real debugging to discover | | Broadly applicable | Not tied to one specific codebase | | Complex solution | Multi-step fix that's easy to forget | | User-flagged | "Save this as a skill", "I want to reuse this" |
Read the user's description. Search auto-memory for related entries:
bashMEMORY_DIR="$HOME/.claude/projects/$(pwd | sed 's|/|%2F|g; s|%2F|/|; s|^/||')/memory" grep -rni "<keywords>" "$MEMORY_DIR/"
If found in auto-memory, use those entries as source material. If not, use the user's description directly.
Ask (max 2 questions):
Rules for naming:
docker-m1-fixes, api-timeout-patterns, pnpm-workspace-setupReserved fragments — must NOT appear in the skill name:
claudeanthropicFor skills about Claude Code itself, use the cc- prefix instead:
claude-code-settings → ✅ cc-settingsclaude-code-maintenance → ✅ cc-maintenanceclaude-mcp-tools → ✅ cc-mcp-toolsclaude-plugin-development → ✅ cc-plugin-developmentBefore writing the skill directory, check the proposed name against this list. If a reserved fragment is present, transform it (drop the fragment or replace the claude*/anthropic* prefix with cc-) and confirm with the user.
Spawn the skill-extractor agent for the actual file generation.
The agent creates:
<skill-name>/
├── SKILL.md # Main skill file with frontmatter
├── README.md # Human-readable overview
└── reference/ # (optional) Supporting documentation
└── examples.md # Concrete examples and edge casesThe generated SKILL.md must follow this format:
markdown--- name: "skill-name" description: "<one-line description>. Use when: <trigger conditions>." --- # <Skill Title> > One-line summary of what this skill solves. ## Quick Reference | Problem | Solution | |---------|----------| | {{problem 1}} | {{solution 1}} | | {{problem 2}} | {{solution 2}} | ## The Problem {{2-3 sentences explaining what goes wrong and why it's non-obvious.}} ## Solutions ### Option 1: {{Name}} (Recommended) {{Step-by-step with code examples.}} ### Option 2: {{Alternative}} {{For when Option 1 doesn't apply.}} ## Trade-offs | Approach | Pros | Cons | |----------|------|------| | Option 1 | {{pros}} | {{cons}} | | Option 2 | {{pros}} | {{cons}} | ## Edge Cases - {{edge case 1 and how to handle it}} - {{edge case 2 and how to handle it}}
Before finalizing, verify:
name and descriptionname matches the folder name (lowercase, hyphens)name does NOT contain reserved fragments claude or anthropic (use cc- prefix for Claude Code skills)✅ Skill extracted: {{skill-name}}
Files created:
{{path}}/SKILL.md ({{lines}} lines)
{{path}}/README.md ({{lines}} lines)
{{path}}/reference/examples.md ({{lines}} lines)
Install: /plugin install (copy to your skills directory)
Publish: clawhub publish {{path}}
Source: MEMORY.md entries at lines {{n, m, ...}} (retained — the skill is portable, the memory is project-specific)/si:extract "Fix for Docker builds failing on Apple Silicon with platform mismatch"Creates docker-m1-fixes/SKILL.md with:
/si:extract "Always regenerate TypeScript API client after modifying OpenAPI spec"Creates api-client-regen/SKILL.md with:
Other measured skills in the registry, with their headline benchmark lift.