mcpField
C
continuous-learning-v2

continuous-learning-v2

github.com/joneqianAgent workflows3251 installsUpdated 37w ago
Repository

About continuous-learning-v2

A Claude Code skill that learns reusable behaviors from sessions as confidence-scored, atomic instincts. It uses tool-use hooks for observation and can group learned patterns into skills, commands, or agents.

Key features

  1. 01Capture prompts and tool activity with hooks
  2. 02Analyze observations in a background agent
  3. 03Store atomic instincts with confidence scores
  4. 04Group instincts into skills, commands, or agents
  5. 05Export and import instincts

Use cases

  1. 01Record coding and workflow patterns across sessions
  2. 02Review learned instincts and their confidence
  3. 03Turn related learned behaviors into reusable assets
  4. 04Share selected instincts without exporting observations

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/joneqian/claude-skills-suite --skill continuous-learning-v2

After installing, type/continuous-learning-v2in Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

config.json
agents/
observer.md
start-observer.sh
commands/
evolve.md
instinct-export.md
instinct-import.md
instinct-status.md
hooks/
observe.sh
scripts/
instinct-cli.py

Details

From the project README

Continuous Learning v2 - Instinct-Based Architecture

An advanced learning system that turns your Claude Code sessions into reusable knowledge through atomic "instincts" - small learned behaviors with confidence scoring.

What's New in v2

Featurev1v2
ObservationStop hook (session end)PreToolUse/PostToolUse (100% reliable)
AnalysisMain contextBackground agent (Haiku)
GranularityFull skillsAtomic "instincts"
ConfidenceNone0.3-0.9 weighted
EvolutionDirect to skillInstincts → cluster → skill/command/agent
SharingNoneExport/import instincts

The Instinct Model

An instinct is a small learned behavior:

---
id: prefer-functional-style
trigger: "when writing new functions"
confidence: 0.7
domain: "code-style"
source: "session-observation"
---

# Prefer Functional Style

## Action
Use functional patterns over classes when appropriate.

## Evidence
- Observed 5 instances of functional pattern preference
- User corrected class-based approach to functional on 2025-01-15

Properties:

  • Atomic — one trigger, one action
  • Confidence-weighted — 0.3 = tentative, 0.9 = near certain
  • Domain-tagged — code-style, testing, git, debugging, workflow, etc.
  • Evidence-backed — tracks what observations created it

How It Works

Session Activity
      │
      │ Hooks capture prompts + tool use (100% reliable)
      ▼
┌─────────────────────────────────────────┐
│         observations.jsonl              │
│   (prompts, tool calls, outcomes)       │
└─────────────────────────────────────────┘
      │
      │ Observer agent reads (background, Haiku)
      ▼
┌─────────────────────────────────────────┐
│          PATTERN DETECTION              │
│   • User corrections → instinct         │
│   • Error resolutions → instinct        │
│   • Repeated workflows → instinct       │
└─────────────────────────────────────────┘
      │
      │ Creates/updates
      ▼
┌─────────────────────────────────────────┐
│         instincts/personal/             │
│   • prefer-functional.md (0.7)          │
│   • always-test-first.md (0.9)          │
│   • use-zod-validation.md (0.6)         │
└─────────────────────────────────────────┘
      │
      │ /evolve clusters
      ▼
┌─────────────────────────────────────────┐
│              evolved/                   │
│   • commands/new-feature.md             │
│   • skills/testing-workflow.md          │
│   • agents/refactor-specialist.md       │
└─────────────────────────────────────────┘

Quick Start

1. Enable Observation Hooks

Add to your ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh pre"
      }]
    }],
    "PostToolUse": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh post"
      }]
    }]
  }
}
2. Initialize Directory Structure
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands}}
touch ~/.claude/homunculus/observations.jsonl
3. Run the Observer Agent (Optional)

The observer can run in the background analyzing observations:

# Start background observer
~/.claude/skills/continuous-learning-v2/agents/start-observer.sh

Commands

CommandDescription
/instinct-statusShow all learned instincts with confidence
/evolveCluster related instincts into skills/commands
/instinct-exportExport instincts for sharing
/instinct-import <file>Import instincts from others

Configuration

Edit config.json:

{
  "version": "2.0",
  "observation": {
    "enabled": true,
    "store_path": "~/.claude/homunculus/observations.jsonl",
    "max_file_size_mb": 10,
    "archive_after_days": 7
  },
  "instincts": {
    "personal_path": "~/.claude/homunculus/instincts/personal/",
    "inherited_path": "~/.claude/homunculus/instincts/inherited/",
    "min_confidence": 0.3,
    "auto_approve_threshold": 0.7,
    "confidence_decay_rate": 0.05
  },
  "observer": {
    "enabled": true,
    "model": "haiku",
    "run_interval_minutes": 5,
    "patterns_to_detect": [
      "user_corrections",
      "error_resolutions",
      "repeated_workflows",
      "tool_preferences"
    ]
  },
  "evolution": {
    "cluster_threshold": 3,
    "evolved_path": "~/.claude/homunculus/evolved/"
  }
}

File Structure

~/.claude/homunculus/
├── identity.json           # Your profile, technical level
├── observations.jsonl      # Current session observations
├── observations.archive/   # Processed observations
├── instincts/
│   ├── personal/           # Auto-learned instincts
│   └── inherited/          # Imported from others
└── evolved/
    ├── agents/             # Generated specialist agents
    ├── skills/             # Generated skills
    └── commands/           # Generated commands

Integration with Skill Creator

When you use the Skill Creator GitHub App, it now generates both:

  • Traditional SKILL.md files (for backward compatibility)
  • Instinct collections (for v2 learning system)

Instincts from repo analysis have source: "repo-analysis" and include the source repository URL.

Confidence Scoring

Confidence evolves over time:

ScoreMeaningBehavior
0.3TentativeSuggested but not enforced
0.5ModerateApplied when relevant
0.7StrongAuto-approved for application
0.9Near-certainCore behavior

Confidence increases when:

  • Pattern is repeatedly observed
  • User doesn't correct the suggested behavior
  • Similar instincts from other sources agree

Confidence decreases when:

  • User explicitly corrects the behavior
  • Pattern isn't observed for extended periods
  • Contradicting evidence appears

Why Hooks vs Skills for Observation?

"v1 relied on skills to observe. Skills are probabilistic—they fire ~50-80% of the time based on Claude's judgment."

Hooks fire 100% of the time, deterministically. This means:

  • Every tool call is observed
  • No patterns are missed
  • Learning is comprehensive

Backward Compatibility

v2 is fully compatible with v1:

  • Existing ~/.claude/skills/learned/ skills still work
  • Stop hook still runs (but now also feeds into v2)
  • Gradual migration path: run both in parallel

Privacy

  • Observations stay local on your machine
  • Only instincts (patterns) can be exported
  • No actual code or conversation content is shared
  • You control what gets exported

Related


Instinct-based learning: teaching Claude your patterns, one observation at a time.

Comments

Markdown supported