Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Skill Extractor

ASecurity

Extracts reusable skills from work sessions. Use when: (1) a non-obvious problem was solved worth preserving, (2) a pattern was discovered that would help future sessions, (3) a workaround or debugging technique needs documentation. Manual invocation only via /skill-extractor command - no automatic triggers or hooks.

2 stars
0 votes
0 copies
0 views
Added 9/22/2026
developmentrustgobashnodedebuggingdocumentation

Works with

claude codeclimcp

Security Analysis

A100/100

Scanned 9/22/2026

Install to Claude Code

$npx -y skills add seikaikyo/dash-skills --skill skill-extractor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Extractor?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Skill Extractor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/seikaikyo-skill-extractor/badge)](https://www.skillsdirectory.com/skills/seikaikyo-skill-extractor)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: skill-extractor
description: >-
  Extracts reusable skills from work sessions. Use when: (1) a non-obvious
  problem was solved worth preserving, (2) a pattern was discovered that would
  help future sessions, (3) a workaround or debugging technique needs
  documentation. Manual invocation only via /skill-extractor command - no
  automatic triggers or hooks.
allowed-tools:
  - Read
  - Write
  - Glob
  - Grep
  - WebSearch
  - AskUserQuestion
---

# Skill Extractor

Extracts reusable knowledge from work sessions and saves it as a Claude Code skill.

## When to Use

- Just solved a non-obvious problem through investigation
- Discovered a workaround that required trial-and-error
- Found a debugging technique that would help in similar situations
- Learned a project-specific pattern worth preserving
- Fixed an error where the root cause wasn't immediately apparent

## When NOT to Use

- Simple documentation lookups (just bookmark the docs)
- Trivial fixes (typos, obvious errors)
- One-off project-specific configurations
- Knowledge that's already well-documented elsewhere
- Unverified solutions (wait until it actually works)

## Finding Extraction Candidates

Use these prompts to identify knowledge worth extracting:

- "What did I just learn that wasn't obvious before starting?"
- "If I faced this exact problem again, what would I wish I knew?"
- "What error message or symptom led me here, and what was the actual cause?"
- "Is this pattern specific to this project, or would it help in similar projects?"
- "What would I tell a colleague who hits this same issue?"

If you can't answer at least two of these with something non-trivial, it's probably not worth extracting.

## Command

```
/skill-extractor [--project] [context hint]
```

- Default: saves to `~/.claude/skills/[name]/SKILL.md`
- `--project`: saves to `.claude/skills/[name]/SKILL.md`
- Context hint helps focus extraction (e.g., `/skill-extractor the cyclic data DoS fix`)

## Extraction Process

### Step 0: Check for Existing Skills

Before creating a new skill, search for existing ones that might cover the same ground:

```bash
# Check user skills
ls ~/.claude/skills/

# Check project skills
ls .claude/skills/

# Search by keyword
grep -r "keyword" ~/.claude/skills/ .claude/skills/ 2>/dev/null
```

If a related skill exists, consider **updating it** instead of creating a new one. See [skill-lifecycle.md](references/skill-lifecycle.md) for guidance on when to update vs create.

### Step 1: Identify the Learning

If `$ARGUMENTS` contains a context hint (e.g., "the cyclic data DoS fix"), use it to focus the extraction on that specific topic.

Analyze the conversation to identify:
- What problem was solved?
- What made the solution non-obvious?
- What would someone need to know to solve this faster next time?
- What are the exact trigger conditions (error messages, symptoms)?

Present a brief summary to the user:
```
I identified this potential skill:

**Problem:** [Brief description]
**Key insight:** [What made it non-obvious]
**Triggers:** [Error messages or symptoms]
```

### Step 2: Quality Assessment

Evaluate the candidate skill against these criteria:

| Criterion | Pass? | Evidence |
|-----------|-------|----------|
| **Reusable** - Helps future tasks, not just this instance | | [Why] |
| **Non-trivial** - Required discovery, not docs lookup | | [Why] |
| **Verified** - Solution actually worked | | [Evidence] |
| **Specific triggers** - Exact error messages or scenarios | | [What they are] |
| **Explains WHY** - Trade-offs and judgment, not just steps | | [How] |
| **Value-add** - Teaches judgment, not just facts Claude could look up | | [How] |

Present assessment to user and ask: "Proceed with extraction? [yes/no]"

The user decides whether to proceed regardless of how many criteria pass. Respect their judgment - if they say yes, extract; if no, skip.

### Step 3: Gather Details

Ask the user:
1. **Skill name** - Suggest a kebab-case name based on context, let them override
2. **Scope** - User-level (default) or project-level (`--project`)

### Step 4: Optional Research

If the topic involves a specific library or framework:
- Use web search to find current best practices
- Use Context7 MCP (if available) for official documentation
- Include relevant sources in the References section

Skip research for:
- Project-specific internal patterns
- Generic programming concepts
- Time-sensitive extractions

### Step 5: Generate the Skill

Use the template from [skill-template.md](references/skill-template.md).

**Quality standards:** Follow [quality-guide.md](references/quality-guide.md) to ensure the skill provides lasting value. Key points:
- Behavioral guidance over reference dumps
- Explain WHY, not just WHAT
- Specific triggers that compete well against other skills

### Step 6: Validate Before Saving

Run through the validation checklist in [skill-template.md](references/skill-template.md). If validation fails, fix the issues before saving.

### Step 7: Save the Skill

Create the directory and save:
- User-level: `~/.claude/skills/[name]/SKILL.md`
- Project-level: `.claude/skills/[name]/SKILL.md`

Report success:
```
Skill saved to: [path]

The skill will be available in future sessions when the context matches:
"[first line of description]"
```

## Memory Consolidation

When extracting, consider how the new knowledge relates to existing skills:

**Combine or separate?**
- **Combine** if the new knowledge is a variation or edge case of an existing skill
- **Separate** if it has distinct trigger conditions or solves a fundamentally different problem
- When in doubt, start separate - you can always merge later

**Update vs create:**
- **Update** an existing skill when you've discovered additional edge cases, better solutions, or corrections
- **Create** a new skill when the knowledge has different trigger conditions, even if the domain is related

**Cross-referencing:**
- If skills are related but separate, add a "See also" section linking them
- Example: A skill for "debugging connection pool exhaustion" might link to "serverless cold start optimization"

## Skill Lifecycle

Skills aren't permanent. See [skill-lifecycle.md](references/skill-lifecycle.md) for guidance on:
- Updating skills with new discoveries
- Deprecating skills when tools or patterns change
- Archiving skills that are no longer relevant

## Rationalizations to Reject

If you catch yourself thinking any of these, do NOT extract:

- "This might be useful someday" - Only extract verified, reusable knowledge
- "Let me just save everything" - Quality over quantity
- "The user didn't confirm but it seems valuable" - Always get explicit confirmation
- "I'll skip the 'When NOT to Use' section" - It's mandatory for good skills
- "The description can be vague" - Specific triggers are essential for discovery

## Example Extraction

**Scenario:** User discovered that an AST visitor crashes with RecursionError when analyzing serialized files containing cyclic references (e.g., a list that contains itself).

**Identified learning:**
- Cyclic data structures create cyclic ASTs
- Visitor pattern without cycle tracking causes infinite recursion
- Need to track visited nodes or enforce depth limits

**Generated skill name:** `cyclic-ast-visitor-hardening`

**Key sections:**
- When to Use: "RecursionError in AST visitor", "analyzing untrusted serialized input"
- When NOT to Use: "Recursion from deeply nested (but acyclic) structures"
- Problem: Visitor doesn't track visited nodes, enters infinite loop on cycles
- Solution: Add `visited: set` parameter, check before recursing
- Verification: Cyclic test case completes without RecursionError

Attribution

seikaikyoseikaikyo
View sourceMore from seikaikyo →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284072 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →