--- name: continuous-learning description: Automatically extract reusable patterns from Cursor sessions and save them as learned skills for future use. --- # Continuous Learning Skill Automatically evaluates Cursor sessions on end to extract reusable patterns that can be saved as learned skills. ## How It Works This skill runs as a **sessionEnd 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 `.agents/skills/learned/` ## Configuration Edit `config.json` to customize: ```json { "min_session_length": 10, "extraction_threshold": "medium", "auto_approve": false, "learned_skills_path": ".agents/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 Already wired in `.cursor/hooks.json` as a `sessionEnd` command: ```json { "version": 1, "hooks": { "sessionEnd": [ { "command": "node .cursor/scripts/hooks/evaluate-session.js" } ] } } ``` ## 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