* Fix istall/update scripts * test: capture pre-refactor install snapshot for regression Adds take-snapshot.sh script and the resulting snapshot/ directory, capturing the exact vault state produced by launchme.sh before the framework-agnosticity refactor begins. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Summary: Refactor agents/skills/hooks/mcp in agentic-platform-agnostic templates. refactor: rename source CLAUDE.md → DISPATCHER.md (framework-neutral) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> refactor: convert agent frontmatter from tools: to neutral capabilities: Replace Claude Code-specific `tools:` frontmatter with framework-agnostic `mode: subagent` and `capabilities: [...]` in all 8 agent files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> refactor: add neutral hook trigger manifests (.hook.yaml) refactor: hooks read neutral JSON schema (args.* instead of tool_input.*) refactor: convert .mcp.json to neutral mcp/servers.yaml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Implement agentic-platform adapters skeleton. build: add adapters/lib.sh skeleton with vocabulary constants test: bash test runner for adapter helpers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): parse_frontmatter helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): parse_capabilities helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): should_include helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): parse_hook_yaml helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): agent_body helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): enumerate_agents and enumerate_hooks helpers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Implement agentic-platform adapter for Claude Code. build(adapters): claude-code adapter skeleton with capability/event tables build(claude-code): adapter_translate_dispatcher with test build(claude-code): adapter_translate_references with test build(claude-code): adapter_translate_skills with tests build(claude-code): adapter_translate_agents with capability→tools mapping build(claude-code): hook wrapper template (CC native → neutral schema) build(claude-code): adapter_translate_hooks with wrapper generation build(claude-code): adapter_translate_mcp with hand-rolled YAML parser build(claude-code): adapter_finalize and complete adapter_build wiring build: scripts/build.sh dispatches to per-framework adapter Also fix adapter_translate_hooks and adapter_translate_agents to use while-read loops (avoiding word-splitting on paths with spaces) and guard grep calls with || true to survive set -eo pipefail when hooks have no match-tool field. Remove scripts/build.sh from .gitignore. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Refactor install/update scripts to support agentic-platform agnosticity. refactor(lib.sh): generalize install_claude_md → install_dispatcher New signature takes the full destination path instead of just the vault dir, allowing callers to install CLAUDE.md, AGENTS.md, or any dispatcher file to an explicit location. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(launchme): support --framework flag, build dist/ before install Add --framework and --target arg parsing. Run build.sh before installing to populate dist/<framework>/. All install_* calls now read from dist/<framework>/ instead of the raw source dirs. MCP is now handled automatically by the adapter (no interactive prompt). Replaced install_claude_md with install_dispatcher. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(updateme): support --framework flag, build dist/ before update Add --framework and --target arg parsing. Run build.sh before installing to populate dist/<framework>/. All install_* calls now read from dist/<framework>/ instead of raw source dirs. Replaced install_claude_md with install_dispatcher. Also fix set -e compatibility in lib.sh: add || true to all conditional [[ ... ]] && info "..." logging lines so they don't abort the script when VERBOSE_COPY=0. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test: regression runner diffs dist/claude-code against pre-refactor snapshot - Add tests/regression/run.sh that builds dist/claude-code and compares against snapshot, excluding runtime-only artifacts (.mbifc-manifest, .mcp.json, .claude-plugin/plugin.json) - Fix adapters/lib.sh agent_body: preserve '---' section dividers in body (awk now only skips '---' while still inside frontmatter, fm < 2) - Fix adapters/claude-code/adapter.sh: change 'read' capability to expand to only 'Read', appending 'Glob, Grep' at end of tools list to match snapshot ordering - Update snapshot to reflect intentional refactor changes: hook JSON schema (.args.* instead of .tool_input.*), wrapper scripts, settings.json with wrapper paths, and consistent tool ordering for postman/sorter Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Implement opencode adapter. Co-Authored-By: win0na <winnie@winneon.moe> feat(lib.sh): add install_plugins helper for opencode JS plugins build(adapters): opencode adapter skeleton with capability/event tables build(opencode): adapter_translate_dispatcher (DISPATCHER.md → AGENTS.md) build(opencode): adapter_translate_references and adapter_translate_skills Implements Task 4 and Task 5: - adapter_translate_references: Copies reference markdown files to .opencode/references/ - adapter_translate_skills: Copies skill SKILL.md files to .opencode/skills/<name>/ with exclude filtering Both functions respect framework filtering via should_include(). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): adapter_translate_agents with capability→permission mapping Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): bash-executor template for spawning hook scripts build(opencode): plugin-stub template for mbifc-hooks.js build(opencode): adapter_translate_hooks with JS plugin generation Implements _oc_hook_registry_json and adapter_translate_hooks in the opencode adapter. Copies hook scripts to .opencode/hooks/, generates a single .opencode/plugins/mbifc-hooks.js by inlining bash-executor.js and synthesising a hook registry from *.hook.yaml files. Uses python3 for template substitution to safely handle multi-line JS content. Adds 3 unit tests (copies scripts, registry entries, noop when no hooks dir). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): adapter_translate_mcp with local/remote handling build(opencode): adapter_finalize and complete adapter_build wiring Add adapter_finalize placeholder and wire adapter_translate_mcp into adapter_build; add end-to-end integration test (14/14 pass). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(launchme): branch on --framework for opencode install layout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(updateme): branch on --framework for opencode install layout Mirror the same case "$FRAMEWORK" block from launchme.sh: framework-specific DIST_COMPONENTS_DIR, VAULT_COMPONENTS_DIR, DISPATCHER_SRC/DST, MCP_SRC/DST, HAS_PLUGINS; conditional install_plugins; conditional install_settings; framework-aware vault-setup check; framework-neutral summary messages. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix adapters to follow the same template. fix: restore adapter_build() contract, revert function renames Both adapters now export adapter_build() and adapter_translate_*() as the uniform public contract. scripts/build.sh sources one adapter and calls adapter_build uniformly. Private helpers (_oc_*) and vocabulary tables (cc_capability_to_tools, oc_capability_to_permission, etc.) retain their prefixes. CC regression and OC unit tests all pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> fix(tests): restore test_oc_ prefix on adapter_build end-to-end test * Fix agent format in opencode adapter * refactor: rename --framework to --platform across all scripts and tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Modify generic name for model tiers Co-Authored-By: win0na <winnie@winneon.moe> refactor: neutral model vocabulary (low/mid/high) in source agents feat(claude-code): cc_model_to_native() maps low/mid/high to haiku/sonnet/opus Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(opencode): update oc_model_to_provider() for low/mid/high vocabulary Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add gemini-cli adapter Co-Authored-By: win0na <winnie@winneon.moe> build(gemini-cli): adapter skeleton with capability/event/model tables build(gemini-cli): adapter_translate_dispatcher (DISPATCHER.md → GEMINI.md) build(gemini-cli): adapter_translate_references and adapter_translate_skills Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(gemini-cli): adapter_translate_agents with capability→tools mapping Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(gemini-cli): adapter_translate_hooks with wrapper scripts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> feat(install): add gemini-cli platform to launchme.sh and updateme.sh Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Implement preserving config merge for opencode. Co-Authored-By: win0na <winnie@winneon.moe> feat(opencode): config-merge.sh with formatting-preserving JSON merge Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): source config-merge.sh from adapter Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(install): use oc_config_merge for opencode.json instead of overwrite Source config-merge.sh from install scripts for opencode platform so user keys in opencode.json are preserved on reinstall and update. Fix in-place merge by writing to a temp file before moving to output. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add mcp files to gitignore. * Fix claude-specific references in agents, skills and references * Fix: remove claude-specific reference from hooks. build: add platform_dir and dispatcher_name to all hook wrapper/plugin templates feat(hooks): platform-aware path checks using platform_dir and dispatcher_name from JSON input test: update regression snapshot for platform-aware hook wrappers and scripts * Added interactive platform choice in launchme, and platform auto-detection in updateme. * Fix: remove claude-specific references from documentation * Update documentation to reflect the new platform-agnostic architecture * fix: address Copilot review feedback on PR #32 - tests/run.sh: check source return code, report failures - tests/regression/run.sh: use mktemp + trap cleanup instead of fixed /tmp paths - tests/regression/run.sh: include .mcp.json in regression comparison - tests/regression/take-snapshot.sh: use --platform flag instead of stale scripted input - adapters/opencode/templates/plugin-stub.js.tmpl: include stdout in hook block error message * fix: address Copilot review round 2 - config-merge.sh: reword comment to only promise indentation preservation (not full formatting) - take-snapshot.sh: copy required artifacts explicitly, optional ones with existence check - adapters/lib.sh: document parse_hook_yaml single-trigger limitation * fix: address Copilot review round 3 - adapters/opencode/adapter.sh: replace python3 template substitution with pure bash (while-read loop with case matching), removing python3 dependency - adapters/lib.sh: should_include now falls back to plain YAML key read for files without frontmatter delimiters (fixes hook .yaml exclude: support) * fix: address Copilot review round 4 - scripts/launchme.sh: fix double-dot in FW_DIR_NAME display (basename already includes the dot, e.g. ".claude") - scripts/launchme.sh: replace undefined MCP_ANSWER with check on MCP_DST existence for summary banner --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
🧠 My Brain Is Full — Crew
A team of 8+ AI agents and 14 specialized skills that manage your Obsidian vault
so your brain doesn't have to.
You talk. They organize, file, connect, search, transcribe, and triage your email. In any language.
The honest origin story
I'm a PhD researcher. I've spent years training my brain to hold enormous amounts of information: papers, ideas, deadlines, people, half-baked theories at 2am. And for a while, it worked.
Then it didn't.
Memory started slipping. Not dramatically (no diagnosis, no crisis) just the slow, creeping realization that the mental budget was getting empty, and things were falling through the cracks. I'd forget what I'd read. Lose track of conversations. Feel constantly behind, constantly overwhelmed.
I started looking for solutions. I found a lot of Obsidian + Claude setups online. They were mostly clever note-capture tools, glorified search engines for your second brain. Useful. But not what I needed.
What I needed wasn't just a memory extension. I needed a brain dump system, something that could help me organize not just my knowledge, but my life: my overwhelmed mind, my wrecked physical health, the avalanche of emails and commitments and things I should have done last week.
So I built this.
What makes this different
Most "AI + Obsidian" tools are built for people who already have their life together and want to optimize. This one is for people who are drowning and need a lifeline.
1. The chat IS the interface. I don't browse Obsidian. I don't drag files around. I don't maintain complex folder structures manually. I just talk to Claude. Everything else happens automatically.
2. It speaks your language, literally. The system works in any language. You shouldn't need to think in English to manage your brain. Just talk in Italian, French, German, Spanish, Japanese, whatever feels natural. The agents match you.
3. The agents coordinate through a dispatcher. When the transcription agent processes a meeting and discovers a new project, the dispatcher automatically chains the Architect to create the folder structure. It's a crew, not a collection of isolated tools.
4. 8 agents are just the starting point. Build your own. The crew ships with 8 agents. But your life isn't generic, and your system shouldn't be either. Say "create a new agent" and the Architect walks you through a conversation to design one from scratch. No code, no config files, no templates to edit. You describe what you need, it builds it.
| Your problem | Your agent |
|---|---|
| "I can only spend 300 euros a month on groceries and I keep losing track" | budget-tracker: monitors spending notes, flags when you're close to the limit |
| "My partner says I dress like I pick clothes with my eyes closed" | wardrobe-coach: tracks what you own, suggests outfits from your notes, and gently stops you from wearing that shirt again |
| "I keep buying the same thing at IKEA because I forget what I already have at home" | home-inventory: catalogs what you own room by room, saves you from your third identical cutting board |
| "I keep starting side projects and abandoning them" | project-pulse: weekly check-in on all active projects, flags stale ones |
| "I have three freelance clients and I mix up their deadlines" | client-tracker: aggregates deadlines per client from notes and calendar |
Custom agents coordinate with the core crew, get discovered automatically by your agent platform, and respond in your language. They just solve the problems that are specific to your life.
Your custom agents, your responsibility. Custom agents are created by you and run on your data. The project provides no warranty on their behavior. See Terms of Use.
Who this is for
- PhD students, researchers, academics drowning in papers and commitments
- Anyone with brain fog, or just an overloaded working memory
- Non-native English speakers who want a system that works in their language
- Anyone who's tried Obsidian before and gave up because it felt like a second job
If you've ever thought "I need to get organized, but I'm too exhausted to get organized", this is for you.
Important disclaimers
Please read the full disclaimers before using this project.
Key points:
- This software is for personal use on your own data. You are responsible for GDPR/CCPA compliance if you process third-party data (e.g., emails containing other people's information).
- No warranty. Provided "as is". Back up your vault. The author accepts no liability.
- No responsibility for forks or misuse. This is a personal productivity tool. Malicious repurposing is explicitly condemned.
By using this software, you agree to the Terms of Use. During onboarding, the Architect will ask you to explicitly accept these terms before proceeding.
The Crew
| # | Agent | Role | Superpower |
|---|---|---|---|
| 1 | Architect | Vault Structure & Setup | Designs your entire vault, runs onboarding, sets the rules everyone follows |
| 2 | Scribe | Text Capture | Transforms your messy, typo-filled, stream-of-consciousness dumps into clean notes |
| 3 | Sorter | Inbox Triage | Empties your inbox every evening and routes every note to its perfect home |
| 4 | Seeker | Search & Intelligence | Finds anything in your vault, synthesizes answers across notes with citations |
| 5 | Connector | Knowledge Graph | Discovers hidden links between your notes, even ones you'd never think of |
| 6 | Librarian | Vault Maintenance | Weekly health checks, deduplication, broken link repair, growth analytics |
| 7 | Transcriber | Audio & Meetings | Turns recordings and transcripts into rich, structured meeting notes |
| 8 | Postman | Email & Calendar | Bridges email (Gmail or Hey.com) and Google Calendar with your vault: deadline radar, meeting prep |
Agents + Skills = the full system. Each agent handles quick, reactive tasks. For complex multi-step workflows (like onboarding, email triage, or vault audits), the dispatcher routes to one of 14 specialized skills that run as guided conversations. See the Skills section below.
Skills
Skills handle the complex, multi-step workflows that need conversational context. While agents are great for quick, one-shot tasks, some operations — like onboarding or email triage — require a back-and-forth conversation. Skills run in the main conversation context, so they can ask questions, wait for answers, and maintain state naturally.
The dispatcher automatically routes your message to the right skill or agent. You don't need to remember which is which.
| Skill | What it does | Extracted from |
|---|---|---|
/onboarding |
Full vault setup conversation | Architect |
/create-agent |
Design a custom agent step by step | Architect |
/manage-agent |
Edit, remove, or list custom agents | Architect |
/defrag |
Weekly vault defragmentation (5 phases) | Architect |
/email-triage |
Scan and prioritize unread emails | Postman |
/meeting-prep |
Comprehensive meeting brief | Postman |
/weekly-agenda |
Day-by-day week overview | Postman |
/deadline-radar |
Unified deadline timeline | Postman |
/transcribe |
Process recordings into structured notes | Transcriber |
/vault-audit |
Full 7-phase vault audit | Librarian |
/deep-clean |
Extended vault cleanup | Librarian |
/tag-garden |
Tag analysis and cleanup | Librarian |
/inbox-triage |
Process and route inbox notes | Sorter |
/contact-sync |
Sync contacts to Apple Contacts (search, create, update) | Postman |
How it works
You talk naturally → Dispatcher checks skills first → If match: invokes skill
→ If no match: invokes agent → Your vault gets updated
The dispatcher has two delegation mechanisms. Skills handle complex, multi-step conversational flows (onboarding, email triage, vault audits). Agents handle quick, reactive single-shot operations (capture a note, search the vault, create a folder). Skills are checked first because they cover the most involved workflows. If no skill matches, the dispatcher falls through to agents.
Each crew member is an isolated AI with its own system prompt, tool restrictions, and model assignment. You clone the repo into your vault, run a setup script, and from that moment on you manage everything through conversation. No GUI, no drag-and-drop, no manual file management.
Architecture
graph TB
User((You))
Dispatcher["Dispatcher"]
User -->|"talk naturally"| Dispatcher
Dispatcher -->|"skill match?\ninvoke skill"| Skills
Dispatcher -->|"no skill match?\ninvoke agent"| Agents
Dispatcher -->|"chains agents when needed"| Agents
subgraph Skills["Specialized Skills (14)"]
direction TB
Onboarding["/onboarding"]
EmailTriage["/email-triage"]
Transcribe["/transcribe"]
InboxTriage["/inbox-triage"]
VaultAudit["/vault-audit"]
MoreSkills["... +9 more"]
end
subgraph Agents["The Crew (8 agents)"]
direction TB
subgraph Core["Core: Knowledge Management"]
Architect["Architect\nVault Setup"]
Scribe["Scribe\nNote Capture"]
Sorter["Sorter\nInbox Triage"]
Seeker["Seeker\nSearch"]
Connector["Connector\nKnowledge Graph"]
Librarian["Librarian\nVault Health"]
end
subgraph External["Integrations"]
Transcriber["Transcriber\nAudio & Meetings"]
Postman["Postman\nEmail & Calendar"]
end
end
Skills <-->|"read & write"| Vault
Agents <-->|"read & write"| Vault
subgraph Vault["Your Obsidian Vault"]
direction LR
Inbox["00-Inbox"]
Projects["01-Projects"]
Areas["02-Areas"]
Resources["03-Resources"]
Archive["04-Archive"]
Daily["07-Daily"]
end
style User fill:#7c3aed,stroke:#5b21b6,color:#fff
style Dispatcher fill:#3b82f6,stroke:#2563eb,color:#fff
style Skills fill:#fef3c7,stroke:#f59e0b
style Core fill:#e0e7ff,stroke:#818cf8
style External fill:#dbeafe,stroke:#60a5fa
Agent & Skill Coordination Flow
sequenceDiagram
participant U as You
participant D as Dispatcher
participant TS as /transcribe skill
participant A as Architect agent
participant ES as /email-triage skill
participant S as Sorter agent
U->>D: "Process my meeting recording"
D->>TS: invokes /transcribe skill
TS->>TS: multi-step conversation:<br/>asks questions, transcribes,<br/>creates structured note
TS-->>D: "Suggested next agent: Architect<br/>(new project mentioned)"
D->>A: chains Architect agent
A->>A: creates folder structure
U->>D: "Check my email"
D->>ES: invokes /email-triage skill
ES->>ES: scans Gmail, scores priority,<br/>saves important emails as notes
ES-->>D: "Suggested next agent: Sorter<br/>(deadline notes in Inbox)"
D->>S: chains Sorter agent
S->>S: files notes to correct locations
Multi-platform support
The Crew works on multiple agent platforms. The installer builds from a single source and deploys to your platform of choice:
| Platform | Install command | Config dir | Dispatcher |
|---|---|---|---|
| Claude Code (CLI & Desktop) | bash scripts/launchme.sh --platform claude-code |
.claude/ |
CLAUDE.md |
| Gemini CLI | bash scripts/launchme.sh --platform gemini-cli |
.gemini/ |
GEMINI.md |
| OpenCode | bash scripts/launchme.sh --platform opencode |
.opencode/ |
AGENTS.md |
If you omit --platform, the installer asks you to choose. Each platform gets agents, skills, references, hooks, and MCP servers translated to its native format. launchme.sh installs everything automatically.
Your vault follows a hybrid PARA + Zettelkasten structure:
00-Inbox/ Capture everything here first
01-Projects/ Active projects with deadlines
02-Areas/ Ongoing responsibilities
03-Resources/ Reference material, guides, how-tos
04-Archive/ Completed or historical content
05-People/ Your personal CRM
06-Meetings/ Timestamped meeting notes
07-Daily/ Daily notes and journals
MOC/ Maps of Content (thematic indexes)
Templates/ Obsidian note templates
Meta/ Vault config, agent logs, health reports
Quick start
Prerequisites: Obsidian (free) and one of the supported agentic platforms.
1. Create your Obsidian vault
Open Obsidian and create a new vault (or use an existing one).
2. Clone the repo inside your vault
cd /path/to/your-vault
git clone https://github.com/gnekt/My-Brain-Is-Full-Crew.git
3. Run the installer
cd My-Brain-Is-Full-Crew
bash scripts/launchme.sh
The script asks you to pick a platform, then builds and installs the agents and skills into your vault. When your agent platform is open in your vault folder, the agents activate automatically. When you're in any other project, they don't.
Never used a terminal before? See the step-by-step guide for beginners. It walks you through everything, or just show this page to a tech-savvy friend. It takes 60 seconds.
4. Initialize
Open your agent platform inside your vault folder and say:
"Initialize my vault"
The /onboarding skill starts a friendly guided conversation:
- Who are you? Name, language, role, what brought you here
- What do you need? Which agents to activate, which areas of life to manage
- Integrations Gmail and Google Calendar connections
After onboarding, the Architect creates your entire vault folder structure, saves your profile, leaves you a welcome note, and you're ready to go.
5. Start using it
| You say | What happens |
|---|---|
| "Save this: meeting with Marco about the Q3 budget, he wants the report by Friday" | Scribe agent captures it as a clean note with tasks, wikilinks, and deadline |
| "Triage my inbox" | /inbox-triage skill files everything, updates MOCs, gives you a summary |
| "What did we decide about the pricing strategy?" | Seeker agent searches your vault, synthesizes the answer with source citations |
| "Check my email" | /email-triage skill scans Gmail, saves important emails, flags deadlines |
| "Weekly review" | /vault-audit skill runs a full vault audit: broken links, duplicates, health score |
| "Find connections for my latest note" | Connector agent discovers hidden links to other notes in your vault |
Works in any language
The Crew is built in English but responds in whatever language you write in. Italian, French, Spanish, German, Portuguese, Japanese: just talk, and the agents match you.
"Salva questa nota veloce..." → Scribe responds in Italian
"Vérifie mon email..." → Postman responds in French
"Was habe ich diese Woche geplant?" → Seeker responds in German
"Check my inbox" → Sorter responds in English
No translations to install. No language packs. It just works.
Works from your phone too
If you use Claude Code, you can control the Crew from your phone using its Remote Control feature. Your computer runs Claude Code locally (with full vault and agent access), and your phone acts as a remote interface through the browser or the Claude mobile app.
Capture a quick thought on a walk. Check your email from the couch. Search your vault from the supermarket. Everything runs on your computer; your phone is just the remote.
Full setup guide (takes 2 minutes)
Agent coordination
Agents coordinate through a dispatcher-driven orchestration system. When an agent or skill finishes its task and detects work for another agent, it signals the dispatcher via a ### Suggested next agent section in its output. The dispatcher reads this and automatically chains the next agent:
- The
/transcribeskill processes a meeting that introduces a new project -- the dispatcher chains the Architect to create the folder structure - The
/email-triageskill finds emails about deadlines -- the dispatcher chains the Sorter to file them - The Connector finds orphan notes -- the dispatcher chains the Librarian to investigate
- The Sorter finds notes that belong to a new area -- the dispatcher chains the Architect to build it
No agent works in isolation. The crew is greater than the sum of its parts.
Required integrations
The Postman agent (and its related skills: /email-triage, /meeting-prep, /weekly-agenda, /deadline-radar) requires one of:
- Google Workspace CLI (
gws) — full read/write access to Gmail and Google Calendar: search, read, archive, delete, label, send emails; create/update/delete calendar events. Seedocs/gws-setup-guide.mdfor setup. - Hey CLI (
hey) — for Hey.com accounts. Read/reply/compose emails, leverages Hey's pre-sorted mailboxes (Imbox, Feed, Paper Trail, Reply Later, Set Aside, Bubble Up). Calendar operations still usegws. See Hey CLI for installation. - MCP connectors (read-only fallback) —
launchme.shsets up MCP servers automatically (format varies by platform). Limited to reading emails and calendar events, plus draft creation.
You can use gws and hey simultaneously if you have both Gmail and Hey.com accounts.
Optional: Apple Contacts
The /contact-sync skill syncs contacts to Apple Contacts on macOS. It requires the apple-contacts MCP server:
- @griches/apple-contacts-mcp — an MCP server that provides full CRUD access to Apple Contacts (search, create, update, delete contacts and groups).
Add it to your .mcp.json inside the mcpServers object:
{
"mcpServers": {
"apple-contacts": {
"command": "npx",
"args": ["-y", "@griches/apple-contacts-mcp"]
}
}
}
Once connected, the /contact-sync skill auto-syncs contacts when you reply to emails or on demand ("sync contact", "add to contacts").
All other agents and skills work with just your local Obsidian vault. No integrations needed.
Updating
After pulling new changes from the repo:
cd /path/to/your-vault/My-Brain-Is-Full-Crew
git pull
bash scripts/updateme.sh
The updater automatically detects which platform is installed in your vault (by checking for a platform-specific folder). If you have multiple platforms installed, it asks you to choose which one to update. You can also specify explicitly with --platform:
bash scripts/updateme.sh --platform opencode
Only changed files are updated. Your vault notes are never touched.
Recommended Obsidian plugins
Essential: Templater, Dataview, Calendar, Tasks
Recommended: QuickAdd, Folder Notes, Tag Wrangler, Natural Language Dates, Periodic Notes, Omnisearch, Linter
Project structure
My-Brain-Is-Full-Crew/ ← cloned inside your vault
├── agents/ The 8 core agents
│ ├── architect.md Vault setup & onboarding
│ ├── scribe.md Text capture & note creation
│ ├── sorter.md Inbox triage & filing
│ ├── seeker.md Search & knowledge retrieval
│ ├── connector.md Knowledge graph & link analysis
│ ├── librarian.md Vault health & maintenance
│ ├── transcriber.md Audio & meeting transcription
│ └── postman.md Email & calendar integration
├── skills/ The 14 specialized skills
│ ├── onboarding/SKILL.md Full vault setup conversation
│ ├── create-agent/SKILL.md Design a custom agent step by step
│ ├── manage-agent/SKILL.md Edit, remove, or list custom agents
│ ├── defrag/SKILL.md Weekly vault defragmentation
│ ├── email-triage/SKILL.md Scan and prioritize unread emails
│ ├── meeting-prep/SKILL.md Comprehensive meeting brief
│ ├── weekly-agenda/SKILL.md Day-by-day week overview
│ ├── deadline-radar/SKILL.md Unified deadline timeline
│ ├── transcribe/SKILL.md Process recordings into structured notes
│ ├── vault-audit/SKILL.md Full 7-phase vault audit
│ ├── deep-clean/SKILL.md Extended vault cleanup
│ ├── tag-garden/SKILL.md Tag analysis and cleanup
│ ├── inbox-triage/SKILL.md Process and route inbox notes
│ └── contact-sync/SKILL.md Sync contacts to Apple Contacts
├── orchestra/ Named scripts for permission-free agent operations
│ ├── hey-imbox, hey-feed, ... Hey mailbox wrappers
│ ├── tracker-today, tracker-search Local tracker queries
│ ├── contact-lookup Person-based email search
│ └── vault-stats, vault-inbox Vault health helpers
├── references/ Shared agent documentation
├── scripts/
│ ├── launchme.sh First-time installer
│ └── updateme.sh Post-pull updater
├── docs/ User-facing documentation
│ ├── getting-started.md Step-by-step setup guide
│ ├── examples.md Real-world usage examples
│ └── agents/ Deep-dive into each agent
├── adapters/ Platform adapters (build system)
│ ├── lib.sh Shared parsing and rewrite helpers
│ ├── claude-code/ Claude Code adapter
│ ├── gemini-cli/ Gemini CLI adapter
│ └── opencode/ OpenCode adapter
├── mcp/servers.yaml MCP server definitions (source of truth)
├── LICENSE
├── README.md You are here
└── CONTRIBUTING.md
After running launchme.sh, your vault looks like (paths vary by platform):
your-vault/
├── .<platform>/ ← .claude/, .gemini/, .opencode/, etc.
│ ├── agents/ ← lightweight reactive agents
│ ├── skills/ ← specialized multi-step skills
│ ├── hooks/ ← file protection and validation hooks
│ └── references/ ← shared docs
├── Meta/
│ └── scripts/ ← orchestra scripts (permission-free agent commands)
├── CLAUDE.md / GEMINI.md / AGENTS.md / ... ← dispatcher (platform-specific name)
├── My-Brain-Is-Full-Crew/ ← the repo (for updates)
└── ... your Obsidian notes
Contributing (seriously, please help)
This started as one person's survival tool. I'm sharing it because I think it can help others, but I know it can be much better, and I need help from people who know prompt engineering, agentic platforms, and Obsidian better than I do.
Every single PR is welcome. I mean it. If you see something that could be improved (a better prompt structure, a smarter agent behavior, a more elegant architecture) please submit it. I won't be precious about my code. The goal is to help people, not to protect my ego.
If you want to:
- Improve an agent or skill: make it smarter, add a mode, fix edge cases
- Fix my prompts: if you know better patterns, teach me
- Propose a new crew member: a new agent or skill for a new domain
- Report a bug: something an agent does wrong
- Add examples: share how you use the Crew
- Just tell me what I'm doing wrong: I'll listen
...PRs, issues, and honest feedback are all welcome. See CONTRIBUTING.md.
TO DO
- Update the installer to auto-install the orchestra scripts (currently a manual copy-paste step)
- Completely decouple the installer from the platform (currently has some platform-specific logic that could be moved to the adapters or to some kind of config file)
Philosophy
"The best organizational system is the one you actually use."
The Crew is designed for people who are overwhelmed, not for people who enjoy organizing. Every design decision prioritizes minimum friction:
- Chat is the interface: no manual file management
- Skills handle the heavy lifting: multi-step workflows run as guided conversations
- Agents handle the quick stuff: filing, linking, capturing, searching
- Any language, any time: your brain shouldn't have to switch languages to stay organized
- Conservative by default: agents never delete, always archive. They ask before making big decisions.
Star this repo
If the Crew helps you, or if you just think it's a cool idea, consider starring this repo. It helps others find it, and it motivates continued development.
License
MIT: use it, modify it, share it. Just keep the attribution.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. The authors are not liable for any claim, damages, or other liability arising from the use of this software. See the MIT License for full terms.
Built by someone who got tired of forgetting things.
Get Started · Examples · Meet the Agents · Contribute