--- 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. ## 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