
Extract
Package a recurring debug fix or workflow you solved twice into a portable SKILL.md skill with references and examples.
Overview
Extract is a journey-wide agent skill that packages recurring debugging patterns and workflows into portable SKILL.md skills with references and examples—usable whenever a solo builder wants to reuse a proven fix across
Install
npx skills add https://github.com/alirezarezvani/claude-skills --skill extractWhat is this skill?
- Usage: /si:extract with optional --name, --output, --dry-run
- 5 extraction criteria table (recurring, non-obvious, broadly applicable, complex, user-flagged)
- Workflow: identify pattern, grep auto-memory, scope skill, scaffold SKILL.md and references
- Turns proven debugging solutions into standalone installable skills
- 5 skill extraction criteria in qualification table
Adoption & trust: 1.5k installs on skills.sh; 17.5k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You solved the same non-obvious bug or workflow twice but only have chat history—not a reusable skill your agent can invoke next time.
Who is it for?
Claude Code users who capture repeatable fixes (Docker on M1, flaky test rituals, deploy gotchas) and want skills.sh-style portability.
Skip if: One-off typos, codebase-specific hacks with no second project, or publishing without checking the five extraction criteria—skip when the learning is not recurring or broadly applicable.
When should I use this skill?
User runs /si:extract, or same issue across 2+ projects, non-obvious multi-step fix, or says save this as a skill / reuse this pattern.
What do I get? / Deliverables
You get a new skill directory with SKILL.md, reference material, and examples, optionally previewed with --dry-run before files are written.
- SKILL.md
- Reference docs
- Examples directory
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Extract a third-party API auth retry pattern after implementing it in two SaaS codebases.
Codify a flaky E2E stabilization checklist discovered during pre-launch test sweeps.
Package an on-call production triage flow you ran twice into a skill for the next incident.
Capture a local dev environment bootstrap fix before the MVP stack diverges again.
Turn a repeatable content pipeline prompt chain into a skill for future campaigns.
How it compares
Meta skill factory for your own repo—not a marketplace installer or an MCP server integration.
Common Questions / FAQ
Who is extract for?
Solo builders using Claude Code (and similar agents) who want to codify debugging wins and workflows as installable skills.
When should I use extract?
After Validate/Built/Ship/Operate work when a pattern recurred across 2+ projects, required real debugging, or you said save this as a skill—run /si:extract with optional --name, --output, or --dry-run.
Is extract safe to install?
The skill instructs grep of local auto-memory paths and writing files under your chosen output dir—review the Security Audits panel on this Prism page and use --dry-run before committing generated skills.
SKILL.md
READMESKILL.md - Extract
# /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 ``` /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 files ``` ## When to Extract A 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" | ## Workflow ### Step 1: Identify the pattern Read the user's description. Search auto-memory for related entries: ```bash MEMORY_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. ### 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:** - `claude` - `anthropic` 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: ``` <skill-name>/ ├── SKILL.md # Main skill file with frontmatter ├── README.md # Human-readable overview └── reference/ # (optional) Supporting documentation └── examples.md # Concrete examples and edge cases ``` ### Step 5: SKILL.md structure The 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}} ``` ### Step 6: Quality gates Before finalizing, verify: - [ ] SKILL.md has valid YAML frontmatter with `name` and `description` - [ ] `name` matches the folder name (lowercase, hyphens) - [ ] `name` does NOT contain reserved fragments `claude` or `anthropic` (use `cc-` prefix for Claude Code skills) - [ ] Description includes "Use when: