/si:extract — Create Skills from Patterns
Transforms a recurring pattern or debugging solution into a standalone, portable skill that can be installed in any project.
Usage
When to Extract
A learning qualifies for skill extraction when ANY of these are true:
Workflow
Step 1: Identify the pattern
Read the user's description. Search auto-memory for related entries:
If found in auto-memory, use those entries as source material. If not, use the user's description directly.
Step 2: Determine skill scope
Ask (max 2 questions):
- "What problem does this solve?" (if not clear)
- "Should this include code examples?" (if applicable)
Step 3: Generate skill name
Rules for naming:
- Lowercase, hyphens between words
- Descriptive but concise (2-4 words)
- Examples:
docker-m1-fixes,api-timeout-patterns,pnpm-workspace-setup
Reserved fragments — must NOT appear in the skill name:
claudeanthropic
For skills about Claude Code itself, use the cc- prefix instead:
- ❌
claude-code-settings→ ✅cc-settings - ❌
claude-code-maintenance→ ✅cc-maintenance - ❌
claude-mcp-tools→ ✅cc-mcp-tools - ❌
claude-plugin-development→ ✅cc-plugin-development
Before 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.
Step 4: Create the skill files
Spawn the skill-extractor agent for the actual file generation.
The agent creates:
Step 5: SKILL.md structure
The generated SKILL.md must follow this format:
Step 6: Quality gates
Before finalizing, verify:
- SKILL.md has valid YAML frontmatter with
nameanddescription -
namematches the folder name (lowercase, hyphens) -
namedoes NOT contain reserved fragmentsclaudeoranthropic(usecc-prefix for Claude Code skills) - Description includes "Use when:" trigger conditions
- Solutions are self-contained (no external context needed)
- Code examples are complete and copy-pasteable
- No project-specific hardcoded values (paths, URLs, credentials)
- No unnecessary dependencies
Step 7: Report
Examples
Extracting a debugging pattern
Creates docker-m1-fixes/SKILL.md with:
- The platform mismatch error message
- Three solutions (build flag, Dockerfile, docker-compose)
- Trade-offs table
- Performance note about Rosetta 2 emulation
Extracting a workflow pattern
Creates api-client-regen/SKILL.md with:
- Why manual regen is needed
- The exact command sequence
- CI integration snippet
- Common failure modes
Tips
- Extract patterns that would save time in a different project
- Keep skills focused — one problem per skill
- Include the error messages people would search for
- Test the skill by reading it without the original context — does it make sense?


