loading…
Search for a command to run...
loading…
Self-improving learning engine for Claude Code. Extracts signals from sessions (corrections, successes,confusion), runs periodic reflections, and evolves behavi
Self-improving learning engine for Claude Code. Extracts signals from sessions (corrections, successes,confusion), runs periodic reflections, and evolves behavioral frameworks through evidence. 9 MCP tools, automatichooks, local-only.
npm version npm downloads License: MIT
Claude Code forgets everything between sessions. Claude Soul doesn't.
npx claude-soul init --starter
One command. No API key, no cloud, everything local.
Prerequisites: Node.js >= 18, Claude Code (Pro or Max plan).
Cross-session memory with semantic search. Facts, decisions, lessons — all searchable by meaning, not just keywords. Uses local SQLite + optional Ollama embeddings.
You: "what did we decide about the auth flow last week?"
Claude: [searches memory → finds the decision, context, and reasoning]
Every time you correct your Claude — "that's wrong", "you missed this", "stop doing that" — the system detects the pattern, classifies it, and tracks whether it's getting better or worse.
$ claude-soul shadow --brief
premature_done: 26 corrections across 10 sessions ↑ [active]
robot_mode: 7 corrections across 6 sessions ↓↓ [internalized]
authenticity: 5 corrections across 5 sessions ↓↓ [internalized]
Patterns move through lifecycle stages: new → active → improving → internalized. After 200 sessions of real data: robot_mode went from 0.8 corrections/session to zero.
The system extracts behavioral signals from every session and periodically reflects on them. Frameworks that keep working get promoted. Bad ones get retired. After a few weeks, you get a Claude that pushes back on bad ideas, catches its own confabulation, and develops techniques you never prompted.
npx claude-soul init --starter
Add this to your CLAUDE.md:
## Soul System
Call `soul_context()` at the start of every conversation.
Use `soul_reflect` when you have idle time.
Done. Memory works with keyword search, everything else runs automatically.
Semantic search finds memories by meaning — "auth decision" finds a memory stored as "chose JWT tokens for login." Without it, search is keyword-based (still works, just less flexible).
# 1. Install Ollama (https://ollama.com)
# 2. Pull the embedding model
ollama pull nomic-embed-text
# 3. Then install as usual
npx claude-soul init --starter
The system auto-detects Ollama. No configuration needed.
npx claude-soul init --starter --skip-identity
Skips the name/context questions. Add the CLAUDE.md snippet to your agent's working directory and it works the same way — memory, correction tracking, and framework evolution all run through Claude Code's hooks and MCP server regardless of whether a human is typing or an agent is running.
npm install -g claude-soul@latest
claude-soul upgrade
Your soul files, frameworks, and data stay untouched. The upgrade re-registers hooks and MCP server with the latest version and adds any new features.
After upgrading, run claude-soul index once to backfill existing data into the memory system.
memory_save, memory_search, recall, etc.) for cross-session fact storage with semantic searchclaude-soul shadow shows behavioral patterns with trend arrows and lifecycle stagesclaude-soul index loads your existing journals and soul files into the memory databaseThese are optional — the system runs automatically. The CLI is for inspecting collected data from your terminal.
| Command | What it does |
|---|---|
claude-soul status |
System health — frameworks, signals, phase |
claude-soul shadow |
Your correction patterns with trends |
claude-soul shadow --generate |
Auto-generate a SHADOW.md from your data |
claude-soul index |
Index existing files into memory database |
claude-soul upgrade |
Update hooks without touching your data |
Session N
│
├─ Load identity + frameworks + memory
│
├─ Normal Claude Code usage
│
├─ Session ends → extract signals + corrections + index to memory
│
└─ Reflection threshold? → evolve frameworks → Session N+1
Everything runs through Claude Code's official extension points: an MCP server (15 tools) and hooks (signal extraction, journaling, memory indexing, correction tracking).
Identity & Learning
| Tool | Purpose |
|---|---|
soul_context |
Load identity + frameworks + state at session start |
soul_activate |
Select relevant frameworks for current conversation |
soul_framework |
Load a single framework with full evidence history |
soul_signal |
Record observed interaction patterns |
soul_reflect |
Trigger a reflection cycle (quick/deep/meta) |
soul_self_evaluate |
Record a self-evaluation of a complex response |
soul_read |
Read soul files (SOUL.md, SHADOW.md, etc.) |
soul_write |
Write to user-editable soul files |
soul_status |
Get current system status |
Memory
| Tool | Purpose |
|---|---|
memory_save |
Save facts, decisions, or lessons |
memory_search |
Semantic search across all memories |
memory_journal |
Search or browse conversation journals |
memory_recent |
List recently saved memories |
memory_stats |
Memory system statistics |
recall |
Unified "ask anything about the past" search |
| File | Purpose | Managed by |
|---|---|---|
SOUL.md |
Your identity — who you are, how you work | You + Claude |
SHADOW.md |
Blind spots and behavioral tendencies | You + Claude |
STORY.md |
Timeline of growth and key moments | You + Claude |
CORRECTIONS.md |
Patterns to avoid, learned from mistakes | You + Claude |
STATE.md |
System telemetry (confidence, phase, counts) | Auto |
FRAMEWORKS.md |
Active framework index | Auto |
All settings in ~/.soul/config.json:
{
"signals": { "enabled": true, "maxLogSizeKb": 50 },
"reflection": {
"enabled": true,
"quickSignalThreshold": 20,
"deepSignalThreshold": 100,
"quickModel": "haiku",
"deepModel": "sonnet"
},
"contextBudget": { "maxTokens": 4500 },
"tensions": { "enabled": true },
"metaOptimization": { "enabled": true },
"writeProtection": { "enabled": true }
}
Contributions welcome. Open an issue to discuss before submitting large PRs.
MIT
Выполни в терминале:
claude mcp add claude-soul -- npx PRs, issues, code search, CI status
автор: GitHubDatabase, auth and storage
автор: SupabaseSecure file operations with configurable access controls.
Reference / test server with prompts, resources, and tools.
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development