skills/learner/SKILL.md
Extract a learned skill from the current conversation
npx skillsauth add RobinNorberg/oh-my-copilot learnerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deprecated compatibility alias: use
/oh-my-copilot:skillifyfor new skill extraction workflows. This file remains for internal implementation/history and compatibility.
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.
${COPILOT_CONFIG_DIR:-~/.copilot}/skills/omc-learned/<skill-name>.md - Rare. Only for truly portable insights..omcp/skills/<skill-name>.md - Default. Intended to be committed with the repo when you want the team to keep the skill. In linked worktrees, uncommitted skills are still worktree-local and disappear if that worktree is deleted.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:
---
name: <skill-name>
description: <one-line description>
triggers:
- <trigger-1>
- <trigger-2>
---
---
name: <skill-name>
description: <one-line description>
triggers:
- <trigger-1>
- <trigger-2>
---
# [Skill Name]
## The Insight
What is the underlying PRINCIPLE you discovered? Not the code, but the mental model.
## Why This Matters
What goes wrong if you don't know this? What symptom led you here?
## Recognition Pattern
How do you know when this skill applies? What are the signs?
## The Approach
The decision-making heuristic, not just code. How should Claude THINK about this?
## 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.
tools
Durable multi-goal workflow that persists plan/ledger artifacts under .omcp/ultragoal and prints Claude /goal handoff text for the active session
tools
testing
Evidence-driven tracing lane that orchestrates competing tracer hypotheses in Claude built-in team mode
tools
Consensus planning entrypoint that auto-gates vague ralph/autopilot/team requests before execution