Bob's Big Brain
A governed knowledge brain for Claude. It remembers what your team decided — and every answer shows its work.
- Every answer is cited. Results come back with a
qmd://link to the exact governed memory they came from. No citation, no claim. - Every write leaves a receipt. A SHA-256 hash-chained, tamper-evident trail you can verify anytime — so you can see the trail wasn't quietly edited (not the same as tamper-proof).
- Code decides, not a model. Dedupe, policy, secret-scan, and promote/reject are deterministic. The model proposes; the governed system owns what gets saved.
Local-first: runs on your own machine, or connect to the team brain. See how it works →
Install — copy one prompt, paste into Claude
Needs: @intentsolutions.io, Tailscale, and the token Jeremy emailed you.
Paste into Claude
Install and connect me to Bob's Big Brain (the Intent Solutions team brain). Run these steps in order. Stop and tell me if any step errors.
1) Add and install the plugin from the public marketplace (no GitHub login needed):
claude plugin marketplace add jeremylongshore/bobs-big-brain-plugin
claude plugin marketplace update governed-second-brain
claude plugin install governed-second-brain@governed-second-brain
2) Write my team connection file at ~/.teamkb/team.json (Windows: %USERPROFILE%\.teamkb\team.json · Linux: ~/.teamkb/team.json) with restrictive permissions (mode 600 / owner-read-write only). Use exactly this JSON. Replace PASTE-YOUR-TOKEN-HERE with the token I give you — or ask me for the token if I have not pasted it yet. Do NOT invent or change a token. Keep tenantId exactly as written; without it, searches return empty results even with a good token:
{
"apiUrl": "http://100.109.119.103:3847",
"apiToken": "PASTE-YOUR-TOKEN-HERE",
"tenantId": "intent-solutions"
}
3) Tell me to fully quit and reopen Claude Code or Cowork. After I restart I will run: /brain shipped this week and I should get an answer with qmd:// citations.
Prereqs I should already have: Tailscale signed in with my @intentsolutions.io account (so I can reach the API), and a desktop Claude (Claude Code or Cowork). Do not rewrite the plugin manifest. Do not hunt for a newer CLI. Use only the public marketplace above.
Then: fully quit and reopen Claude. Run /brain shipped this week — you want qmd:// citations.
Anyone. No Tailscale. No token. Private brain on this machine.
Paste into Claude
Install Bob's Big Brain (Governed Second Brain) for me as a LOCAL personal brain on this machine. Run these steps in order. Stop and tell me if any step errors. 1) Add and install the plugin from the public marketplace (no GitHub login needed): claude plugin marketplace add jeremylongshore/bobs-big-brain-plugin claude plugin marketplace update governed-second-brain claude plugin install governed-second-brain@governed-second-brain 2) Keep me in LOCAL mode only: - Do NOT create ~/.teamkb/team.json - Do NOT set TEAMKB_API_URL, TEAMKB_API_TOKEN, or TEAMKB_TENANT_ID - If team.json already exists and I want local-only, tell me how to rename or remove it (do not delete without my confirmation) 3) Tell me to fully quit and reopen Claude Code or Cowork. 4) After restart, help me verify the governed-brain tools are available (brain_status or /brain). An empty local brain is normal on first install — I will feed it with /brain-save. Do not rewrite the plugin manifest. Do not invent tokens. Do not connect me to any remote team API.
Then: fully quit and reopen Claude. Empty brain is normal — save something with /brain-save first install test, then search with keywords.
Commands
-
/brain
Ask the brain (read). Returns governed hits with
qmd://citations. Use 1–2 keywords, not a full sentence.e.g. /brain shipped this week · /brain backup · /brain receipts
-
/brain-save
Teach the brain (write). Saves one fact, decision, or lesson. Only runs when you type it — never auto. Team: governed for the shared brain. Local: stays on your machine.
e.g. /brain-save we use SOPS + age for all repo secrets
Type these in a new Claude Code or Cowork session after install. Natural language also works (“search the brain for X”) once the standing order is in place.
Make Claude search the brain first
Install connects the plugin. This standing order makes Claude use it without being asked. Put it in ~/.claude/CLAUDE.md or project AGENTS.md.
Add this to my ~/.claude/CLAUDE.md (create if missing). If a Governed brain section exists, update in place:
## Governed brain (Bob's Big Brain) — search first
Standing order: for Intent Solutions *team* knowledge, call **brain_search** (or /brain) **before** re-deriving from scratch or guessing.
Brain-first: architecture, past decisions, runbooks, conventions, "what do we already know about X?", team brain topics.
Not brain-first: pure live worktree bugs ("fix this file / this PR / this CI"), public third-party docs, greenfield with no prior team decision.
How: 1–2 strong keywords (not full sentences). Cite every claim with a qmd:// URI. Empty results → say so; do not invent brain answers.
Capture durable facts with /brain-save so the whole team gets them after govern.
Show a short diff. Do not change other sections.
Add this to my ~/.claude/CLAUDE.md (create if missing). If a Governed brain section exists, update in place: ## Governed brain (Bob's Big Brain) — search first Standing order: for knowledge I have already captured in my local brain, call **brain_search** (or /brain) **before** re-deriving from scratch or guessing. Brain-first: my decisions, patterns, runbooks, conventions, and notes I saved with /brain-save. Not brain-first: pure live worktree bugs, public third-party docs, or topics I have never captured. How: 1–2 strong keywords (not full sentences). Cite every claim with a qmd:// URI. Empty results → say so; offer to capture with /brain-save. Show a short diff. Do not change other sections.
Something not working
Paste this diagnose prompt into Claude. Common team issues: rotated token, missing tenantId, off Tailscale, full-sentence queries.
I installed Bob's Big Brain (team mode) but something is wrong. Diagnose step by step and stop when you find the failure. Do not invent a new token. 1) Check that ~/.teamkb/team.json exists, is mode 600 (or owner-only on Windows), is valid JSON, and has all three keys: apiUrl, apiToken, tenantId. tenantId must be exactly "intent-solutions". 2) From this machine, try: curl -sS -m 8 http://100.109.119.103:3847/api/health - If this fails: I am probably not on Tailscale (or not signed in with @intentsolutions.io). Help me fix Tailscale reachability. - If healthy: continue. 3) With the token from team.json (do not print the full token in chat — mask it), confirm Authorization Bearer works. On 401: my token is wrong or rotated — tell me to ask Jeremy for a reissued token. 4) Confirm the plugin is installed: governed-second-brain from marketplace jeremylongshore/bobs-big-brain-plugin. 5) Remind me that /brain uses KEYWORDS not full questions. Suggest I try: /brain shipped this week or /brain backup 6) Summarize: root cause + exact fix commands.
I installed Bob's Big Brain in LOCAL mode but something is wrong. Diagnose step by step. 1) Confirm the plugin is installed (governed-second-brain from jeremylongshore/bobs-big-brain-plugin). 2) Confirm I am not accidentally in team mode: if ~/.teamkb/team.json exists, explain how it forces team mode and ask before renaming it. 3) Check that governed-brain MCP tools respond (brain_status). If empty counts, that can be normal for a new local brain. 4) Help me capture a test memory with /brain-save and re-check search after govern if needed. 5) Summarize root cause + exact fix. Do not invent tokens or remote API URLs.
Manual commands / Claude Desktop
In Claude Code or Cowork:
/plugin marketplace add jeremylongshore/bobs-big-brain-plugin
/plugin install governed-second-brain@governed-second-brain
Team also needs ~/.teamkb/team.json with apiUrl, apiToken, and required tenantId: "intent-solutions".
Local: do not create team.json.
Claude Desktop: add a custom MCP pointing at governed-brain.cjs (from a Claude Code install or npm install -g governed-second-brain). Team mode needs the three env vars; local mode needs none.