.claude/skills/capture-session/SKILL.md
Extract decisions, action items, new context, and insights from the current session into LEARNINGS.md and auto-memory. Run before ending any substantive conversation.
npx skillsauth add benjaminshoemaker/ai_coding_project_base capture-sessionInstall 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.
Extract everything worth persisting from the current conversation and write it to the project's LEARNINGS.md file and auto-memory. This is the session-end counterpart to /capture-learning (which captures a single item). /capture-session sweeps the entire conversation.
--dry-run — Show what would be captured without writing anythingReview the FULL conversation and extract items in these categories:
Things that were decided and WHY. These prevent future sessions from re-litigating settled questions.
Work that needs to happen but hasn't been done yet. Include owner if known.
Information discovered during the session that wasn't previously known to the project. This is the most commonly lost category.
Problems discovered, whether fixed or not.
Ideas, hypotheses, or potential improvements that came up but weren't pursued. Worth revisiting later.
Capture Session Progress:
- [ ] Step 1: Review conversation for extractable items
- [ ] Step 2: Draft extraction (present to user)
- [ ] Step 3: User confirms/edits
- [ ] Step 4: Write to LEARNINGS.md
- [ ] Step 5: Update auto-memory for cross-session items
- [ ] Step 6: Confirm
Scan the full conversation history. For each category above, identify concrete items. Be specific — include file names, line numbers, amounts, names, dates. Vague entries are useless.
Good: "Kay confirmed EXEMPT FOOD tax group should only apply to CF-produced items; 3rd party non-taxable food gets NONTAXABLE (2026-04-02 call)"
Bad: "Tax group codes need to be reviewed"
Show the user what you plan to capture, organized by category:
SESSION CAPTURE — DRAFT
=======================
Session: {brief description of what was done}
Date: {today}
DECISIONS (N items)
1. {decision} — Rationale: {why}
ACTION ITEMS (N items)
1. {item} — Owner: {who} — Due: {when, if known}
NEW CONTEXT (N items)
1. {context}
BUGS & ISSUES (N items)
1. {issue} — Status: {fixed/open/deferred}
DEFERRED INVESTIGATIONS (N items)
1. {idea}
Write to LEARNINGS.md? [Y/n]
Use AskUserQuestion to confirm. If --dry-run, stop here.
If user says yes (or modifies), proceed. If user removes items, respect that. If user adds items, include them.
File location: LEARNINGS.md is always created/updated at 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.
If LEARNINGS.md doesn't exist, create it:
# Session Learnings
> Persistent knowledge extracted from AI coding sessions.
> Captures decisions, context, action items, and insights that should survive between sessions.
> Add entries with `/capture-session` (full sweep) or `/capture-learning` (single item).
## Decisions
## Action Items
## Context
## Bugs & Issues
## Deferred Investigations
Append entries under the appropriate section. Each entry format:
- **[YYYY-MM-DD]** {content} *(source: {conversation/stakeholder/code review/etc.})*
For action items, use checkbox format:
- [ ] **[YYYY-MM-DD]** {action item} — Owner: {who}
For items that are broadly relevant across sessions (not just task-specific), also write to auto-memory:
type: project or type: user memorytype: feedback memorySkip this step if the project doesn't use auto-memory (no .claude/projects/ memory directory).
SESSION CAPTURED
================
Written to LEARNINGS.md:
- {N} decisions
- {N} action items
- {N} context items
- {N} bugs/issues
- {N} deferred investigations
{If auto-memory updated}
Auto-memory updated:
- {list of memory files created/updated}
{/If}
This context will be available in future sessions.
For the skill to be effective, the project's CLAUDE.md should include:
@LEARNINGS.md
This ensures future sessions load the learnings at startup. If CLAUDE.md exists but doesn't reference LEARNINGS.md, suggest adding it.
Include if:
Exclude if:
Convert relative dates: "next month" → "May 2026", "Thursday" → "2026-04-03"
| Situation | Action |
|-----------|--------|
| No substantive items found | Report "Nothing to capture — session was exploratory or all items are already documented" |
| LEARNINGS.md is very large (>200 lines) | Warn user, suggest archiving older entries to LEARNINGS_ARCHIVE.md |
| No auto-memory directory | Skip Step 5, note in output |
| User cancels | Stop gracefully, no writes |
testing
Audit project alignment with VISION.md, identify SDLC gaps, and generate feature proposals. Use when reviewing strategic direction or planning new features.
development
Run code-verification on a specific task. Use to verify a single task's acceptance criteria after implementation.
testing
Resolve Vercel preview deployment URL for the current git branch. Invoked by browser-verification when deployment.enabled is true, or directly to check deployment status. Use to check deployment status or when browser verification needs a URL.
tools
Discover and sync all toolkit-using projects with the latest skills. Use when skills are modified, after the post-commit hook reminds you, or to batch-sync multiple projects.