continuous-learning-v2

Captures Claude Code session activity via hooks and evolves observed patterns into reusable instincts, skills, and commands.

1|Updated Oct 11, 2025
One-click install
npx skills add https://github.com/ibytechaos/claude --skill continuous-learning-v2-ibytechaos
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: continuous-learning-v2
Source: https://github.com/ibytechaos/claude/tree/main/plugins/everything-claude-code/skills/continuous-learning-v2
Command: npx skills add https://github.com/ibytechaos/claude --skill continuous-learning-v2-ibytechaos

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Claude Code sessions contain valuable patterns—user corrections, error resolutions, repeated workflows—that are lost when the session ends. This Skill observes tool usage through deterministic hooks, distills recurring behaviors into atomic "instincts" with confidence scores, and evolves them into reusable skills, commands, and agents scoped per project or globally. ## Core Features & Use Cases - Hook-Based Observation: PreToolUse/PostToolUse hooks capture 100% of tool calls into project-scoped observations.jsonl files, with automatic secret scrubbing and file rotation. - Instinct Management CLI: The instinct-cli.py script provides status, import, export, evolve, promote, projects, and prune commands for managing learned behaviors with confidence scoring (0.3–0.9). - Project-Scoped Learning: Git remote URL hashing isolates instincts per project, preventing React patterns from leaking into Python projects, with promotion to global scope when patterns appear in 2+ projects. - Use Case: After repeatedly correcting Claude to use functional components in a React repo, the background observer creates a project-scoped instinct; when the same pattern appears in another project with high confidence, promote it globally so all future sessions apply it. ## Quick Start Enable the observation hooks in my Claude Code settings and show me the status of any instincts learned so far.

Frequently Asked Questions about continuous-learning-v2

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up automatic learning from Claude Code sessions?

Register the observe.sh script as PreToolUse and PostToolUse hooks in ~/.claude/settings.json, pointing to the skill's hooks directory. The hooks then write every tool call to a project-scoped observations.jsonl file under ~/.claude/homunculus/.

How do project-scoped instincts prevent cross-project contamination?

Each project gets a 12-character hash ID derived from its git remote URL, and instincts are stored under ~/.claude/homunculus/projects/<hash>/. React conventions stay in the React project while universal patterns like input validation are stored globally.

What commands are available for managing learned instincts?

The instinct-cli.py script supports status, import, export, evolve, promote, projects, and prune commands. These let you review confidence scores, cluster instincts into skills, share instinct files, and promote project patterns to global scope.

When does an instinct get promoted from project to global scope?

Promotion happens when the same instinct ID appears in two or more projects with average confidence of 0.8 or higher. Run the promote command manually or use the evolve command to see suggested promotion candidates.

Does the observation hook capture sensitive data like API keys?

The hook scrubs common secret patterns (api keys, tokens, passwords, authorization headers) from tool input and output before writing observations. Observations stay local on your machine, and only instinct patterns—not raw observations—can be exported.

Why does the background observer not run analysis on my machine?

The observer is disabled by default in config.json and requires observer.enabled set to true. It also skips cycles outside active hours, during cooldown periods, when the user is idle, or on Windows unless ECC_OBSERVER_ALLOW_WINDOWS is set.