continuous-learning — Claude skill: extract patterns from sessions
A stop-hook skill that reviews a session at its end and saves reusable patterns as learned skills. Useful for keeping fixes and user corrections around.
npx skills add affaan-m/ECC --skill continuous-learning -a claude-codeWhat continuous-learning does
The skill runs as a Stop hook, so it fires once when a session ends. It first checks whether the session has enough messages (10 by default), then looks for extractable patterns and writes them to ~/.claude/skills/learned/. Categories include error resolution, user corrections, workarounds for library quirks, debugging techniques and project-specific conventions.
Configuration lives in config.json: minimum session length, extraction threshold, auto-approve and the learned-skills path. The hook goes into ~/.claude/settings.json and calls ~/.claude/skills/continuous-learning/evaluate-session.sh. It stays light because it runs at the end rather than on every message.
One thing to know: this is v1, marked deprecated on 2026-04-28. The author asks you not to invoke it and to route continuous learning, session learning or pattern extraction to continuous-learning-v2, which observes through PreToolUse/PostToolUse and stores atomic instincts with confidence scoring instead of full skills. Install v1 only if you want the simpler Stop-hook flow or need compatibility with older learned-skill setups. New installs belong on v2.
What it helps with
- save a session's error fix as a learned skill
- capture user corrections as a reusable pattern
- record workarounds for library quirks
- wire up a Stop hook to evaluate sessions
- review and curate learned skills in
~/.claude/skills/learned/
Example prompts for the agent
- set up the continuous-learning Stop hook in ~/.claude/settings.json
- show me the patterns learned in ~/.claude/skills/learned/
- raise min_session_length in config.json
How to install continuous-learning
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill continuous-learning -a claude-code2Manually: put the files in place
~/.claude/skills/continuous-learning/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/continuous-learning/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill continuous-learning -a codex2Manually: put the files in place
.agents/skills/continuous-learning/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill continuous-learning -a cursor2Manually: put the files in place
.cursor/skills/continuous-learning/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install affaan-m/ECC continuous-learning2Manually: put the files in place
.github/skills/continuous-learning/SKILL.md1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill continuous-learning -a gemini-cli2Platform CLI
gemini skills install https://github.com/affaan-m/ECC --path skills/continuous-learningManually: put the files in place
.devin/skills/continuous-learning/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill continuous-learning -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set146
The whole set →Similar
Questions about continuous-learning
How do I install continuous-learning in Claude?
Run npx skills add affaan-m/ECC --skill continuous-learning -a claude-code. The skill file lands at ~/.claude/skills/continuous-learning/SKILL.md.
What does continuous-learning do?
At the end of a session it checks the session length, finds reusable patterns and saves them as learned skills in ~/.claude/skills/learned/.
How is v1 different from continuous-learning-v2?
v2 is a strict superset: PreToolUse/PostToolUse observation instead of a Stop hook, atomic instincts with confidence scoring, and project-scoped storage. v1 is kept for compatibility, and the author points new installs at v2.
Source text
SKILL.md · MIT
---
name: continuous-learning
description: "[DEPRECATED - use continuous-learning-v2] Legacy v1 stop-hook skill extractor. v2 is a strict superset with instinct-based, project-scoped, hook-reliable learning. Do not invoke v1: when continuous learning, session learning, or pattern extraction is requested, route to continuous-learning-v2 instead."
metadata:
origin: ECC
---
# Continuous Learning Skill - DEPRECATED
> **DEPRECATED 2026-04-28.** Use `continuous-learning-v2` instead. v2 is a strict superset: stop-hook observation becomes PreToolUse/PostToolUse observation, full skills become atomic instincts with confidence scoring, and global-only storage becomes project-scoped plus global promotion.
>
> This file is kept for archival reference and backward compatibility with existing installs.
---
## Original v1 Documentation (archival)
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
## Status
This v1 skill is still supported, but `continuous-learning-v2` is the preferred path for new installs. Keep v1 when you explicitly want the simpler Stop-hook extraction flow or need compatibility with older learned-skill workflows.
## 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
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: `docs/continuous-learning-v2-spec.md` for full spec.
© affaan-m · MIT · affaan-m/ECC