Catalog
affaan-m/continuous-learning

affaan-m

continuous-learning

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

NewUpdated Sep 9, 2026

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:

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

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

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.

Files3
3 files · 3.8 KB

Select a file to preview

Overall Score

62/100

Grade

C

Adequate

Grades are signals, not a certification. Always review a skill yourself before use.

Safety

70

Quality

55

Clarity

75

Completeness

48

Summary

A deprecated v1 Stop-hook-based skill for automatically extracting reusable patterns from Claude Code sessions and saving them as learned skills. The skill evaluates session transcripts, detects patterns (error resolution, debugging techniques, workarounds), and persists extractable patterns to a local learned-skills directory. Marked for deprecation in favor of continuous-learning-v2, which uses more reliable PreToolUse/PostToolUse hooks and instinct-based learning with confidence scoring.

Detected Capabilities

session transcript readingJSON config parsingfile directory creationlocal file writes (skill definitions)pattern detection and extractionhook configuration

Trigger Keywords

Phrases that agents use to match this skill to user intent.

extract session patternscontinuous learning setuplearned skills configpattern detectionstop hooksession evaluation

Risk Signals

INFO

Deprecated skill with explicit routing instruction to v2

SKILL.md frontmatter and opening section
INFO

Local home directory writes (~/.claude/skills/learned/)

config.json and evaluate-session.sh
WARNING

Fallback to environment variable CLAUDE_TRANSCRIPT_PATH without validation

evaluate-session.sh line 39-41
INFO

jq command dependency without graceful degradation

evaluate-session.sh line 33-36

Referenced Domains

External domains referenced in skill content, detected by static analysis.

x.com

Use Cases

  • Set up automatic pattern extraction from Claude Code sessions
  • Configure Stop hook for end-of-session evaluation
  • Review or curate learned skills stored in ~/.claude/skills/learned/
  • Adjust extraction thresholds or pattern categories
  • Migrate from v1 to v2 continuous learning approach
  • Maintain backward compatibility with older learned-skill workflows

Quality Notes

  • Skill is clearly marked deprecated with explicit routing guidance to v2 — good archival practice
  • Config structure is well-defined and simple, with sensible defaults documented
  • Comparison table with Homunculus v2 provides useful context for understanding architectural improvements
  • Hook setup instructions are clear and include example JSON configuration
  • Pattern types and ignore lists are well-documented and actionable
  • Script includes helpful comments explaining why Stop hook was chosen over UserPromptSubmit
  • Missing: no error handling for malformed JSON in transcript or config files
  • Missing: no validation of learned_skills_path before write
  • Missing: example of what an extracted skill looks like
  • Script exits silently on missing transcript — unclear if this is intended
  • No documentation of how extracted skills are formatted or structured
Model: claude-haiku-4-5-20251001Analyzed: Sep 9, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Version History

  1. v3.0

    Contract changed: description

    ✦ AIClarifies v3.0 is deprecated in favor of continuous-learning-v2; rewrites routing instruction.

    triggering2026-09-09

    LATEST
  2. v2.0

    Contract changed: description

    ✦ AISkill marked DEPRECATED — routes to continuous-learning-v2 with expanded observation timing and project-scoped storage.

    triggering2026-07-14

    View This Version
  3. v1.2

    Content updated

    ✦ AIAdds LICENSE file.

    2026-04-20

    View This Version
  4. v1.1

    Content updated

    ✦ AIAdds deprecation status and v2 migration guidance to skill documentation.

    2026-04-12

    View This Version
  5. v1.0

    Seeded from github.com/affaan-m/everything-claude-code

    2026-03-16

    View This VersionInitial version

Use affaan-m/continuous-learning in your dev environment

Command Palette

Search for a command to run...