From oh-my-claudecode
Extracts reusable principles and heuristics from conversations into SKILL.md files after debugging tricky bugs or codebase gotchas. Validates for non-Googleable, project-specific insights.
How this skill is triggered — by the user, by Claude, or both
Slash command
/oh-my-claudecode:learnerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reusable skills are not code snippets to copy-paste, but **principles and decision-making heuristics** that teach Claude HOW TO THINK about a class of problems.
Reusable skills are not code snippets to copy-paste, but principles and decision-making heuristics that teach Claude HOW TO THINK about a class of problems.
The difference:
A good skill changes how Claude APPROACHES problems, not just what code it produces.
Before extracting a skill, ask yourself:
If a potential skill fails any of these questions, it's not worth saving.
Use /oh-my-claudecode:learner ONLY after:
Step 1: Gather Required Information
Problem Statement: The SPECIFIC error, symptom, or confusion that occurred
Solution: The EXACT fix, not general advice
Triggers: Keywords that would appear when hitting this problem again
Scope: Almost always Project-level unless it's a truly universal insight
Step 2: Quality Validation
The system REJECTS skills that are:
Step 3: Save Location
CRITICAL: Not every solution is worth saving. A good skill is:
Non-Googleable: Something you couldn't easily find via search
Context-Specific: References actual files, error messages, or patterns from THIS codebase
Actionable with Precision: Tells you exactly WHAT to do and WHERE
Hard-Won: Took significant debugging effort to discover
Skills are saved as markdown with this structure:
Standard metadata fields:
# [Skill Name]
## The Insight
What is the underlying PRINCIPLE you discovered? Not the code, but the mental model.
Example: "Async I/O operations are independently failable. Client lifecycle != server lifecycle."
## Why This Matters
What goes wrong if you don't know this? What symptom led you here?
Example: "Proxy server crashes on client disconnect, taking down other requests."
## Recognition Pattern
How do you know when this skill applies? What are the signs?
Example: "Building any long-lived connection handler (proxy, websocket, SSE)"
## The Approach
The decision-making heuristic, not just code. How should Claude THINK about this?
Example: "For each I/O operation, ask: what if this fails right now? Handle it locally."
## Example (Optional)
If code helps, show it - but as illustration of the principle, not copy-paste material.
Key: A skill is REUSABLE if Claude can apply it to NEW situations, not just identical ones.
npx claudepluginhub realsigridjin/oh-my-claudecodeExtracts a reusable skill from the current conversation by identifying non-Googleable, context-specific, hard-won insights. Used to capture learned patterns.
Extracts reusable skills from work sessions for non-obvious problems, patterns, workarounds, or debugging techniques. Manual invocation via /skill-extractor.
Captures reusable knowledge from coding sessions and creates new Claude Code skills. Triggered by explicit requests ('save this as a skill') or at task completion, retrospectives, and pattern discovery.