claudeers.

🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?

Claim this page →
// RAG & Knowledge

claude-soul

Operating Soul for AI coding agents that captures how to think, not just rules — principle-over-rule, 7 delegation levels (Tell→Delegate), a git-gated learni…

// RAG & Knowledge[ cli ][ mobile ][ claude ]#claude#ragMIT$open-sourceupdated 14 days ago
Actively maintained
99/100
last commit 7 days ago
last release none
releases 0
open issues 0
// install
git clone https://github.com/tomdwipo/claude-soul

claude-soul

A self-improving Operating Soul for AI coding agents — drop a toolkit into any project with one command and a .docs/ knowledge base that gets smarter every session through a built-in learning loop.

Built for Claude Code first, portable to any agent. The richest integration is Claude Code (a CLAUDE.md template + a .claude/ command/agent/skill toolkit + lifecycle hooks). But the core — the Operating Soul, the learning loop, and the harvest gate — is just plain AGENTS.md + .docs/ markdown

  • a git hook, so it works with Cursor, Gemini CLI, Kiro, Copilot, Windsurf, Cline, Aider too. Tool-specific features layer on top of a portable floor; nothing core is locked to one vendor. → Works with any AI agent.

What makes it different

Most "memory" tools for coding agents store rules — facts and conventions to recall. claude-soul also captures how to think, so each session the agent judges your intent better instead of just remembering more rules. Three pieces do that:

  • Principle over rule. If a test/build/lint can settle it, it's a rule (.docs/common-issues/). If it's judgment or taste, it's a principle (.docs/principles/). Corrections aren't forced into rigid rules, so the knowledge base doesn't overfit to one case.
  • 7 levels of delegation — Tell → Sell → Consult → Agree → Advise → Inquire → Delegate — measure how much interpretation you hand the agent. Default to Tell (the exact, explicit action); climb only once a consumer is proven reliable. (detail)
  • Learning loop. Every lesson is distilled (.docs/principles/how-to-learn.md), stored in git, and auto-recalled next session — so the more you use it, the sharper its judgment about your codebase.

Install

From inside the project you want to set up:

curl -fsSL https://raw.githubusercontent.com/tomdwipo/claude-soul/main/install.sh | bash

Prefer not to pipe to bash? Clone and run it (optionally pass a target dir):

git clone https://github.com/tomdwipo/claude-soul.git
./claude-soul/install.sh /path/to/your-project    # defaults to the current dir

Open the project in Claude Code — CLAUDE.md loads on the first message and the soul is active.

Works with any AI agent (Cursor, Gemini, Kiro, Copilot, Claude Code, …)

The Operating Soul is a plain AGENTS.md (the cross-tool convention) + a .docs/ knowledge base — nothing vendor-specific. One command auto-detects which agent(s) your repo uses, points each one's instruction file at AGENTS.md, and activates the git-native harvest gate:

bash install-agents.sh        # detect → wire → activate; idempotent, never clobbers existing files

Prefer to wire it by hand? Each agent just needs its instruction file to point at AGENTS.md:

AgentInstruction file it readsWire-up
Claude CodeCLAUDE.mdkeep CLAUDE.md, or ln -s AGENTS.md CLAUDE.md
Cursor.cursor/rules/*.mdca rule file (alwaysApply: true) that says "follow AGENTS.md"
Gemini CLIGEMINI.mdln -s AGENTS.md GEMINI.md
Kiro.kiro/steering/*.mda steering file that includes AGENTS.md
GitHub Copilot.github/copilot-instructions.mdpoint/include AGENTS.md
Windsurf.windsurf/rules/a rule pointing to AGENTS.md
Cline / Roo.clinerulesln -s AGENTS.md .clinerules
AiderCONVENTIONS.mdln -s AGENTS.md CONVENTIONS.md

The harvest gate is tool-agnostic. Claude Code gets a rich PreToolUse variant (injects the engine on block); every other tool — and a plain human at the terminal — is covered by hooks/pre-commit, which git runs regardless of who commits. Activate it (done for you by install-agents.sh):

git config core.hooksPath hooks         # or: cp hooks/pre-commit .git/hooks/ && chmod +x .git/hooks/pre-commit
SOUL_NO_LESSONS=1 git commit …          # conscious opt-out when a commit genuinely has no lesson

Why a git hook, not just an agent hook? A guardrail living in one tool's extension point vanishes the moment you work through another tool. Git is the layer every tool and every human shares — so the enforcement floor belongs there (see .docs/principles/ → "enforce at the most universal layer").

What lands in your project

AGENTS.md            ← tool-agnostic Operating Soul (canonical; works with ANY agent — see below)
CLAUDE.md            ← Operating Soul + learning loop (you fill in the "What this repo is" block)
install-agents.sh    ← auto-detect your AI agent(s) → wire AGENTS.md + activate the harvest gate
hooks/pre-commit     ← git-native harvest gate (tool-agnostic floor; works even without any AI tool)
.claude/
  ├─ commands/          ← slash commands (/learn, /plan-first, /search, /push-pr, …)
  ├─ agents/            ← specialized subagents
  ├─ skills/            ← symlinks into ↓
  ├─ settings.json      ← wires three hooks: SessionStart + UserPromptSubmit + PreToolUse
  ├─ session-context.sh ← SessionStart: injects principles + common-issues + c4 TOC + the how-to-learn engine
  ├─ lookup-reminder.sh ← UserPromptSubmit: per-turn lookup nudge + just-in-time how-to-learn on commit/learn intent
  ├─ learn-gate.sh      ← PreToolUse(Bash): blocks `git commit` until a learning is staged or a no-lessons marker is set
  └─ learn-hooks-eval.sh← repeatable eval for the two hooks above (run after changing them)
.agents/skills/      ← vendored skill sources (taste-skill, stop-slop, …)
.docs/
  ├─ principles/     ← how-to-think + the how-to-learn distillation engine
  ├─ common-issues/  ← deterministic gotchas
  └─ recent-updates/ ← dated learning log
skills-lock.json     ← pins the vendored skills

Safe to re-run

The installer merges, it does not stomp:

  • Shared toolkit (.claude/{commands,agents,skills}, .agents/) is refreshed wholesale — that's the engine.
  • .docs/ is seeded: missing baseline files are added, your own evolved docs are kept.
  • CLAUDE.md is never overwritten — if one exists, the template lands as CLAUDE.soul.md.
  • .claude/settings.local.json and .docs/flow/ are never touched.
  • .gitignore gets a one-time block that keeps the toolkit tracked while ignoring local/runtime/secret files.

The learning loop — why it gets smarter every session

        ┌───────────────────────── SESSION N ─────────────────────────┐
        │  correction / gotcha / "take lesson"                         │
        │       │                                                      │
        │       ▼  DISTIL  → .docs/principles/how-to-learn.md          │
        │       │   (identify → why → generalises? → write → place)    │
        │       ▼                                                      │
        │   judgment ─→ .docs/principles/   |   test-settled ─→ .docs/common-issues/
        │       │                                                      │
        │       ▼  GATE  → pre-commit refuses the commit until the     │
        │       │   lesson is written (or you consciously opt out)     │
        │       ▼                                                      │
        │   committed → knowledge base grows by ONE durable fact       │
        └───────────────────────────┬──────────────────────────────────┘
                                     │  git push — knowledge lives in version
                                     │  control, NOT in disposable chat context
        ┌────────────────────────────▼──────────────── SESSION N+1 ────┐
        │  RECALL → instruction file (+ session hook) loads .docs/      │
        │  into context: the agent ALREADY KNOWS lesson N before its    │
        │  first reply → doesn't re-discover → spends effort on a NEW   │
        │  gotcha → distils lesson N+1 ─────────────────────────────────┼──┐
        └───────────────────────────────────────────────────────────────┘  │
                       ▲                                                     │
                       └───────────────── the ratchet ──────────────────────┘
            every session starts from a strictly larger base than the last

Why this actually compounds (vs. just "notes in a folder"):

  1. Persistence beats memory — a chat context dies with the session; a lesson written to .docs/ in git survives sessions, machines, teammates, and tool switches.
  2. Recall is front-loaded, not hoped-for — next session the lesson is in context before the first reply; the agent can't "forget to check its notes."
  3. The gate stops silent loss — "I'll write it later" loses most lessons; the commit chokepoint forces the decision to be recorded.
  4. Signal stays signal — the principle-vs-rule split + the "generalises to 3+ cases?" gate keep the base from bloating into noise as it grows.

Net effect: nothing learned is lost, everything learned is auto-recalled → a monotonic ratchet. Each session can only start at least as smart as the last.


The learning loop (mechanics)

Capture — a correction or /learn runs .docs/principles/how-to-learn.md (identify → why → pattern → check → write → place → commit). Judgment calls become principles; build/test-settled facts become common-issues; a dated one-liner lands in recent-updates. Capture is now gate-enforced: learn-gate.sh (PreToolUse) blocks git commit until a learning is staged under .docs/{principles,common-issues} or a conscious per-session no-lessons marker is set — so the discipline can't silently lapse when you're busy.

Recall (automatic, at two points)session-context.sh (SessionStart) injects the principles index + common-issues catalog + architecture TOC + the full how-to-learn engine at the start of every session; and lookup-reminder.sh (UserPromptSubmit) re-injects how-to-learn fresh whenever a prompt signals commit/learn intent — front-loaded for awareness, re-injected just-in-time at the moment it fires, so the method lands at full attention even in a long session. Recall no longer depends on the agent remembering to scan — the prior lessons are simply there, and the workspace compounds instead of re-discovering. (Honesty: the hooks automate recall and now gate capture, but deciding whether a correction is a real, generalizable lesson is still judgment — the gate forces the decision to be recorded, it doesn't make it for you; and applying a lesson is judgment too. The hooks also remind that docs can drift, so verify against the live system, not the doc, for anything about real runtime state.)

Notes

  • Mobile/Android-specific commands, agents, and skills are included but flagged in CLAUDE.md; use them only inside that kind of project. The Jira/Confluence commands carry placeholder IDs (<your-space-id>, your-org.atlassian.net) — point them at your own Atlassian site before use.
  • Symlinks: the .claude/skills/* entries are git symlinks into .agents/skills/. macOS/Linux work out of the box; on Windows enable git config core.symlinks true.
  • No secrets, tokens, or organization-internal content are bundled.

License

MIT

// compatibility

Platformscli, mobile
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageShell

// faq

What is claude-soul?

Operating Soul for AI coding agents that captures how to think, not just rules — principle-over-rule, 7 delegation levels (Tell→Delegate), a git-gated learning loop. Built for Claude Code, portable to Cursor/Gemini/Kiro/Copilot via AGENTS.md. Smarter every session.. It is open-source on GitHub.

Is claude-soul free to use?

claude-soul is open-source under the MIT license, so it is free to use.

What category does claude-soul belong to?

claude-soul is listed under automation in the Claudeers registry of Claude-compatible tools.

0 views
24 stars
unclaimed
updated 14 days ago

// embed badge

claude-soul on Claudeers
[![Claudeers](https://claudeers.com/api/badge/claude-soul.svg)](https://claudeers.com/claude-soul)

// retro hit counter

claude-soul hit counter
[![Hits](https://claudeers.com/api/counter/claude-soul.svg)](https://claudeers.com/claude-soul)

// reviews

// guestbook

0/500

// related in RAG & Knowledge

🔓

✨ Light and Fast AI Assistant. Support: Web | iOS | MacOS | Android | Linux | Windows

// ragChatGPTNextWeb/TypeScript88,415MIT[ claude ]
🔓

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant contex…

// ragthedotmack/JavaScript86,462Apache-2.0[ claude ]
🔓

A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.

// raggsd-build/JavaScript64,711MIT[ claude ]
🔓

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.

// ragheadroomlabs-ai/Python56,255Apache-2.0[ claude ]
→ see how claude-soul connects across the ecosystem