Methodologygeneric

continuous-learning

Automatically extract reusable patterns from Claude Code sessions and save them as learned skills for future use.

affaan-m/everything-claude-code
View source

Install

npx skills add https://github.com/affaan-m/everything-claude-code --skill continuous-learning

Use with your agent

ClaudeCursorOpenAIGemini

Install the continuous-learning skill, then use it as build context. Run: npx skills add https://github.com/affaan-m/everything-claude-code --skill continuous-learning. Then read the installed skill.md and follow its guidance to build or refactor my project.

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

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:

{
  "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

PatternDescription
error_resolutionHow specific errors were resolved
user_correctionsPatterns from user corrections
workaroundsSolutions to framework/library quirks
debugging_techniquesEffective debugging approaches
project_specificProject-specific conventions

Hook Setup

Add to your ~/.claude/settings.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 - 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:

FeatureOur ApproachHomunculus v2
ObservationStop hook (end of session)PreToolUse/PostToolUse hooks (100% reliable)
AnalysisMain contextBackground agent (Haiku)
GranularityFull skillsAtomic "instincts"
ConfidenceNone0.3-0.9 weighted
EvolutionDirect to skillInstincts → cluster → skill/command/agent
SharingNoneExport/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.