learn
Extract reusable knowledge from the current session into a persistent skill. Use when you discover something non-obvious, create a workaround, or develop a multi-step workflow that future sessions would benefit from.
Best use case
learn is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Extract reusable knowledge from the current session into a persistent skill. Use when you discover something non-obvious, create a workaround, or develop a multi-step workflow that future sessions would benefit from.
Teams using learn should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/learn/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How learn Compares
| Feature / Agent | learn | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Extract reusable knowledge from the current session into a persistent skill. Use when you discover something non-obvious, create a workaround, or develop a multi-step workflow that future sessions would benefit from.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
SKILL.md Source
# /learn — Skill Extraction Workflow Extract non-obvious discoveries into reusable skills that persist across sessions. ## When to Use This Skill Invoke `/learn` when you encounter: - **Non-obvious debugging** — Investigation that took significant effort, not in docs - **Misleading errors** — Error message was wrong, found the real cause - **Workarounds** — Found a limitation with a creative solution - **Tool integration** — Undocumented API usage or configuration - **Trial-and-error** — Multiple attempts before success - **Repeatable workflows** — Multi-step task you'd do again - **User-facing automation** — Reports, checks, or processes users will request ## Workflow Phases ### PHASE 1: Evaluate (Self-Assessment) Before creating a skill, answer these questions: 1. "What did I just learn that wasn't obvious before starting?" 2. "Would future-me benefit from this being documented?" 3. "Was the solution non-obvious from documentation alone?" 4. "Is this a multi-step workflow I'd repeat?" **Continue only if YES to at least one question.** ### PHASE 2: Check Existing Skills Search for related skills to avoid duplication: ```bash # Check project skills ls .claude/skills/ 2>/dev/null # Search for keywords grep -r -i "KEYWORD" .claude/skills/ 2>/dev/null ``` **Outcomes:** - Nothing related → Create new skill (continue to Phase 3) - Same trigger & fix → Update existing skill (bump version) - Partial overlap → Update with new variant ### PHASE 3: Create Skill Create the skill file at `.claude/skills/[skill-name]/SKILL.md`: ```yaml --- name: descriptive-kebab-case-name description: | [CRITICAL: Include specific triggers in the description] - What the skill does - Specific trigger conditions (exact error messages, symptoms) - When to use it (contexts, scenarios) author: Claude Code Academic Workflow version: 1.0.0 argument-hint: "[expected arguments]" # Optional --- # Skill Name ## Problem [Clear problem description — what situation triggers this skill] ## Context / Trigger Conditions [When to use — exact error messages, symptoms, scenarios] [Be specific enough that you'd recognize it again] ## Solution [Step-by-step solution] [Include commands, code snippets, or workflows] ## Verification [How to verify it worked] [Expected output or state] ## Example [Concrete example of the skill in action] ## References [Documentation links, related files, or prior discussions] ``` ### PHASE 4: Quality Gates Before finalizing, verify: - [ ] Description has specific trigger conditions (not vague) - [ ] Solution was verified to work (tested) - [ ] Content is specific enough to be actionable - [ ] Content is general enough to be reusable - [ ] No sensitive information (credentials, personal data) - [ ] Skill name is descriptive and uses kebab-case ## Output After creating the skill, report: ``` ✓ Skill created: .claude/skills/[name]/SKILL.md Trigger: [when to use] Problem: [what it solves] ``` ## Example: Creating a Skill User discovers that a specific R package silently drops observations: ```markdown --- name: fixest-missing-covariate-handling description: | Handle silent observation dropping in fixest when covariates have missing values. Use when: estimates seem wrong, sample size unexpectedly small, or comparing results between packages. author: Claude Code Academic Workflow version: 1.0.0 --- # fixest Missing Covariate Handling ## Problem The fixest package silently drops observations when covariates have NA values, which can produce unexpected results when comparing to other packages. ## Context / Trigger Conditions - Sample size in fixest is smaller than expected - Results differ from Stata or other R packages - Model has covariates with potential missing values ## Solution 1. Check for NA patterns before regression: ```r summary(complete.cases(data[, covariates])) ``` 2. Explicitly handle NA values or use `na.action` parameter 3. Document the expected sample size in comments ## Verification Compare `nobs(model)` with `nrow(data)` — difference indicates dropped obs. ## References - fixest documentation on missing values - [LEARN:r-code] entry in MEMORY.md ```
Related Skills
visual-audit
Perform adversarial visual audit of Quarto or Beamer slides checking for overflow, font consistency, box fatigue, and layout issues.
validate-bib
Validate bibliography entries against citations in all lecture files. Find missing entries and unused references.
translate-to-quarto
Translate Beamer LaTeX to Quarto RevealJS. Multi-phase workflow with TikZ extraction and QA.
slide-excellence
Multi-agent slide review (visual, pedagogy, proofreading). Use for comprehensive quality check before milestones.
review-r
Run the R code review protocol on R scripts. Checks code quality, reproducibility, domain correctness, and professional standards. Produces a report without editing files.
review-paper
Comprehensive manuscript review covering argument structure, econometric specification, citation completeness, and potential referee objections
research-ideation
Generate structured research questions, testable hypotheses, and empirical strategies from a topic or dataset
qa-quarto
Adversarial Quarto vs Beamer QA. Critic finds issues, fixer applies fixes, loops until APPROVED (max 5 rounds).
proofread
Run the proofreading protocol on lecture files. Checks grammar, typos, overflow, consistency, and academic writing quality. Produces a report without editing files.
pedagogy-review
Run holistic pedagogical review on lecture slides. Checks narrative arc, student prerequisites, worked examples, notation clarity, and deck pacing.
lit-review
Structured literature search and synthesis with citation extraction and gap identification
interview-me
Interactive interview to formalize a research idea into a structured specification with hypotheses and empirical strategy