MCPInstall

capture-learning

Analyze recent conversation context and capture learnings to project knowledge files (for project-specific insights) or skills/commands/subagents (for cross-project patterns). Use when the user asks to "capture this learning", "update the docs with this", "remember this for next time", "document this issue", "add this to CLAUDE.md", "save this knowledge", or "update project knowledge". Also triggers after resolving build/setup issues, discovering non-obvious patterns, or completing debugging sessions with valuable insights.

Installs
53
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/petekp/agent-skills --skill capture-learning
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads capture-learning automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Capture Learning

Analyze recent conversation context and capture learnings—either to project knowledge files or to skills/commands/subagents for cross-project reuse.

Core Workflow

Step 1: Analyze Recent Context

Review the current conversation to identify:

  1. Problem encountered - What went wrong or was confusing?
  2. Root cause - Why did it happen?
  3. Solution - How was it resolved?
  4. Prevention - How to avoid this in the future?

Extract concrete, actionable insights—not vague summaries.

Good learning:

When running `npm install` on Node 20+, the `--legacy-peer-deps` flag
is required due to React 18 peer dependency conflicts.

Bad learning:

Had some issues with npm install, fixed it eventually.

Step 2: Determine Learning Scope

Before deciding where to capture, ask: Is this learning project-specific or general?

ScopeCharacteristicsCapture Target
Project-specificInvolves this codebase's architecture, conventions, dependencies, or local setupProject knowledge files (.claude/CLAUDE.md, .claude/docs/)
GeneralApplies across all projects—language patterns, framework best practices, tool usage, API quirksSkills, commands, or subagents

Decision questions:

  1. Would this help in other projects using the same language/framework?
  2. Is this a general technique vs. this repo's specific implementation?
  3. Does an existing skill already cover this domain?

Examples:

LearningScopeTarget
"This repo uses ApiError class for error handling"Project-specific.claude/CLAUDE.md
"SwiftUI matchedGeometryEffect should only apply to background shapes, not content"Generalswiftui-excellence skill
"Run npm install --legacy-peer-deps for this project"Project-specific.claude/CLAUDE.md
"React Server Components can't use useState"Generalreact-component-dev skill or similar
"The CI pipeline requires NODE_ENV=test"Project-specific.claude/docs/setup.md
"Playwright's page.waitForSelector times out silently without proper error handling"Generalplaywright-qa-tester agent or new skill

If general: Navigate to the appropriate skill/command/subagent file and update it following its existing structure. Then confirm with user before saving.

If project-specific: Continue to Step 3.

Step 3: Scan for Knowledge Files (Project-Specific Learnings)

Detect existing knowledge files in the project's .claude/ directory:

# Primary targets (most common)
.claude/CLAUDE.md          # Main project instructions
./CLAUDE.md                # Root-level alternative

# Secondary targets
.claude/docs/*.md          # Reference documentation
.claude/docs/**/*.md       # Nested docs

# Tertiary (check but don't modify without explicit request)
.claude/plans/*.md         # Planning docs (usually ephemeral)

Priority order for updates:

  1. CLAUDE.md (project root or .claude/) - General learnings, setup issues
  2. .claude/docs/troubleshooting.md - If exists, for debugging insights
  3. .claude/docs/setup.md - If exists, for environment/build issues
  4. Create new file only if user requests it

Step 4: Categorize the Learning

Determine which section the learning belongs in:

Learning TypeTarget SectionExample
Build/dependency issues## Build & Setup or ## Troubleshootingnpm flags, version requirements
Environment setup## Environment or ## Prerequisitesenv vars, tool versions
Code patterns## Patterns or ## Conventionsnaming, architecture decisions
Known issues## Known Issues or ## Gotchasquirks, workarounds
Debugging insights## Debugginghow to diagnose specific problems

If the target section doesn't exist, propose creating it in a logical location.

Step 5: Draft the Update

Format the learning for documentation:

Structure for issue-based learnings:

### [Short descriptive title]

**Problem:** [What went wrong]
**Cause:** [Why it happened]
**Solution:** [How to fix/prevent]

Structure for pattern/convention learnings:

### [Pattern name]

[Brief description of when/why to use this pattern]

```code
[Example if applicable]

**Structure for quick tips:**
```markdown
- [Concise actionable tip]

Keep entries:

  • Scannable - Use headers, bullets, code blocks
  • Actionable - Provide concrete steps or commands
  • Contextual - Explain why, not just what

Step 6: Present Changes for Confirmation

Before modifying any file, show the user:

  1. Target file - Which file will be updated
  2. Location - Which section (existing or new)
  3. Proposed content - Exact text to be added
  4. Diff preview - Show context around insertion point

Example confirmation prompt:

I'll add this to `.claude/CLAUDE.md` under "## Troubleshooting":

### Node 20 Peer Dependency Fix

**Problem:** `npm install` fails with peer dependency conflicts
**Cause:** React 18 has strict peer deps incompatible with some packages
**Solution:** Run `npm install --legacy-peer-deps`

Should I apply this update?

Wait for explicit user approval before writing.

Step 7: Apply the Update

After confirmation:

  1. Read the target file
  2. Find the appropriate insertion point
  3. Add the new content with proper formatting
  4. Write the updated file
  5. Confirm the update was applied

If creating a new section, place it logically:

  • Setup/build sections near the top
  • Troubleshooting sections near the bottom
  • Patterns/conventions in the middle

File Detection Details

Scanning Strategy

# Check for .claude directory
ls -la .claude/ 2>/dev/null

# Find all markdown files in .claude
find .claude -name "*.md" -type f 2>/dev/null

# Check root for CLAUDE.md
ls CLAUDE.md 2>/dev/null

File Purpose Recognition

Infer file purpose from:

  1. Filename - troubleshooting.md, setup.md, patterns.md
  2. Location - .claude/docs/ for references, .claude/plans/ for planning
  3. Content - Existing section headers indicate file's scope
  4. CLAUDE.md special handling - Always a valid target for general learnings

When No Suitable File Exists

If .claude/CLAUDE.md doesn't exist:

  1. Check for ./CLAUDE.md in project root
  2. If neither exists, ask user:
    • Create .claude/CLAUDE.md?
    • Create a specific doc file (e.g., .claude/docs/troubleshooting.md)?
    • Skip capturing this time?

Learning Extraction Patterns

Build/Setup Issues

Look for conversation patterns:

  • Error messages followed by resolution
  • "Fixed by..." or "The solution was..."
  • Version-specific workarounds
  • Missing dependencies or configuration

Extract: The error, root cause, and fix command/steps.

Code Patterns

Look for:

  • "This codebase uses..." discoveries
  • Architecture decisions explained
  • Naming conventions identified
  • Framework-specific patterns

Extract: Pattern description and rationale.

Debugging Insights

Look for:

  • Multi-step debugging processes
  • Non-obvious root causes
  • Diagnostic commands or techniques
  • "The issue was actually..."

Extract: Symptoms, investigation steps, root cause.

Examples

Example 1: Build Issue

Context: Session involved fixing a failing build due to TypeScript version mismatch.

Captured learning:

### TypeScript Version Requirement

**Problem:** Build fails with "Cannot find module 'typescript'"
**Cause:** Project requires TypeScript 5.3+ but system has 5.0
**Solution:**
```bash
npm install typescript@^5.3.0 --save-dev

### Example 2: Environment Setup

**Context:** Session discovered required environment variables.

**Captured learning:**
```markdown
### Required Environment Variables

The following must be set in `.env.local`:
- `DATABASE_URL` - PostgreSQL connection string
- `NEXTAUTH_SECRET` - Generate with `openssl rand -base64 32`
- `NEXTAUTH_URL` - Set to `http://localhost:3000` for development

Example 3: Code Pattern

Context: Session uncovered project's error handling convention.

Captured learning:

### Error Handling Pattern

All API routes use the `ApiError` class for consistent error responses:
```typescript
throw new ApiError(404, "Resource not found");

The error handler middleware converts these to JSON responses.


## Edge Cases

### Multiple Learnings

If the session contains multiple distinct learnings:
1. List them for the user
2. Ask which to capture (or all)
3. Process each separately with confirmation

### Conflicting Information

If new learning contradicts existing documentation:
1. Show both versions
2. Ask user which is correct
3. Update or replace as directed

### Sensitive Information

Never capture:
- API keys, tokens, or secrets
- Passwords or credentials
- Personal information
- Internal URLs that shouldn't be documented

If a learning involves secrets, document the *pattern* without the actual values.

## Quick Reference

**Trigger phrases:** "capture this", "remember this", "update docs", "document this", "add to CLAUDE.md", "save this knowledge"

**First question:** Is this project-specific or general?

**Project-specific targets:** `.claude/CLAUDE.md` (primary), `.claude/docs/*.md` (secondary)

**General targets:** Skills (`~/.claude/skills/`), commands (`~/.claude/commands/`), subagents (plugin agents)

**Always confirm:** Show exact changes before writing

**Format:** Problem → Cause → Solution (for issues), Description → Example (for patterns)

## Additional Resources

### Reference Files

- **[references/section-templates.md](references/section-templates.md)** - Complete templates for common documentation sections (Troubleshooting, Build & Setup, Environment, Patterns, Known Issues, Debugging). Consult when creating new sections or structuring complex learnings.

FAQ

What does the capture-learning skill do?

Analyze recent conversation context and capture learnings to project knowledge files (for project-specific insights) or skills/commands/subagents (for cross-project patterns). Use when the user asks to "capture this learning", "update the docs with this", "remember this for next time", "document this issue", "add this to CLAUDE.md", "save this knowledge", or "update project knowledge". Also triggers after resolving build/setup issues, discovering non-obvious patterns, or completing debugging sessions with valuable insights.

How do I install capture-learning?

Run npx skills add https://github.com/petekp/agent-skills --skill capture-learning in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/capture-learning/ (personal) or .claude/skills/capture-learning/ (project).

Which AI agents can use capture-learning?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is capture-learning safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains capture-learning?

It is published by petekp in petekp/agent-skills. It has 53 recorded installs.

More from petekp/agent-skills

View all →

typography

petekp/agent-skills

Apply professional typography principles to create readable, hierarchical, and aesthetically refined interfaces. Use when setting type scales, choosing fonts, adjusting spacing, designing text-heavy layouts, implementing dark mode typography, or when asked about readability, font pairing, line height, measure, typographic hierarchy, variable fonts, font loading, or OpenType features.

Frontend & Design522 installs

macos-app-design

petekp/agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents398 installs

optimize-agent-docs

petekp/agent-skills

Build a retrieval-optimized knowledge layer over agent documentation in dotfiles (.claude, .codex, .cursor, .aider). Use when asked to "optimize docs", "improve agent knowledge", "make docs more efficient", or when documentation has accumulated and retrieval feels inefficient. Generates a manifest mapping task-contexts to knowledge chunks, optimizes information density, and creates compiled artifacts for efficient agent consumption.

Docs & Writing314 installs

codebase-study-guide

petekp/agent-skills

Generate a pedagogically-grounded study guide for learning an unfamiliar codebase. Use when the user wants to onboard onto a codebase, understand a project's architecture, create learning materials for a team, or asks things like "help me learn this codebase", "create an onboarding guide", "I'm new to this project", "how does this system work", "study guide for this repo", or "explain this codebase to me". Produces a structured document that builds understanding from purpose to systems to patterns, using evidence-based learning techniques (elaborative interrogation, concept mapping, threshold concepts, worked examples, progressive disclosure).

unix-macos-engineer

petekp/agent-skills

Expert Unix and macOS systems engineer for shell scripting, system administration, command-line tools, launchd, Homebrew, networking, and low-level system tasks. Use when the user asks about Unix commands, shell scripts, macOS system configuration, process management, or troubleshooting system issues.

AI & Agents114 installs

explainer-visuals

petekp/agent-skills

Create high-quality animated explainer visuals for essays and blog posts. Use when the user wants to visualize concepts, processes, data, or ideas with interactive web animations. Triggers on requests like "create a visual for", "animate this concept", "make an explainer", "visualize this idea", "diagram this process", "show this data", or when essay content would benefit from visual explanation. Handles abstract concepts (mental models, frameworks), technical processes (algorithms, systems), and data visualization (trends, comparisons). Outputs self-contained HTML/CSS/JS that embeds directly in web content.

Frontend & Design101 installs

Popular education & science skills

View category →

teach

mattpocock/skills

Teach the user a new skill or concept, within this workspace.

Education & Science874K installs

scaffold-exercises

mattpocock/skills

Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.

Education & Science488.2K installs

paper-context-resolver

lllllllama/rigorpilot-skills

Rigor Paper Context helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacing README guidance by default.

Education & Science478.3K installs

caveman-learn

juliusbrussee/caveman

Act on a Caveman learn report - review the ranked token sinks, apply cost-lowering fixes with per-edit consent, and report what those fixes returned. Use when asked to lower an agent's token cost, what caveman has saved, to trim a heavy CLAUDE.md, or to offload re-pasted context into cavemem.

Education & Science107.9K installs

gsap-plugins

greensock/gsap-skills

Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.

Education & Science67.9K installs

teach-impeccable

pbakaus/impeccable

DEPRECATED: Use /impeccable teach instead. This command has been folded into the impeccable skill.