Extract a learned skill from the current conversation
This is a Level 7 (self-improving) skill. It has two distinct sections:
Only the Expertise section should be updated during improvement cycles.
This section contains domain knowledge that improves over time. It can be updated by the learner itself when new patterns are discovered.
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:
Before extracting a skill, ALL three must be true:
Extract ONLY after:
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
This section contains the stable extraction procedure. It should NOT be updated during improvement cycles.
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
The system REJECTS skills that are:
Before saving, determine if the learning is:
{topic}-expertise.md{topic}-workflow.mdThis classification ensures expertise can be updated independently without destabilizing workflows.
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<skill-name>.md - Rare. Only for truly portable insights..omc/skills/<skill-name>.md - Default. Version-controlled with repo.Every learned skill file MUST start with YAML frontmatter so learned-skill flat-file discovery can load it. Do not write plain markdown without frontmatter.
Minimum required frontmatter:
---