home / skills / affaan-m / everything-claude-code / continuous-learning

continuous-learning skill

/skills/continuous-learning

This skill automatically extracts reusable patterns from Claude Code sessions and saves learned skills for faster future workflows.

npx playbooks add skill affaan-m/everything-claude-code --skill continuous-learning

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
3.6 KB
---
name: continuous-learning
description: Automatically extract reusable patterns from Claude Code sessions and save them as learned skills for future use.
---

# Continuous Learning Skill

Automatically evaluates Claude Code sessions on end to extract reusable patterns that can be saved as learned skills.

## When to Activate

- Setting up automatic pattern extraction from Claude Code sessions
- Configuring the Stop hook for session evaluation
- Reviewing or curating learned skills in `~/.claude/skills/learned/`
- Adjusting extraction thresholds or pattern categories
- Comparing v1 (this) vs v2 (instinct-based) approaches

## How It Works

This skill runs as a **Stop hook** at the end of each session:

1. **Session Evaluation**: Checks if session has enough messages (default: 10+)
2. **Pattern Detection**: Identifies extractable patterns from the session
3. **Skill Extraction**: Saves useful patterns to `~/.claude/skills/learned/`

## Configuration

Edit `config.json` to customize:

```json
{
  "min_session_length": 10,
  "extraction_threshold": "medium",
  "auto_approve": false,
  "learned_skills_path": "~/.claude/skills/learned/",
  "patterns_to_detect": [
    "error_resolution",
    "user_corrections",
    "workarounds",
    "debugging_techniques",
    "project_specific"
  ],
  "ignore_patterns": [
    "simple_typos",
    "one_time_fixes",
    "external_api_issues"
  ]
}
```

## Pattern Types

| Pattern | Description |
|---------|-------------|
| `error_resolution` | How specific errors were resolved |
| `user_corrections` | Patterns from user corrections |
| `workarounds` | Solutions to framework/library quirks |
| `debugging_techniques` | Effective debugging approaches |
| `project_specific` | Project-specific conventions |

## Hook Setup

Add to your `~/.claude/settings.json`:

```json
{
  "hooks": {
    "Stop": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "~/.claude/skills/continuous-learning/evaluate-session.sh"
      }]
    }]
  }
}
```

## Why Stop Hook?

- **Lightweight**: Runs once at session end
- **Non-blocking**: Doesn't add latency to every message
- **Complete context**: Has access to full session transcript

## Related

- [The Longform Guide](https://x.com/affaanmustafa/status/2014040193557471352) - Section on continuous learning
- `/learn` command - Manual pattern extraction mid-session

---

## Comparison Notes (Research: Jan 2025)

### vs Homunculus (github.com/humanplane/homunculus)

Homunculus v2 takes a more sophisticated approach:

| Feature | Our Approach | Homunculus v2 |
|---------|--------------|---------------|
| Observation | Stop hook (end of session) | PreToolUse/PostToolUse hooks (100% reliable) |
| Analysis | Main context | Background agent (Haiku) |
| Granularity | Full skills | Atomic "instincts" |
| Confidence | None | 0.3-0.9 weighted |
| Evolution | Direct to skill | Instincts → cluster → skill/command/agent |
| Sharing | None | Export/import instincts |

**Key insight from homunculus:**
> "v1 relied on skills to observe. Skills are probabilistic—they fire ~50-80% of the time. v2 uses hooks for observation (100% reliable) and instincts as the atomic unit of learned behavior."

### Potential v2 Enhancements

1. **Instinct-based learning** - Smaller, atomic behaviors with confidence scoring
2. **Background observer** - Haiku agent analyzing in parallel
3. **Confidence decay** - Instincts lose confidence if contradicted
4. **Domain tagging** - code-style, testing, git, debugging, etc.
5. **Evolution path** - Cluster related instincts into skills/commands

See: `/Users/affoon/Documents/tasks/12-continuous-learning-v2.md` for full spec.

Overview

This skill automatically inspects finished Claude Code sessions, extracts reusable conversational and problem-solving patterns, and saves them as learned skills for future reuse. It runs as a Stop hook so it evaluates complete transcripts without adding latency during a session. Configuration options let you tune sensitivity, filter out noise, and choose where learned skills are stored.

How this skill works

At session end the hook checks session length and quality against configurable thresholds, then scans the transcript to detect extractable pattern types such as error resolutions, user corrections, workarounds, and debugging techniques. Detected patterns that meet the extraction threshold are formatted and written to the learned-skills directory for later activation or review. You can enable auto-approve or require manual curation before a pattern becomes an active learned skill.

When to use it

  • Enable automated knowledge capture across many development sessions
  • Curate or review the contents of ~/.claude/skills/learned/
  • Tune extraction thresholds after noticing too many false positives or misses
  • Add the Stop hook to ensure analysis runs only once per session
  • Compare v1 rule-based extraction with future instinct-based approaches

Best practices

  • Set a conservative min_session_length (default 10) to avoid noisy short sessions
  • Use ignore_patterns to filter one-off fixes and external API issues
  • Start with extraction_threshold at medium and iterate based on precision/recall
  • Keep learned skills path under version control or backup for auditability
  • Review auto-extracted skills regularly and prune low-value items

Example use cases

  • Capture recurring error-resolution steps for a specific library so the agent suggests them automatically
  • Extract common user-correction patterns to make responses more robust to follow-up clarifications
  • Save debugging techniques observed across sessions and expose them as a quick-reference skill
  • Detect project-specific conventions and store them for reuse in future project sessions
  • Compare outcomes of v1 extraction vs a planned v2 instinct-based pipeline to measure improvement

FAQ

How do I prevent trivial or noisy patterns from being saved?

Adjust min_session_length, add entries to ignore_patterns, and raise extraction_threshold. Enable manual review (auto_approve=false) to curate outputs before they become active skills.

Where are learned skills stored and how do I manage them?

Learned patterns are saved to the configured learned_skills_path (default ~/.claude/skills/learned/). Manage them like any config files: review, edit metadata, version-control, or remove low-quality items.