Skip to main content

extract

Implement — Turn a proven pattern or debugging solution into a standalone reusable skill with SKILL.md, reference docs, and examples.

Jump to install

Source facts

Repository
thiagofernandes1987-create/APEX
Last source activity
April 18, 2026 at 09:35
Detected SKILL.md language
English
Stars
2
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
extract
description
Implement — Turn a proven pattern or debugging solution into a standalone reusable skill with SKILL.md, reference docs, and examples.
command
/si:extract
executor
LLM_BEHAVIOR
skill_id
engineering.cs_engineering_team.self_improving_agent.extract
status
ADOPTED
security
{"level":"standard","pii":false,"approval_required":false}
anchors
["engineering"]
tier
2
input_schema
[{"name":"code_or_task","type":"string","description":"Code snippet, script, or task description to process","required":true},{"name":"context","type":"string","description":"Additional context or background information","required":false}]
output_schema
[{"name":"result","type":"string","description":"Primary output from 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` ### 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) - [ ] 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 ``` ✅ 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) ``` ## Examples ### Extracting a debugging pattern ``` /si:extract "Fix for Docker builds failing on Apple Silicon with platform mismatch" ``` 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 ``` /si:extract "Always regenerate TypeScript API client after modifying OpenAPI spec" ``` 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? --- ## Why This Skill Exists Implement — Turn a proven pattern or debugging solution into a standalone reusable skill with SKILL.md, reference docs, and examples. <!-- SR_40: auto-generated from frontmatter `purpose`/`description` (OPP-Phase3). Expand with domain-specific rationale. --> ## When to Use Use this skill when the task requires extract capabilities. <!-- SR_40: auto-generated from frontmatter `when`/`description` (OPP-Phase3). --> ## What If Fails If this skill fails to produce the expected output: (1) verify input completeness, (2) retry with more specific context, (3) fall back to the parent workflow without this skill. <!-- SR_40: auto-generated from frontmatter `what_if_fails` (OPP-Phase3). -->
View on GitHub