skills/continuous-learning-v3/SKILL.md
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents. v3.0 adds project-scoped instincts to prevent cross-project contamination.
npx skillsauth add ericmjl/skills continuous-learning-v3Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
An agent-agnostic learning system that observes your AI coding sessions and creates reusable knowledge through atomic "instincts" — small learned behaviors with confidence scoring.
When this skill is first loaded, automatically perform these steps:
# Check for the OpenCode plugin
ls ~/.config/opencode/plugins/continuous-learning.js
If the plugin file does not exist:
cp <skill-directory>/plugins/continuous-learning.js \
~/.config/opencode/plugins/continuous-learning.js
touch ~/.config/opencode/skill/continuous-learning-v3/.installed
mkdir -p ~/.agent-learning/instincts/personal
mkdir -p ~/.agent-learning/instincts/inherited
mkdir -p ~/.agent-learning/evolved/skills
mkdir -p ~/.agent-learning/evolved/commands
mkdir -p ~/.agent-learning/evolved/agents
mkdir -p ~/.agent-learning/projects
After installing the plugin, tell the user:
✅ Continuous Learning plugin installed!
Please restart OpenCode to activate automatic learning.
After restart, all tool executions will be observed and patterns will be learned automatically.
To check learning status:
uv run ~/.config/opencode/skill/continuous-learning-v3/scripts/instinct-cli.py status
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"
scope: project
project_id: "a1b2c3d4e5f6"
project_name: "my-react-app"
agent: "opencode"
---
# Prefer Functional Style
## Action
Use functional patterns over classes when appropriate.
## Evidence
- Observed 5 instances of functional pattern preference
- User corrected class-based approach on 2025-01-15
Properties:
project (default) or globalUse the CLI to manage instincts:
# Show all instincts (project + global)
uv run <skill-dir>/scripts/instinct-cli.py status
# Cluster related instincts into skills/commands
uv run <skill-dir>/scripts/instinct-cli.py evolve
# Export instincts
uv run <skill-dir>/scripts/instinct-cli.py export -o my-instincts.yaml
# Import instincts
uv run <skill-dir>/scripts/instinct-cli.py import my-instincts.yaml
# Promote project instincts to global
uv run <skill-dir>/scripts/instinct-cli.py promote
# List known projects
uv run <skill-dir>/scripts/instinct-cli.py projects
# Migrate from v2.x
uv run <skill-dir>/scripts/instinct-cli.py migrate --from ~/.claude/homunculus
~/.agent-learning/
+-- config.yaml # Configuration
+-- projects.json # Registry: project hash -> name/path/remote
+-- observations.jsonl # Global observations (fallback)
+-- instincts/
| +-- personal/ # Global auto-learned instincts
| +-- inherited/ # Global imported instincts
+-- evolved/
| +-- agents/ # Global generated agents
| +-- skills/ # Global generated skills
| +-- commands/ # Global generated commands
+-- projects/
+-- a1b2c3d4e5f6/ # Project hash (from git remote URL)
| +-- project.json # Per-project metadata
| +-- observations.jsonl
| +-- instincts/
| | +-- personal/ # Project-specific auto-learned
| | +-- inherited/ # Project-specific imported
| +-- evolved/
| +-- skills/
| +-- commands/
| +-- agents/
+-- ... # Other projects
| Pattern Type | Scope | Examples |
|-------------|-------|---------|
| Language/framework conventions | project | "Use React hooks", "Follow Django REST patterns" |
| File structure preferences | project | "Tests in __tests__/" |
| Code style | project | "Use functional style", "Prefer dataclasses" |
| Security practices | global | "Validate user input", "Sanitize SQL" |
| General best practices | global | "Write tests first", "Always handle errors" |
| Tool workflow preferences | global | "Grep before Edit", "Read before Write" |
| Git practices | global | "Conventional commits", "Small focused commits" |
| Score | Meaning | Behavior | |-------|---------|----------| | 0.3 | Tentative | Suggested but not enforced | | 0.5 | Moderate | Applied when relevant | | 0.7 | Strong | Auto-approved for application | | 0.9 | Near-certain | Core behavior |
| Variable | Default | Description |
|----------|---------|-------------|
| AGENT_LEARNING_HOME | ~/.agent-learning | Base directory for all data |
| AGENT_PROJECT_DIR | (auto-detected) | Override project detection |
| AGENT_LEARNING_DISABLED | (unset) | Set to 1 to disable observation |
ls ~/.config/opencode/plugins/continuous-learning.jsAGENT_LEARNING_DISABLED is not setgit remote get-url origincat ~/.agent-learning/projects/*/observations.jsonlrm -rf ~/.agent-learning
rm ~/.config/opencode/plugins/continuous-learning.js
rm ~/.config/opencode/skill/continuous-learning-v3/.installed
# Then reload this skill to re-run setup
This skill is a generalized, agent-agnostic fork of continuous-learning-v2 from the everything-claude-code repository.
development
Create animated videos using Remotion from topics, product URLs, Google reviews, talking-head videos, or CSV data. Supports 5 video types: educational explainers, product launch demos, testimonial/social proof, avatar video overlays, and data visualization dashboards. Each follows a 2-step workflow: research/scrape/analyze then design and animate with spring animations, SVG diagrams, and count-up effects. Requires the Remotion best practices skill (install with `npx skills add remotion-dev/skills`). Use when the user asks to create a Remotion video, explainer video, educational video, product demo video, testimonial video, video with animated overlays, data visualization video, animated dashboard, or short-form vertical video for mobile.
development
Comprehensive YouTube operations using yt-dlp - download videos/audio, extract transcripts and subtitles, get metadata, work with playlists, download thumbnails, and inspect available formats. Use this for any YouTube content processing task.
data-ai
Ingest YouTube videos into the vault. Triggers when user pastes a YouTube URL (youtube.com/watch or youtu.be). Fetches transcript using yt-dlp, extracts metadata, creates transcript note and summary note. User may provide additional context about the video.
tools
Advanced negotiation and communication advisor grounded in Chris Voss's tactical empathy methodology (Never Split the Difference, The Black Swan Group). Use this skill whenever the user needs help with any interpersonal situation involving influence, persuasion, or navigating difficult dynamics. This includes but is not limited to: analyzing conversations, call transcripts, or email threads; preparing for negotiations (salary, vendor, client, partner); drafting tactful responses; handling pushback, objections, or conflict; navigating difficult workplace conversations; preparing for performance reviews or raises; buying a car, house, or any big purchase; dealing with landlords, contractors, or service providers; resolving personal disagreements; practicing negotiation through role-play; or any situation where the user says things like "how should I respond to this", "they're pushing back", "I need to have a tough conversation", "how do I ask for...", "they ghosted me", "I'm not sure how to handle this person", "counter-offer", "pricing", "deal", "objection", or "difficult conversation". Activate broadly — most interpersonal communication benefits from tactical empathy whether or not the user frames it as "negotiation." This skill integrates FBI hostage negotiation techniques (93% success rate) with behavioral economics (Kahneman's Prospect Theory) and neuroscience (amygdala hijacking, loss aversion).