Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Capture Learning

ASecurity

Capture a project learning or pattern to LEARNINGS.md. Use when you discover a useful pattern or convention during development.

39 stars
0 votes
0 copies
0 views
Added 9/20/2026
developmentgotestingdebuggingapiperformance

Works with

api

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add benjaminshoemaker/ai_coding_project_base --skill capture-learning --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Capture Learning?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Capture Learning
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/benjaminshoemaker-capture-learning/badge)](https://www.skillsdirectory.com/skills/benjaminshoemaker-capture-learning)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: capture-learning
description: Capture a project learning or pattern to LEARNINGS.md. Use when you discover a useful pattern or convention during development.
argument-hint: ["learning description"]
allowed-tools: Read, Write, Edit, Glob, AskUserQuestion
---

# Capture Learning

Capture a discovered pattern, convention, or gotcha to the project's LEARNINGS.md file.

## Usage

```
/capture-learning "Use vi.mock() not jest.mock() - this is Vitest"
/capture-learning
```

If no argument provided, prompt for the learning content.

## Process

Copy this checklist and track progress:

```
Capture Learning Progress:
- [ ] Step 1: Get learning content from user
- [ ] Step 2: Determine category (pattern, convention, pitfall, tool-tip)
- [ ] Step 3: Gather context (when it applies, why it matters)
- [ ] Step 4: Write entry to LEARNINGS.md
- [ ] Step 5: Confirm entry was saved correctly
```

### 1. Get Learning Content

- If `$ARGUMENTS` is provided and non-empty, use it as the learning content
- Otherwise, use AskUserQuestion to prompt:
  ```
  Question: "What did you learn?"
  Header: "Learning"
  Options:
    - Label: "Enter below"
      Description: "Type your learning in the text field"
  ```
  (User will select "Other" to type their learning)

### 2. Get Category (Optional)

Use AskUserQuestion to ask for category:

```
Question: "Which category fits this learning?"
Header: "Category"
Options:
  - Label: "Conventions"
    Description: "Code style, naming, patterns used in this project"
  - Label: "Testing"
    Description: "Test setup, mocking, assertions"
  - Label: "Gotchas"
    Description: "Non-obvious behavior, things that caused debugging"
  - Label: "Error Handling"
    Description: "How errors are handled, Result patterns, etc."
```

If user selects "Other", use their custom category name.

### 3. Get Context

Determine the current task context:
- Check if `.claude/phase-state.json` exists (if available) and extract current task ID
- If not available, use "Manual capture" as the context
- Get today's date in YYYY-MM-DD format

### 4. Create or Update LEARNINGS.md

**If LEARNINGS.md doesn't exist**, create it with this template:

```markdown
# Discovered Patterns

> Project-specific patterns and conventions discovered during development.
> This file provides context for future sessions.
> Add learnings with `/capture-learning` or manually.

## Conventions

## Testing

## Gotchas

## Error Handling

## Performance
```

**Then append the learning** under the appropriate category section:

Format: `- {learning content} ({date}, {task context})`

Example:
```markdown
## Testing
- Use `vi.mock()` not `jest.mock()` — this is a Vitest project (2026-01-22, Task 1.1.A)
```

### 5. Confirm

Output:
```
Captured to LEARNINGS.md:

**{Category}:** {learning content}

This pattern will be loaded into context on future sessions.
```

## What Makes a Good Learning

Capture things that:
- **Differ from common defaults** — project uses Vitest not Jest, pnpm not npm
- **Are project-specific conventions** — API response shapes, naming patterns
- **Caused debugging time** — lazy-loaded fields, import side effects
- **Would surprise a new contributor** — non-obvious architectural decisions

Don't capture:
- General programming knowledge
- Things obvious from reading the code
- Temporary workarounds (use TODOS.md instead)

## File Location

LEARNINGS.md is always created/updated in PROJECT_ROOT (not feature directories), since learnings apply project-wide.

To determine PROJECT_ROOT:
- If current directory matches `*/features/*`, go up two levels
- Otherwise, use current directory

Attribution

benjaminshoemakerbenjaminshoemaker
View sourceMore from benjaminshoemaker →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

281612 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2132 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →