# Project Cornelius
**AI-powered second brain template for Claude Code + Obsidian**
Capture insights, discover connections, and synthesize knowledge - with AI assistance.
## What's New in v05.26
- **Incubation loop** - Autonomous iterative thinking engine; each run applies a rotating analytical move (ACH, Bayesian update, steelman, cross-domain bridge, implication check) and persists reasoning state across scheduled runs
- **Domain watch** - Autonomous perception layer that scans the KB for new notes matching configured domains, checks gap resonance, and probes external signals to auto-activate topics for the incubation loop
- **Insight interview** - KB-grounded Socratic dialogue; searches existing notes on a topic then runs a one-question-at-a-time session to surface and sharpen your thinking, saving results as permanent notes
- **YouTube transcript** - Extract transcripts from any YouTube video for processing into the knowledge base
- **deep-research Phase 4** - Optional insight interview step before connection discovery, capturing your personal angles alongside extracted research
- **45 skills** for insight capture, autonomous thinking, connection discovery, research, and content creation
v04.26 changes
- **Brain Dependency Graph (BDG)** - Directed, mode-aware dependency graph layered on Local Brain Search. Seven semantic layers (signal -> synthesis), staleness propagation, lifecycle tracking, and tension detection
- **Staleness propagation** - `/propagate-change` traces which downstream notes need review when a framework changes
- **Lifecycle scoring** - `/compute-lifecycle` detects reflective -> crystallizing -> generative transitions
- **Tension detection** - `/detect-tensions` finds productive contradictions (high similarity + opposing conclusions)
- **Coherence sweeps** - `/coherence-sweep` runs full structural health analysis with staleness and lifecycle reports
- **Brain merge** - `/brain-merge` compares and selectively merges Brain directories across agent instances
- **Explanatory images** - `/create-explanatory-image` generates AI diagrams via Nano Banana (Gemini 2.5 Flash)
- **LBS daemon** - Background search daemon for persistent vector search
- **36 skills** for insight capture, connection discovery, research, and content creation
- **10 specialized sub-agents** for different knowledge tasks
v03.26 changes
- **SYNAPSE-inspired memory** - Spreading activation search with intent classification and usage-based learning
- **Dialectic engine** - Two sub-agents argue committed positions while orchestrator synthesizes
- **Autonomous research** - `/learn-new-things` runs full research cycles with git branching
- **Insight graduation** - `/graduate-insights` promotes draft notes to permanent status with Zettelkasten criteria
- **Q-value learning** - Search rankings improve over time based on actual usage patterns
- **Trinity-compatible** - Can be deployed to the Trinity agent orchestration platform
---
## TL;DR
**Project Cornelius** = Claude Code + Custom Agents + Obsidian + FAISS Vector Search
It's like having a highly specialized AI research assistant that:
- **Finds hidden connections** in your notes you didn't know existed
- **Writes articles** from your accumulated insights
- **Captures unique thoughts** while preserving your voice
- **Discovers patterns** across different domains of knowledge
- **Learns from you** - search rankings improve based on your actual usage
- **Researches autonomously** - can run research cycles and expand your knowledge base
- **Thinks while you sleep** - runs scheduled reasoning loops on open questions via [Trinity](https://github.com/Abilityai/trinity)
- **Evolves with you** through Git-tracked configurations
---
## What is Project Cornelius?
Project Cornelius is a **multi-layered knowledge management system** that creates an intelligent bridge between your thinking and AI assistance. It's an agent-within-an-agent architecture that transforms Claude Code into a specialized second brain operator.
### The Layer Cake Architecture
```
┌─────────────────────────────────────────┐
│ Human (You) │
├─────────────────────────────────────────┤
│ Claude Code │ ← General AI assistant
├─────────────────────────────────────────┤
│ Project Cornelius Agent │ ← Specialized for knowledge work
│ (Defined by CLAUDE.md) │
├─────────────────────────────────────────┤
│ Specialized Sub-Agents │ ← Task-specific capabilities
│ (vault-manager, connection-finder...) │
├─────────────────────────────────────────┤
│ Brain Dependency Graph (BDG) │ ← Directed graph with staleness,
│ (7 semantic layers, lifecycle) │ lifecycle, and tension tracking
├─────────────────────────────────────────┤
│ Local Brain Search (FAISS) │ ← Vector search + memory engine
├─────────────────────────────────────────┤
│ Your Knowledge Base │ ← Your actual "brain"
│ (Obsidian Vault/Brain) │
└─────────────────────────────────────────┘
```
### Key Features
**Insight Capture**
- Extract unique insights from books, articles, and conversations
- Preserve your authentic voice and reasoning patterns
- Distinguish between your original thinking and borrowed ideas
**Connection Discovery**
- Find non-obvious relationships between notes
- Identify consilience zones where multiple domains converge
- Surface cross-domain bridges and synthesis opportunities
**Content Generation**
- Synthesize notes into articles and frameworks
- Generate talking points and outlines
- Create content from your accumulated knowledge
**SYNAPSE-Inspired Memory Search**
- FAISS-powered semantic search (fast, local, no API calls)
- Intent-aware query classification (factual/conceptual/synthesis/temporal)
- Spreading activation with lateral inhibition
- Usage-based Q-value learning - rankings improve with use
- Graph analytics: hubs, bridges, centrality
- Explicit (wiki-links) and semantic edge distinction
---
## Quick Start
```bash
# 1. Clone this repository
git clone https://github.com/Abilityai/cornelius.git
cd cornelius
# 2. Configure your vault path
cp .claude/settings.md.template .claude/settings.md
# Edit .claude/settings.md and set your vault path:
# VAULT_BASE_PATH=./Brain (or absolute path to your vault)
# 3. Set up Local Brain Search
cd resources/local-brain-search
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
# 4. Index your vault
./run_index.sh
# 5. Start Claude Code
cd ../..
claude
```
**Detailed guides:**
- [QUICKSTART.md](QUICKSTART.md) - 5-minute setup
- [INSTALL.md](INSTALL.md) - Detailed installation
- [MCP-SETUP.md](MCP-SETUP.md) - MCP server configuration (optional)
---
## Recommended: Deploy to Trinity for Autonomous Operation
Running locally is fine for development. For persistent autonomous operation - scheduled research, incubation loops, domain watching, and agent collaboration - deploy Cornelius to **[Trinity](https://github.com/Abilityai/trinity)**.
Trinity is an open-source platform for self-hosting autonomous agent fleets. Each agent runs in an isolated Docker container with cron scheduling, real-time monitoring, and agent-to-agent delegation.
**Fastest path:** Use the `trinity` plugin from the [Abilities marketplace](https://github.com/Abilityai/abilities):
```bash
# Install the plugin
claude plugin add abilityai/abilities
# Then from inside Cornelius:
/trinity:connect # one-time auth
/trinity:onboard # deploy
```
**Documentation:** [docs.ability.ai](https://docs.ability.ai)
### Abilities Plugin Marketplace
The [Abilities marketplace](https://github.com/Abilityai/abilities) provides Claude Code plugins for the full agent lifecycle:
| Plugin | What it does |
|--------|-------------|
| `create-agent` | Scaffold new agents from domain-specific wizards |
| `agent-dev` | Extend agents with skills, memory systems, and backlogs |
| `trinity` | Deploy and sync agents to Trinity |
| `dev-methodology` | Documentation-driven development framework |
| `utilities` | Ops tools - incident investigation, deployment rollback |
Install all at once: `/plugin marketplace add abilityai/abilities`
Docs: [docs.ability.ai/cloud-code-plugins](https://docs.ability.ai/cloud-code-plugins)
---
## What's Included
### Sub-Agents (`.claude/agents/`)
| Agent | Purpose |
|-------|---------|
| `vault-manager` | Create, read, update, delete notes with proper metadata |
| `connection-finder` | Find hidden relationships between notes (user-directed) |
| `auto-discovery` | Autonomous cross-domain connection hunter |
| `insight-extractor` | Extract insights from YOUR content (conversations, transcripts) |
| `document-insight-extractor` | Extract insights from EXTERNAL content (papers, books) |
| `thinking-partner` | Brainstorming and ideation support |
| `diagram-generator` | Create Mermaid visualizations |
| `local-brain-search` | FAISS-powered semantic search and graph analytics |
| `research-specialist` | Deep research with web search |
| `epub-chapter-extractor` | Extract content from ebooks |
### Skills (`.claude/skills/`)
**Search & Discovery**
| Skill | Command | Purpose |
|-------|---------|---------|
| `recall` | `/recall ` | 3-layer semantic search with spreading activation |
| `search-vault` | `/search-vault ` | Quick semantic + keyword search |
| `find-connections` | `/find-connections ` | Map conceptual network |
| `auto-discovery` | `/auto-discovery` | Run cross-domain connection discovery |
| `detect-tensions` | `/detect-tensions` | Find productive contradictions between notes |
**Insight Management**
| Skill | Command | Purpose |
|-------|---------|---------|
| `extract-insights` | `/extract-insights ` | Extract insights from YOUR content |
| `extract-document-insights` | `/extract-document-insights ` | Extract insights from external documents |
| `graduate-insights` | `/graduate-insights` | Promote notes to permanent status |
| `integrate-recent-notes` | `/integrate-recent-notes` | Connect recent notes to knowledge base |
| `insight-interview` | `/insight-interview ` | KB-grounded Socratic dialogue to surface and sharpen your thinking |
**Content & Synthesis**
| Skill | Command | Purpose |
|-------|---------|---------|
| `create-article` | `/create-article ` | Write article from notes |
| `get-perspective-on` | `/get-perspective-on ` | Extract unique perspective |
| `synthesize-insights` | `/synthesize-insights` | Combine insights into narrative |
| `dialectic` | `/dialectic ` | Stress-test ideas with opposing positions |
| `create-explanatory-image` | `/create-explanatory-image` | Generate AI diagrams via Nano Banana |
**Research & Learning**
| Skill | Command | Purpose |
|-------|---------|---------|
| `deep-research` | `/deep-research ` | Autonomous research pipeline |
| `learn-new-things` | `/learn-new-things [topic]` | Full research cycle with git branching |
| `get-youtube-transcript` | `/get-youtube-transcript ` | Extract transcript from YouTube video |
**System & Maintenance**
| Skill | Command | Purpose |
|-------|---------|---------|
| `analyze-kb` | `/analyze-kb` | Generate structure report |
| `refresh-index` | `/refresh-index` | Rebuild FAISS index |
| `self-diagnostic` | `/self-diagnostic` | Health check |
| `git-commit-push` | `/git-commit-push` | Stage, commit, push with approval gate |
| `talk` | `/talk` | Conversational partner mode |
| `update-changelog` | `/update-changelog` | Update master CHANGELOG.md |
| `benchmark-memory` | `/benchmark-memory` | Benchmark search system |
| `test-memory-system` | `/test-memory-system` | Test memory improvements |
| `scheduled-run` | `/scheduled-run ` | Wrapper for cron automation |
| `update-dashboard` | `/update-dashboard` | Update Trinity dashboard metrics |
**Autonomous Thinking**
| Skill | Command | Purpose |
|-------|---------|---------|
| `incubation-loop` | `/incubation-loop` | Iterative thinking engine - applies rotating analytical moves to active topics |
| `manage-thinking-topics` | `/manage-thinking-topics` | Seed, review, crystallize, and retire thinking loop topics |
| `domain-watch` | `/domain-watch` | Autonomous KB scanning - detects new signals and activates thinking topics |
| `manage-watching-domains` | `/manage-watching-domains` | Configure domain-watch surveillance and review proposals |
**Brain Dependency Graph**
| Skill | Command | Purpose |
|-------|---------|---------|
| `coherence-sweep` | `/coherence-sweep` | Full BDG health analysis - staleness, lifecycle, structure |
| `propagate-change` | `/propagate-change ` | Trace which notes need review after a change |
| `compute-lifecycle` | `/compute-lifecycle` | Detect reflective -> crystallizing -> generative transitions |
| `detect-tensions` | `/detect-tensions` | Find productive contradictions for synthesis |
| `brain-merge` | `/brain-merge` | Compare and merge Brain directories across instances |
### Sample Vault (`Brain/`)
Complete Zettelkasten structure with templates:
```
Brain/
├── 00-Inbox/ # Quick capture, unprocessed notes
├── 01-Sources/ # Literature notes, references
├── 02-Permanent/ # Atomic, evergreen notes (CORE)
├── 03-MOCs/ # Maps of Content
├── 04-Output/ # Articles, frameworks, insights
│ └── Articles/ # Each article in own folder
├── 05-Meta/ # System notes, changelogs
├── AI Extracted Notes/ # AI-extracted from YOUR content
└── Document Insights/ # AI-extracted from external content
```
### Local Brain Search (`resources/local-brain-search/`)
FAISS-powered vector search with SYNAPSE-inspired memory architecture:
```bash
# Semantic search (static mode - fast)
./run_search.sh "dopamine motivation" --limit 10 --json
# Spreading activation search (better for synthesis queries)
./run_search.sh "how does dopamine relate to decision making" --mode spreading --json
# Find connections
./run_connections.sh "Note Name" --json
# Graph analytics
./run_connections.sh --hubs --json # Most connected notes
./run_connections.sh --bridges --json # Cross-domain connectors
./run_connections.sh --stats --json # Graph statistics
# Learning system status
./run_learning.sh status # Q-value stats
./run_learning.sh top # Top notes by learned relevance
# Re-index after changes
./run_index.sh
```
**Memory Architecture:**
- **Intent Classification** - Routes queries as factual/conceptual/synthesis/temporal
- **Spreading Activation** - Propagates relevance through graph with lateral inhibition
- **Usage-Based Learning** - Q-values adjust rankings based on what you actually use
- **Configuration** - Single source of truth in `memory_config.py`
### Brain Dependency Graph (`resources/brain-graph/`)
A directed, mode-aware dependency graph layered on top of Local Brain Search. Every relationship has **direction** (who's authoritative), **mode** (generative vs reflective), and **type** (derives-from, instantiates, references, associates, tension, supersedes).
**Seven Semantic Layers:** signal (1) -> impression (2) -> insight (3) -> framework (4) -> lens (5) -> synthesis (6) -> index (7)
```bash
# Bootstrap the graph from your vault
./run_brain_graph.sh bootstrap
# Check graph status
./run_brain_graph.sh status --json
# Inspect a specific note's dependencies
./run_brain_graph.sh inspect "Note Name" --json
# Propagate staleness from a changed note
./run_brain_graph.sh propagate "Note Name" --json
# Compute lifecycle scores (reflective -> crystallizing -> generative)
./run_brain_graph.sh lifecycle --json
# Find productive contradictions
./run_brain_graph.sh tensions --json
# Full coherence report
./run_brain_graph.sh coherence --days 7 --tensions --json
```
**Key Behaviors:**
- When a framework note changes, staleness propagates downstream with attenuation
- Notes transition from reflective -> crystallizing -> generative based on citation patterns
- Productive contradictions (tension edges) are immune to staleness - surfaced as synthesis opportunities
- Authority is edge-local, not node-global
**Architecture details:** See `resources/brain-graph/BRAIN-DEPENDENCY-GRAPH-ARCHITECTURE.md`
---
## Documentation
| File | Purpose |
|------|---------|
| [QUICKSTART.md](QUICKSTART.md) | 5-minute setup |
| [INSTALL.md](INSTALL.md) | Detailed installation & troubleshooting |
| [EXAMPLES.md](EXAMPLES.md) | Sample notes, MOCs, workflows |
| [FOLDER-STRUCTURE.md](FOLDER-STRUCTURE.md) | Vault organization guide |
| [MCP-SETUP.md](MCP-SETUP.md) | MCP server configuration |
| [Brain/README.md](Brain/README.md) | Sample vault guide |
---
## Use Cases
**Capture**: Extract insights from books and articles while reading
**Connect**: Find non-obvious relationships between ideas from different domains
**Create**: Synthesize notes into articles, frameworks, and presentations
**Discover**: Let AI find patterns you didn't know existed
**Research**: Autonomous research cycles that expand your knowledge base
**Evolve**: Track how your thinking changes over time
---
## Core Principles
**Atomic notes** - One idea per note, well-linked
**Your words** - Not copy-paste from sources
**Rich links** - Connect everything with `[[wiki-links]]`
**Regular discovery** - Run connection finder and auto-discovery
**Active synthesis** - Create content from your connections
---
## Requirements
- [Claude Code](https://claude.ai/claude-code) (CLI)
- [Obsidian](https://obsidian.md/) (for viewing/editing vault)
- Python 3.10+ (for Local Brain Search)
- Node.js 18+ (optional, for MCP servers)
---
## Architecture Overview
```mermaid
graph TB
subgraph "User Space"
User[User]
end
subgraph "Claude Code Layer"
CC[Claude Code IDE]
CLAUDE[CLAUDE.md System Prompt]
end
subgraph "Project Cornelius"
CONFIG[.claude Config]
AGENTS[Sub-Agents]
SKILLS[Skills]
SEARCH[Local Brain Search]
end
subgraph "Memory Engine"
INTENT[Intent Classifier]
SPREAD[Spreading Activation]
LEARN[Q-Value Learning]
end
subgraph "Dependency Graph"
BDG[Brain Dependency Graph]
LIFE[Lifecycle Scoring]
TENSION[Tension Detection]
STALE[Staleness Propagation]
end
subgraph "Knowledge Layer"
BRAIN[Brain / Obsidian Vault]
FAISS[FAISS Index]
GRAPH[Knowledge Graph]
end
User --> CC
CC --> CLAUDE
CLAUDE --> CONFIG
CONFIG --> AGENTS
CONFIG --> SKILLS
AGENTS --> SEARCH
SKILLS --> SEARCH
SEARCH --> INTENT
INTENT --> SPREAD
SPREAD --> FAISS
SPREAD --> GRAPH
LEARN --> SPREAD
SKILLS --> BDG
BDG --> LIFE
BDG --> TENSION
BDG --> STALE
BDG --> GRAPH
FAISS --> BRAIN
GRAPH --> BRAIN
style BRAIN fill:#e1f5e1
style FAISS fill:#ffd700
style SPREAD fill:#e6e6fa
style BDG fill:#ffe0b2
```
---
## Version History
| Version | Changes |
|---------|---------|
| v05.26 | Incubation loop, domain watch, insight interview, YouTube transcript, deep-research Phase 4, 45 skills |
| v04.26 | Brain Dependency Graph, staleness propagation, lifecycle scoring, tension detection, coherence sweeps, brain merge, explanatory images, LBS daemon, 36 skills |
| v03.26 | SYNAPSE memory, dialectic engine, autonomous research, insight graduation, 30 skills |
| v02.25 | Skills architecture, FAISS search, remove Smart Connections |
| v01.25 | Initial release with commands, Smart Connections, basic search |
---
## License
MIT - Use, modify, distribute freely. See [LICENSE](LICENSE).
---
## Contributing
Contributions welcome! Please read the existing code style and structure before submitting PRs.
---
**Questions?** Check the docs above or start with [QUICKSTART.md](QUICKSTART.md)