SQLite-based project knowledge tracker. Manages entities, relationships, tasks, threads, decisions, and events per project folder. Use /brain to query or update project_brain.db. Triggers on: 'brain', 'project knowledge', 'what do we know about', 'open tasks', 'recent decisions'.
npx skills add https://github.com/coco-research/coco --skill brain
A structured SQLite database (project_brain.db) that lives in each project folder, replacing flat markdown memory files with queryable, relational knowledge.
BRAIN="python3 ~/.claude/skills/brain/scripts/brain/brain_cli.py"
# Initialize in current project folder
$BRAIN init
# Create a project
$BRAIN add-project "My Project" --slug my-project --desc "Example project description"
# Add entities (upsert --- safe to run repeatedly)
$BRAIN add-entity my-project person "Alice Example" --external-id 2882
$BRAIN add-entity my-project team "Engineering" --external-id 33
$BRAIN add-entity my-project module "PlatformHub"
# Add relationships
$BRAIN add-rel 1 2 member_of
$BRAIN add-rel 1 3 administers
# Tasks
$BRAIN add-task my-project "Configure external reviewer access" --priority 1
$BRAIN update-task 1 --status in_progress
$BRAIN tasks my-project --status open
# Threads (group related work)
$BRAIN add-thread my-project "External User Access" --category request
$BRAIN link-thread 1 task 1
$BRAIN link-thread 1 decision 1
# Decisions
$BRAIN add-decision my-project 2026-04-08 "Use Stakeholder role for external users" \
--context "No license consumed, view-only" --decided-by You
# Events
$BRAIN add-event my-project 2026-04-08 call "Charlie Customer Call" \
--summary "Priorities deck shared" --participants "Alice,Bob,Charlie,You"
# CoCo context (session start)
$BRAIN context my-project
# Search across everything
$BRAIN context my-project --search "Morgan"
# Entity graph (show all connections)
$BRAIN graph 1
# Thread detail (show all linked items)
$BRAIN thread-detail 1
This is the most important command. When the user runs /brain:update, Claude MUST do a thorough review of the entire conversation and write everything learned to the brain DB. This is a forcing function --- do not skip anything.
New entities --- any person, team, role, system, or module mentioned for the first time
New relationships --- any connection between entities discovered (X owns Y, A reports to B, etc.)
New decisions --- anything that was decided, agreed, confirmed, or resolved
New events --- meetings, calls, emails read, milestones hit
New tasks --- action items, to-dos, next steps, follow-ups
Task updates --- tasks that changed status (done, blocked, in_progress)
Entity updates --- new info about existing entities (role change, new metadata)
BRAIN UPDATE SUMMARY
====================
New entities: 3 (Alice Chen, Bob Kumar, ...)
New decisions: 2 (Use Stakeholder role, Sandbox all-or-nothing)
New events: 1 (Charlie CSM call Apr 8)
New tasks: 4 (Get reviewer details, Get sandbox access, ...)
Task updates: 2 (task #3 -> blocked, task #5 -> blocked)
New relationships: 1 (Alice administers Platform)
Entity updates: 1 (Charlie Sohn: added CSM role metadata)
If the conversation has been long (>10 exchanges) and the user hasn't run /brain:update, gently suggest it:
> "We've covered a lot this session. Want me to run /brain:update to capture everything before we wrap?"
Do NOT auto-run it. Always wait for the user to invoke or confirm.
Each project folder gets its own project_brain.db:
MyProject/project_brain.db
E&C/project_brain.db
Optimize/project_brain.db
CoCo aggregates across all known DBs at session start.
The brain DB is the source of truth for all project knowledge. It syncs to two other stores:
| Store | Backend | What syncs | Why |
|-------|---------|-----------|-----|
| MemPalace | ChromaDB (~/.mempalace/palace) | Entities, decisions, events → drawers | Semantic search across projects |
| brain.json | JSON (~/.coco/brain.json) | Person entities → people section | CoCo people graph, attention rules |
Sync happens automatically at end of /brain-update, /brain-init, and /brain-rescan via brain.memory_bridge.full_sync().
Write path: Always write to brain DB first → sync propagates to other stores.
Read path: Use Memory Bus (memory_search) for cross-store federated queries, or brain CLI for structured queries.
11 tables: projects, entities, relationships, tasks, threads, thread_items, decisions, events, changelog, tags, taggables
Entity types: person, team, role, system, module, org_unit, document
Relationship types: member_of, owns, administers, reports_to, depends_on, blocks, scoped_to, created_by
Task statuses: open, in_progress, blocked, waiting, done, cancelled
Thread categories: feature, incident, request, decision, research
Event types: meeting, email, call, milestone, deploy
Expert database architect specializing in data layer design from scratch, technology selection, schema modeling, and scalable database architectures. Masters SQL/NoSQL/TimeSeries database selection, normalization strategies, migration planning, and performance-first design. Handles both greenfield architectures and re-architecture of existing systems. Use PROACTIVELY for database architecture, technology selection, or data modeling decisions.
>- Configures GKE Backup Plans and restore workflows. Use for backup policies, disaster recovery, or GKE cluster restores. Don't use for database backups.
Creates explicit validation checkpoints (verification gates) between project phases to catch errors early and ensure quality before proceeding. Use when the user asks about quality gates, milestone checks, phase transitions, approval steps, go/no-go decision points, or preventing cascading errors across a multi-step workflow. Produces acceptance criteria checklists, automated CI gate configurations, manual sign-off requirements, and conditional review rules for scenarios such as security changes, API changes, or database migrations.
Unified CloudBase execution guide for all-in-one skill installs. Use this first for CloudBase app tasks, especially existing apps with TODOs, fixed pages, or active handlers. Routes PostgreSQL / CloudBase PG / app.rdb() / queryPgDatabase / managePgDatabase work away from legacy NoSQL and old auth patterns.
Implement, review, or improve data persistence using SwiftData. Use when defining @Model classes with @Attribute, @Relationship, @Transient, #Unique, or #Index; when querying with @Query, #Predicate, FetchDescriptor, or SortDescriptor; when configuring ModelContainer and ModelContext for SwiftUI or background work with @ModelActor; when planning schema migrations with VersionedSchema and SchemaMigrationPlan; when setting up CloudKit sync with ModelConfiguration; or when coexisting with or migrating from Core Data.
Plan and run backups, set recovery objectives, and run disaster recovery drills. Use this skill when defining RPO/RTO targets, designing backup architecture, deciding what to back up and how often, planning for full-region or platform outages, or running a restoration drill. Triggers on backup, restore, RPO, RTO, disaster recovery, DR, business continuity, what if the database is gone, what if our hosting goes down, recovery drill, ransomware planning. Also triggers when an incident reveals a gap in restoration capability.
Expert database architect specializing in data layer design from scratch, technology selection, schema modeling, and scalable database architectures. Masters SQL/NoSQL/TimeSeries database selection, normalization strategies, migration planning, and performance-first design. Handles both greenfield architectures and re-architecture of existing systems. Use PROACTIVELY for database architecture, technology selection, or data modeling decisions.
> System architecture design and review. Use when designing architecture, evaluating microservices vs monolith, writing ADRs, choosing a database, planning for scalability, reviewing system design, or generating architecture diagrams.
Take coco-research/brain from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.