Claude Skill

company-brain

Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so Claude can answer questions on your team's behalf. Team-scope sibling to second-brain (which is personal-scope). Seven modes — capture (drop something into the right struc

LLM Mart · 0 points · 4 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download coreyhaines31-makerskills-skills_company-brain-1868b81.zip · 15 KB
Part of coreyhaines31/makerskills — 18 skills

Install

skills CLI npx skills add https://github.com/coreyhaines31/makerskills/tree/main/skills/company-brain
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install coreyhaines31-makerskills@llmmart
Git git clone https://github.com/coreyhaines31/makerskills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole coreyhaines31/makerskills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

/company-brain — Team-shared AI-ready knowledge base

Company Brain (n.): Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so Claude can answer questions on your team's behalf.

Team-scope sibling to second-brain (personal-scope). Same core compile → wiki → outputs pattern; different raw schema optimized for multi-author, sales-heavy, ops-heavy team use.

Also the operational backbone for the Company Brain Setup productized service (was previously called "Second Brain as a Service"; renamed to match the skill).

Mental model

Three layers, same as second-brain — but the raw/ layer is structured, not flat:

raw/          →  wiki/         →  outputs/
(structured      (compiled        (generated
 by category)     interlinked)     artifacts)

Structured raw/ dirs (each is its own top-level folder in the vault):

Dir What lives here
people/ Contacts with context — CRM-lite. One markdown file per person.
companies/ Org profiles — last touchpoint, opportunity size, status. One file per company.
meetings/ Call/meeting transcripts + notes. Naming: YYYY-MM-DD-<company-or-topic>-<slug>.md. Auto-sync source.
sops/ Standard operating procedures. Named: <team>-<process>.md (e.g., sales-outbound-cadence.md).
decisions/ Decision records (narrative form; decide skill's structured form is different).
customer-language/ Verbatim phrases from prospects/customers/users. Fuels copy, headlines, objections.
recurring-questions/ Questions asked 3+ times across calls. Each becomes a pre-answered SOP/FAQ/script.
sales-objections/ Library of objections + best responses. Assembled into sales scripts.
raw/ Legacy / uncategorized captures (fallback bucket, minimize use).

wiki/, outputs/, and INDEX.md work the same as second-brain.

Reserved dirs (never modified by company-brain): Projects/, Team/, Templates/, Drafts/.

Multi-author discipline

Every capture stamps:

source: <URL / call / email / manual entry>
author: <who added this — email or handle>
captured: YYYY-MM-DD
trust: unreviewed

Wiki pages track cumulative contributions in the ## Sources section (per source file, per author). No overwriting — always append + attribute.

Sensitivity tagging (optional but recommended):

sensitivity: internal        # any team member can read
sensitivity: leadership      # exec team only
sensitivity: confidential    # named list only (list access in the file)

Default: internal. Query mode respects sensitivity — refuses to include confidential content unless the invoker is on the access list.

Trust levels

The other half of multi-author discipline: not everything captured deserves equal weight as context. Every structured-raw file carries a trust: field.

(The field is named trust, not status, because companies/ and decisions/ already use status: for lifecycle — prospect/customer, decided/reversed — and the two must not collide.)

Trust Meaning Query treatment
unreviewed Captured but no human has confirmed it (default for every new capture) Usable, but flagged — answers leaning on it note lower confidence
verified A human reviewed it and confirmed it's right Full weight
deprecated Wrong or obsolete — kept for history only Never used as context
superseded Replaced by something newer — add superseded_by: [[target]] Never used as context; queries point to the replacement

Deliberately an enum, not a numeric weight — teams keep a four-value field current; nobody maintains a 0–1 float.

Deprecation replaces deletion. The "never delete raw files" rule stays intact: when info turns out wrong or stale, mark it deprecated (or superseded with a pointer) instead of removing it. History is preserved; context is protected.

Trust is orthogonal to sensitivity — a file can be verified + confidential, or unreviewed + internal.

Existing vaults: files predating trust levels simply lack the trust: field — treat them as unreviewed. If the vault's CLAUDE.md schema predates trust levels, offer to add the trust spec to it on the first /cb review run (the vault's CLAUDE.md stays authoritative — extend it, don't override it).

Step 1 — Load vault config + schema

  1. Read references/vault-config.md for the vault path (default: ${COMPANY_BRAIN_VAULT:-$HOME/Documents/CompanyBrain}/)
  2. Read <vault>/CLAUDE.md for the authoritative team schema. If present, trust it over references/schema.md — the team's vault is the source of truth.
  3. If no <vault>/CLAUDE.md, fall back to references/schema.md — the team schema starter kit.

Step 2 — Parse mode

Invocation Mode
/cb capture / /company-brain capture / "capture this into the team brain" capture
/cb compile / "compile the company wiki" compile
/cb query <q> / "what does the team know about X" query
/cb review / "review the company brain" / "cull the team brain" review
/cb lint / "lint the company brain" lint
/cb connect / "find cross-team connections" connect
/cb search <term> / "search the company brain" search

Step 3 — Run the mode

capture

Same intake mechanics as second-brain, but the routing is different — pick the structured dir based on content type.

  1. Detect content type + route to the right dir:

    • Call/meeting transcript → meetings/YYYY-MM-DD-<company-or-topic>-<slug>.md
    • Person's LinkedIn / bio / contact context → people/<name-slug>.md
    • Company profile / prospect / client → companies/<company-slug>.md
    • Documented process / how-we-do-X → sops/<team>-<process>.md
    • Decision made by leadership / team → decisions/YYYY-MM-DD-<decision-slug>.md
    • Verbatim customer quote → customer-language/<theme-slug>.md (append to existing themed file if one exists)
    • Question asked in a call → recurring-questions/<question-slug>.md (append counter if repeat)
    • Sales objection heard → sales-objections/<objection-slug>.md (append variant if repeat)
    • If ambiguous, ask.
  2. Add multi-author metadata (top of file):

    source: <URL / call with X on YYYY-MM-DD / email from Y / etc.>
    author: <who captured this>
    captured: YYYY-MM-DD
    trust: unreviewed      # every capture starts unreviewed — review mode promotes it
    sensitivity: internal  # or leadership / confidential
    
  3. Save + report file path + one-line summary.

Don't compile into the wiki here — capture is fast intake.

compile

Same core pattern as second-brain's compile mode — process unprocessed structured-raw files into wiki pages, update INDEX.md, add Sources sections.

Differences from second-brain:

  • Multi-author attribution: Sources section includes author, not just filename
    ## Sources
    - `people/jane-doe.md` (added by @alex, 2026-06-30) — CTO of Acme, evaluated us Q2
    
  • Cross-category compilation: a wiki page on "Acme Corp deal" might pull from companies/acme.md, meetings/2026-06-15-acme-discovery.md, sales-objections/acme-pricing.md, and people/jane-doe.md — all into one wiki page.
  • Sensitivity inheritance: wiki pages inherit the highest sensitivity of any source. If any source is confidential, the wiki page is confidential.
  • Trust filtering: deprecated and superseded sources are excluded from wiki pages. If a source that already fed a wiki page later gets deprecated, recompile flags the affected pages for re-review and drops the source, noting it in Sources using the file's reviewed + reviewed_by stamps: - meetings/2026-06-15-x.md (deprecated 2026-07-01 by @alex). Pages built mostly from unreviewed sources get a > ⚠ Mostly unreviewed sources callout at the top.
  • INDEX.md categories for teams: Sales, Customers, Ops, Product, Team & People, Decisions, Playbooks. Extend as needed.

Everything else (one-page-per-concept, [[wikilinks]], Connections mandatory, quality > quantity) is identical.

query

Same as second-brain query, plus:

  • Sensitivity check first: identify the invoker; refuse to include content above their sensitivity level.
  • Trust rules: prefer verified over unreviewed, and recent over old. Never use deprecated or superseded content as context — at most cite it as a pointer: "(deprecated — see [[replacement]])". When two sources conflict, prefer the newer + higher-status one AND surface the disagreement in the answer.
  • Confidence flag: if the answer leans mostly on unreviewed sources, say so up front: "Low confidence — 3 of 4 sources are unreviewed. Run /cb review to firm these up."
  • Author-aware answers: when citing, include who contributed the info: "Per [[Acme Deal]] (source: meetings/2026-06-15-acme-discovery.md by @alex)..."
  • Route external gaps to deep-research, same as second-brain.

Save to outputs/<YYYY-MM-DD>-<question-slug>.md with the answer + wiki pages consulted + sensitivity level of the output.

review

The human culling pass. This is how a team keeps garbage-in from becoming garbage-context: everything gets captured freely (nothing is lost), but only reviewed info earns full weight.

  1. Sensitivity check first — same rule as query mode: identify the invoker and exclude files above their sensitivity level from the queue. Report the exclusion count: "3 items above your sensitivity level were skipped — someone on the leadership list needs to review those."

  2. Build the triage queue:

    • All trust: unreviewed files across the structured-raw dirs (including files with no trust: field at all), newest first
    • Everything lint flags (checks 1–12; check 13 is about review itself)
    • Files whose review dates have lapsed, where those fields exist: decisions/ files past review_by, sops/ files past last_reviewed + review_cadence
  3. Walk the queue one item at a time. For each file show: one-line summary, source, author, captured date, and which wiki pages cite it. Offer four dispositions — every disposition except skip stamps reviewed: YYYY-MM-DD + reviewed_by: <handle>:

    • verify → trust: verified
    • deprecate → trust: deprecated (wrong or obsolete; kept for history)
    • supersede → trust: superseded + superseded_by: [[target]] (ask for the replacement)
    • skip → leave as-is, resurfaces next review
  4. Batch-apply the frontmatter updates — don't rewrite file bodies, only the metadata block.

  5. Flag downstream effects: if a deprecated/superseded file feeds existing wiki pages, list those pages and offer to recompile them now.

  6. Close with a summary: "12 reviewed: 8 verified, 3 deprecated, 1 superseded. 2 wiki pages recompiled. Next review suggested: Save the summary to outputs/<YYYY-MM-DD>-review.md so the cull itself has an audit trail.

Cadence: weekly for active vaults; pair with loopify to schedule it so the cull actually happens instead of depending on someone remembering. A vault where reviews lapse >1 month shows up in lint (check 13).

lint

Same seven checks as second-brain PLUS:

  1. Stale people/companies — people/ or companies/ file with no update in >6 months for active accounts
  2. Recurring-questions above threshold — questions asked 5+ times without a wiki page or SOP
  3. Objections without responses — sales-objections/ files with no linked response in sops/ or wiki/
  4. SOP freshness — SOPs not touched in >12 months (may be stale as the business evolves)
  5. Author load imbalance — one contributor doing >80% of captures (usually signals the vault is one-person-dependent — bad for team continuity)
  6. Review backlog — >20 files sitting at trust: unreviewed, or no review pass (no outputs/*-review.md) in >1 month. Points at /cb review.

connect

Same as second-brain plus cross-category link suggestions — e.g., sales-objections/pricing-too-high.md should link to customer-language/willingness-to-pay.md and sops/discovery-call-cadence.md if they exist.

search

Same. Grep across all structured-raw dirs + wiki/.

Optional: auto-sync sources

Team vaults benefit from automated capture. See references/auto-sync-sources.md for the setup patterns:

Source What it captures Setup
Fathom / Gong / Granola Call/meeting transcripts Webhook → append to meetings/
Slack export Team discussions worth preserving Manual or scheduled export → raw/slack-<channel>-<date>.md
Email (Front / Missive / Superhuman) Customer-facing threads worth preserving Forward-to-address → append to people/ or companies/
CRM (HubSpot / Attio / Pipedrive) Deal state, contact info Periodic sync → companies/ + people/

Auto-sync is optional — most teams start with manual capture and add automation as the vault matures. Pair with loopify to schedule periodic sync jobs.

Multi-writer git sync (team members + remote agents)

A team vault is multi-writer by definition, and git is the coordination layer. Back the vault with a hosted remote (GitHub/GitLab); the remote then doubles as a capture API for agents without filesystem access — cloud agents, scheduled sync jobs, teammates' machines. Anything that can reach the git host's API (directly, or through an MCP integration layer like Executor) can read the wiki and commit captures into the structured raw dirs.

The discipline that keeps writers from diverging:

  1. Every local session pulls before writing: git pull --rebase --autostash before vault work, push after committing. With multiple humans and agents committing, local copies go stale fast.
  2. Obsidian users: the community Git plugin with auto-pull on an interval (~10 min) + pull-on-startup, auto-commit off — commits should stay semantic (one per capture/compile), not "vault backup" noise. Every team member's machine needs this, not just one.
  3. Remote agents and auto-sync jobs commit append-mostly: new files in the structured dirs, descriptive commit messages, author stamped in the capture frontmatter (the multi-author trust model depends on it). Distinct-file appends make conflicts rare; rebase absorbs the rest.

Verify the loop once per machine when onboarding: remote commit via API → local pull → file appears.

Composes with

  • second-brain — sibling. Use second-brain for your personal wiki; company-brain for the team's. A person can maintain both simultaneously with separate vault paths.
  • skillify — use to author new skills that read from the company brain (e.g., a weekly-team-brief skill that queries company-brain every Monday).
  • loopify — schedule auto-sync jobs (Fathom pull daily, Slack export weekly, review pass weekly, INDEX lint monthly).
  • toolify — wire up integrations that feed the company brain (Fathom webhook receiver, Attio API, etc.).
  • deep-research — when query finds gaps, route external. Save deep-research results into raw/ for future compilation.
  • decide — decisions/ folder complements decide's structured archive. decide records the evaluation; decisions/ records the narrative + outcome + review notes.
  • pm — team task management sits in Projects/ (reserved from company-brain). pm owns Projects/; company-brain reads it for context but doesn't modify.
  • jab-hook — customer-language/ fuels social copy that resonates with actual prospect language.
  • A blog-drafting skill (yours or a companion plugin) — pulls from customer-language/, recurring-questions/, and sops/ for authoritative blog drafts.

Sibling implementations (reference)

Same lineage as second-brain:

  • Gbrain — Garry Tan's team-scale brain (146K pages, 24K people entities). Postgres/PGLite backed with graph traversal + scheduled maintenance. When a team's company-brain outgrows markdown-only, Gbrain is the upgrade path.
  • Hermes' llm-wiki — reference for the 3-folder pattern.
  • Notion AI / Glean / Mem — commercial "Company OS" tools. Company-brain is the Claude-native, markdown-first alternative — cheaper, more portable, better for teams that already live in Obsidian / Git-backed docs.

Notes on quality

  • Structured raw > flat raw at team scale. Second-brain's type-prefix works for one person; teams need dedicated dirs for people/companies/meetings/etc. so multi-author search stays fast.
  • Multi-author attribution is non-negotiable. Every file stamps author: and captured:. Wiki pages cite by source + author.
  • Sensitivity is respected end-to-end. Query mode refuses to include content above the invoker's level. Wiki pages inherit the highest sensitivity of any source.
  • Never delete raw files. Same rule as second-brain — the structured dirs are the source of truth. When info is wrong or stale, deprecate, don't delete — trust: deprecated removes it from context while preserving history.
  • Capture freely, weight deliberately. The trust enum means dumping information in is safe — nothing unreviewed poisons answers at full weight, and /cb review is the regular cull that promotes or retires it.
  • Never modify Projects/, Team/, Templates/, Drafts/ during company-brain operations.
  • Auto-sync is optional. Start manual; automate as the vault matures. Don't burn cycles on Fathom webhooks before the team is capturing meetings regularly by hand.
  • One person shouldn't be the whole vault. If lint flags author-load imbalance >80%, the team is one bus-factor away from losing the brain. Broaden contribution.
Files (makerskills)
  • references
    • auto-sync-sources.md 4.7 KB
      # Auto-sync sources
      
      Company brains benefit from automated capture. Manual capture works for early-stage teams; auto-sync becomes necessary as call volume + team size scale.
      
      **Start manual.** Automate only after 4-6 weeks of manual capture proves the team is actually using the brain.
      
      ## Common sources + setup patterns
      
      ### Fathom (call notes)
      
      - **What**: AI-generated meeting summaries + full transcripts
      - **Sync via**: Zapier / n8n webhook OR Fathom's built-in export → drop into `meetings/`
      - **Naming**: `meetings/YYYY-MM-DD-<company-slug>-<slug>.md`
      - **Metadata**: attendees list, duration, recording URL
      - **Setup**: wire the webhook via `/toolify fathom` when ready
      
      ### Gong (sales calls)
      
      - **What**: Enterprise sales call transcripts + coaching notes
      - **Sync via**: Gong API (subscription tier dependent) → daily pull
      - **Naming**: same as Fathom
      - **Metadata**: deal ID, opportunity stage, coaching flags
      - **Setup**: `/toolify gong` + schedule daily sync via `/loopify`
      
      ### Granola (personal + team meeting notes)
      
      - **What**: Notes-first meeting app (transcript + your own live notes)
      - **Sync via**: Granola export (manual or scheduled)
      - **Naming**: `meetings/YYYY-MM-DD-<slug>.md`
      - **Metadata**: your live-notes tags become wiki hints during compilation
      
      ### Slack (team discussions)
      
      - **What**: Preserving discussion threads that resolve decisions or capture context
      - **Sync via**: manual per-thread OR scheduled export of specific channels
      - **Naming**: `raw/slack-<channel>-<date>.md`
      - **Selection**: NOT every message — only threads that resolve a decision, capture a customer quote, or document a process
      - **Recommendation**: `#decisions`, `#customer-signals`, `#post-mortems` channels get auto-synced; others stay manual
      
      ### Email (Front / Missive / Superhuman)
      
      - **What**: Customer-facing threads worth preserving beyond the inbox
      - **Sync via**: forward-to-address (dedicated inbox email address the vault auto-processes)
      - **Naming**: append to `people/<person-slug>.md` OR `companies/<company-slug>.md` (thread goes with the person/org, not standalone)
      - **Metadata**: thread ID, sender, subject line
      - **Setup**: `/toolify <email-provider>` when the team is ready
      
      ### CRM (HubSpot / Attio / Pipedrive)
      
      - **What**: Deal state, contact info, opportunity size
      - **Sync via**: API pull (nightly or on-change webhook)
      - **Naming**: updates `companies/<slug>.md` and `people/<slug>.md` in place (overwrites `status`, `last_touch`, `opportunity_size` fields)
      - **Metadata**: opportunity stage, close date, ARR estimate
      - **Setup**: `/toolify hubspot` + nightly sync via `/loopify`
      
      ### Support tickets (Intercom / Zendesk / Front)
      
      - **What**: Customer questions + support patterns
      - **Sync via**: API pull daily
      - **Naming**: append repeat-question patterns to `recurring-questions/`; standalone tickets stay in the support tool
      - **Selection filter**: only tickets tagged "escalated" or repeated 3+ times
      
      ## Cadence recommendations
      
      Wire via `/loopify` with these defaults:
      
      | Source | Cadence | Rationale |
      |---|---|---|
      | Fathom / Gong / Granola | Daily at 6am (after morning calls settle overnight, before team starts work) | Fresh capture, no overlap with active calls |
      | CRM sync | Nightly at 1am | Off-peak, single-source-of-truth reconciliation |
      | Slack export | Weekly (Sunday) | Weekly discussion digest fits weekly review cadence |
      | Support ticket patterns | Weekly (Monday) | Fresh for support-team standups |
      | Email forward-to-address | On-arrival (webhook) | Real-time — sales team wants context immediately |
      
      ## Idempotency
      
      All auto-sync jobs must be idempotent. Company-brain has a lint check for this (repeated appends creating duplicate content). Follow the loopify guidance: dedupe by source ID / transcript hash / timestamp before appending.
      
      ## When NOT to auto-sync
      
      - **Sensitivity mismatch**: don't auto-sync `confidential` content — manual capture only, with explicit access-list assignment
      - **Team hasn't earned it**: if the team isn't capturing manually, auto-sync creates a data-firehose nobody uses. Prove capture demand first.
      - **Rate-limited APIs**: some sources (older CRM APIs, Slack free-tier export) rate-limit hard. Manual > broken auto-sync.
      - **Compliance-restricted**: for regulated industries (healthcare, legal, finance), auto-sync of client data may violate compliance. Consult legal first.
      
      ## Recipe library (populate as team wires them)
      
      - `references/recipes/fathom-webhook-nextjs.md` — Fathom webhook receiver in Next.js
      - `references/recipes/gong-daily-sync.md` — Gong API pull loop
      - `references/recipes/attio-crm-sync.md` — Attio nightly sync
      - `references/recipes/slack-weekly-export.md` — Slack export → structured raw
      
      Each recipe pairs `/toolify <source>` (initial wiring) + `/loopify` (scheduled sync).
      
    • schema.md 8.2 KB
      # Company Brain schema (fallback)
      
      **Authoritative source: `<vault>/CLAUDE.md`.** This file is a fallback used only when the vault's CLAUDE.md is missing.
      
      Use this as a starter kit when seeding a new team's vault.
      
      ---
      
      ## Folder structure
      
      ```
      people/                → Contacts with context (CRM-lite)
      companies/             → Org profiles (prospects, clients, partners)
      meetings/              → Call/meeting transcripts + notes
      sops/                  → Standard operating procedures
      decisions/             → Decision records (narrative form)
      customer-language/     → Verbatim phrases from customers/prospects
      recurring-questions/   → Questions asked 3+ times → pre-answered
      sales-objections/      → Objection library + best responses
      raw/                   → Uncategorized fallback (minimize use)
      wiki/                  → AI-compiled knowledge base
        INDEX.md             → Master index
      outputs/               → Saved Q&A results, briefs, deliverables
      Projects/              → Team task management (DO NOT modify — pm owns it)
      Team/                  → Internal team-only files (DO NOT modify)
      Templates/             → Note templates (DO NOT modify)
      Drafts/                → In-progress private drafts (DO NOT modify)
      ```
      
      ## File naming conventions
      
      ### `people/`
      - Filename: `<first-name-last-name>.md` (kebab-case, unambiguous per person)
      - If two people share a name: `<name>-<company>.md` or `<name>-<role>.md`
      
      ### `companies/`
      - Filename: `<company-slug>.md` (short, memorable)
      
      ### `meetings/`
      - Filename: `YYYY-MM-DD-<company-or-topic>-<slug>.md`
      - Examples: `2026-06-15-acme-discovery.md`, `2026-06-30-q3-planning.md`
      
      ### `sops/`
      - Filename: `<team>-<process>.md`
      - Examples: `sales-outbound-cadence.md`, `ops-client-onboarding.md`, `content-blog-review.md`
      
      ### `decisions/`
      - Filename: `YYYY-MM-DD-<decision-slug>.md`
      - Example: `2026-06-30-pricing-restructure.md`
      
      ### `customer-language/`
      - Filename: `<theme-slug>.md` (grouped by theme, not per customer)
      - Examples: `pricing-anchoring.md`, `willingness-to-pay.md`, `decision-triggers.md`
      - Append new verbatims to existing themed files; only create new files for new themes
      
      ### `recurring-questions/`
      - Filename: `<question-slug>.md`
      - Example: `how-do-you-handle-migration.md`
      - Include a counter at the top: `asked_count: 7`
      
      ### `sales-objections/`
      - Filename: `<objection-slug>.md`
      - Examples: `too-expensive.md`, `we-already-have-a-tool.md`, `no-budget-this-quarter.md`
      
      ## File front-matter (all structured dirs)
      
      Every file starts with:
      
      ```markdown
      source: <URL / call with X on YYYY-MM-DD / email from Y / manual entry>
      author: <who captured this — email or handle>
      captured: YYYY-MM-DD
      trust: unreviewed       # unreviewed / verified / deprecated / superseded
      sensitivity: internal   # or leadership / confidential
      ```
      
      **`trust` is deliberately not named `status`** — `companies/` and `decisions/` already use `status:` for lifecycle (prospect/customer, decided/reversed). The two fields coexist and must not collide. Files with no `trust:` field (pre-trust-levels vaults) are treated as `unreviewed`.
      
      Every `/cb review` disposition except skip stamps:
      ```markdown
      reviewed: YYYY-MM-DD
      reviewed_by: <handle>
      ```
      
      Verified files: `trust: verified`. Deprecated/superseded files additionally carry:
      ```markdown
      trust: deprecated       # or superseded
      superseded_by: [[replacement-page-or-file]]   # superseded only
      ```
      
      For `people/` files, extend with:
      ```markdown
      role: <current role>
      company: <current company>
      last_touch: YYYY-MM-DD
      tags: [customer, prospect, partner, investor, alumni, ...]
      ```
      
      For `companies/` files, extend with:
      ```markdown
      industry: <industry>
      size: <headcount range>
      status: [prospect, customer, churned, partner, competitor]
      opportunity_size: <ARR / TCV range>
      last_touch: YYYY-MM-DD
      account_owner: <team member>
      ```
      
      For `meetings/` files, extend with:
      ```markdown
      attendees: [name1, name2, name3]
      company: <company slug if external>
      duration_min: <int>
      recording_url: <if available>
      ```
      
      For `sops/` files, extend with:
      ```markdown
      owner: <team member responsible>
      last_reviewed: YYYY-MM-DD
      review_cadence: <quarterly | annually | ad-hoc>
      ```
      
      For `decisions/` files, extend with:
      ```markdown
      deciders: [name1, name2]
      review_by: YYYY-MM-DD  # scheduled re-evaluation
      status: [decided, in-effect, reversed, superseded]
      ```
      
      ## wiki/ page format
      
      Same as `second-brain`:
      
      ```markdown
      # Topic Name
      
      Brief summary (2–3 sentences).
      
      ## Key Concepts
      - Concept with explanation
      
      ## Details
      Main content organized by subtopic.
      
      ## Connections
      - [[Related Topic]] — how it connects
      
      ## Sources
      - `people/jane-doe.md` (added by @alex, 2026-06-30) — role + context
      - `meetings/2026-06-15-acme-discovery.md` (added by @sam) — objection notes
      - `companies/acme.md` (added by @alex, updated by @sam) — deal state
      ```
      
      **Cite by source file + author + optional date.** Multi-author attribution is the discipline that makes the vault trustworthy at team scale.
      
      ## wiki/INDEX.md format
      
      ```markdown
      # Wiki Index
      
      ## Sales
      - [[Acme Corp Deal]] — Active Q3 opportunity, $180K TCV
      - [[Pricing Objections]] — Standard responses to price pushback
      
      ## Customers
      - [[Beta Customer Feedback Themes]] — Aggregated themes from Q2 feedback
      
      ## Ops
      - [[Client Onboarding Flow]] — 6-step process
      
      ## Product
      - [[Roadmap Q3]] — Prioritized initiatives
      
      ## Team & People
      - [[Team Directory]] — Who does what
      - [[Key Contacts at Partners]] — Named POCs at partner orgs
      
      ## Decisions
      - [[Pricing Restructure June 2026]] — Rationale + expected outcome + review date
      
      ## Playbooks
      - [[Sales Outbound Playbook]] — Cadence, templates, escalation
      ```
      
      Extend categories as the team's brain matures.
      
      ## Sensitivity levels
      
      | Level | Access |
      |---|---|
      | `internal` | Any team member (default) |
      | `leadership` | Named leadership list only (list in `Team/leadership.md`) |
      | `confidential` | Named list per file (list in file front-matter or `Team/confidential-access.md`) |
      
      Wiki pages inherit the *highest* sensitivity of any source. If a wiki page cites 4 `internal` sources and 1 `confidential`, the wiki page is `confidential`.
      
      ## Trust levels (`trust:`)
      
      | Trust | Meaning | Query treatment | Compile treatment |
      |---|---|---|---|
      | `unreviewed` | No human has confirmed it (default for new captures; also how files with no `trust:` field are treated) | Usable but flagged — answers note lower confidence | Included; pages mostly built on it get a warning callout |
      | `verified` | Human-reviewed and confirmed | Full weight | Included |
      | `deprecated` | Wrong or obsolete | Never used as context | Excluded; noted in Sources with `reviewed` date + `reviewed_by` |
      | `superseded` | Replaced (`superseded_by: [[target]]`) | Never used; queries point to the replacement | Excluded; Sources link to replacement |
      
      Trust is orthogonal to sensitivity. Trust changes happen through `/cb review` (the human triage pass, which respects sensitivity — reviewers only see files at or below their level) — capture always starts at `unreviewed`.
      
      ## Rules
      
      - **One page per concept** — not per source. Multiple raw files about the same customer merge into one wiki page.
      - **Use `[[wikilinks]]`** for all internal references
      - **Keep pages focused** — split if >500 words
      - **INDEX.md is the root** — keep current
      - **Connections section is mandatory** — every page links to ≥1 other page
      - **No orphan pages**
      - **Preserve nuance** — don't flatten contradictions between authors' captures; note the disagreement
      - **Multi-author attribution required** in Sources sections
      - **Sensitivity respected** in query mode
      - **Deprecate, don't delete** — wrong/stale info gets `trust: deprecated` (or `superseded` + pointer), never removed
      - **Trust respected end-to-end** — deprecated/superseded content never used as context in query or compile
      
      ## Publishing (same as second-brain)
      
      Use pandoc + shared stylesheet at `~/.local/share/makerskills/render.css`:
      
      ```bash
      pandoc "outputs/<file>.md" \
        --css ~/.local/share/makerskills/render.css \
        --metadata title="<title>" \
        --pdf-engine=xelatex \
        -o "outputs/<file>.pdf"
      ```
      
      Company brain outputs commonly leave the vault as: client-facing briefs, quarterly reviews, sales enablement PDFs, onboarding docs. Same rendering pattern as second-brain.
      
    • vault-config.md 3.1 KB
      # Vault config
      
      ## Location
      
      Company brain lives at `${COMPANY_BRAIN_VAULT:-$HOME/Documents/CompanyBrain}/`.
      
      Override in `~/.zshenv`:
      
      ```bash
      export COMPANY_BRAIN_VAULT="$HOME/code/acme-company-brain"    # per-team path
      ```
      
      For multi-team users (e.g., a consultant maintaining vaults for multiple clients):
      
      ```bash
      export COMPANY_BRAIN_VAULT="$HOME/code/current-client-brain"
      
      # Switch by aliasing:
      alias cb-acme="export COMPANY_BRAIN_VAULT=$HOME/code/acme-brain"
      alias cb-beta="export COMPANY_BRAIN_VAULT=$HOME/code/beta-brain"
      ```
      
      The skill respects whatever `$COMPANY_BRAIN_VAULT` points to at invocation time.
      
      ## Storage backends
      
      Company brains live in one of three places, in order of team-scale readiness:
      
      | Backend | When to use | Trade-offs |
      |---|---|---|
      | **Obsidian vault (local, git-synced)** | 1-10 person teams | Simplest, portable, git handles history + attribution. Requires everyone to install Obsidian. |
      | **Shared git repo** (no Obsidian) | 5-50 person teams, engineering-heavy | Everyone reads markdown in their editor of choice. Git is the sync layer. Requires markdown literacy. |
      | **Notion / Coda backed by markdown export** | 20+ person teams, non-technical majority | Team edits in Notion; nightly export → git-backed markdown for company-brain. Extra sync layer, but non-engineers can contribute. |
      
      Company-brain skill treats all three the same — reads/writes markdown. The backend choice is a team decision, not a skill decision.
      
      ## Initial setup for a new team
      
      ```bash
      # 1. Pick a path
      export COMPANY_BRAIN_VAULT="$HOME/code/mycompany-brain"
      
      # 2. Create the vault
      mkdir -p "$COMPANY_BRAIN_VAULT"
      cd "$COMPANY_BRAIN_VAULT"
      
      # 3. Init git (if not already)
      git init
      git remote add origin git@github.com:mycompany/company-brain.git
      
      # 4. Create structured raw dirs
      mkdir -p people companies meetings sops decisions customer-language recurring-questions sales-objections raw wiki outputs Projects Team Templates Drafts
      
      # 5. Seed CLAUDE.md (copy from ~/code/makerskills/skills/company-brain/references/schema.md as starting point)
      cp ~/code/makerskills/skills/company-brain/references/schema.md CLAUDE.md
      
      # 6. Seed INDEX.md
      echo "# Wiki Index\n\n## Sales\n\n## Customers\n\n## Ops\n\n## Product\n\n## Team & People\n\n## Decisions\n\n## Playbooks" > wiki/INDEX.md
      
      # 7. Seed .gitignore
      cat > .gitignore <<EOF
      .DS_Store
      .obsidian/workspace*
      .obsidian/cache
      .trash/
      Drafts/*.private.md
      EOF
      
      # 8. First commit
      git add . && git commit -m "Seed company brain schema"
      git push -u origin main
      ```
      
      ## Sensitivity access lists (optional)
      
      If using sensitivity tagging, maintain two access lists in `Team/`:
      
      ```
      Team/leadership.md         # emails/handles that can read `leadership` content
      Team/confidential-access.md # per-topic access lists for confidential wiki pages
      ```
      
      Company-brain skill reads these when respecting sensitivity in `query` mode.
      
      ## Backup
      
      Same as any git repo. Push to a hosted remote (GitHub / GitLab / Bitbucket). Recover by cloning.
      
      For sensitive content in the vault, treat it like any git repo with secrets — encrypted at rest via `git-crypt` if the remote isn't fully trusted.
      
  • SKILL.md 19.2 KB
    ---
    name: company-brain
    description: Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so Claude can answer questions on your team's behalf. Team-scope sibling to second-brain (which is personal-scope). Seven modes — capture (drop something into the right structured dir), compile (process into wiki pages, update INDEX.md), query (answer from the corpus with trust weighting, save to outputs/), review (triage queue — verify / deprecate / supersede unreviewed and stale captures so wrong info never becomes context), lint (orphans / stale / contradictions / gaps), connect (suggest new wikilinks), search (quick lookup). Structured raw dirs (people/, companies/, meetings/, sops/, decisions/, customer-language/, recurring-questions/, sales-objections/) instead of second-brain's flat type-prefixed raw/. Multi-author aware — every capture stamps author + timestamp + trust status. Optional auto-sync from Fathom/Gong/Granola call transcripts, Slack/email exports, CRM. Defaults to a vault at ${COMPANY_BRAIN_VAULT:-$HOME/Documents/CompanyBrain}/. Triggers on "/company-brain," "/cb," "capture this into the team brain," "log this meeting," "add this person to the team brain," "save this SOP," "compile the company wiki," "query the team brain," "what does the team know about X," "review the company brain," "cull the team brain," "lint the company brain," "who's the internal expert on X."
    metadata:
      version: 0.3.0
    ---
    
    # /company-brain — Team-shared AI-ready knowledge base
    
    **Company Brain** *(n.)*: Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so Claude can answer questions on your team's behalf.
    
    Team-scope sibling to `second-brain` (personal-scope). Same core compile → wiki → outputs pattern; different raw schema optimized for multi-author, sales-heavy, ops-heavy team use.
    
    Also the operational backbone for the **Company Brain Setup** productized service (was previously called "Second Brain as a Service"; renamed to match the skill).
    
    ## Mental model
    
    Three layers, same as second-brain — but the raw/ layer is *structured*, not flat:
    
    ```
    raw/          →  wiki/         →  outputs/
    (structured      (compiled        (generated
     by category)     interlinked)     artifacts)
    ```
    
    **Structured raw/ dirs** (each is its own top-level folder in the vault):
    
    | Dir | What lives here |
    |---|---|
    | `people/` | Contacts with context — CRM-lite. One markdown file per person. |
    | `companies/` | Org profiles — last touchpoint, opportunity size, status. One file per company. |
    | `meetings/` | Call/meeting transcripts + notes. Naming: `YYYY-MM-DD-<company-or-topic>-<slug>.md`. Auto-sync source. |
    | `sops/` | Standard operating procedures. Named: `<team>-<process>.md` (e.g., `sales-outbound-cadence.md`). |
    | `decisions/` | Decision records (narrative form; `decide` skill's structured form is different). |
    | `customer-language/` | Verbatim phrases from prospects/customers/users. Fuels copy, headlines, objections. |
    | `recurring-questions/` | Questions asked 3+ times across calls. Each becomes a pre-answered SOP/FAQ/script. |
    | `sales-objections/` | Library of objections + best responses. Assembled into sales scripts. |
    | `raw/` | Legacy / uncategorized captures (fallback bucket, minimize use). |
    
    `wiki/`, `outputs/`, and `INDEX.md` work the same as second-brain.
    
    **Reserved dirs** (never modified by company-brain): `Projects/`, `Team/`, `Templates/`, `Drafts/`.
    
    ## Multi-author discipline
    
    Every capture stamps:
    
    ```markdown
    source: <URL / call / email / manual entry>
    author: <who added this — email or handle>
    captured: YYYY-MM-DD
    trust: unreviewed
    ```
    
    Wiki pages track cumulative contributions in the `## Sources` section (per source file, per author). No overwriting — always append + attribute.
    
    **Sensitivity tagging** (optional but recommended):
    
    ```markdown
    sensitivity: internal        # any team member can read
    sensitivity: leadership      # exec team only
    sensitivity: confidential    # named list only (list access in the file)
    ```
    
    Default: `internal`. Query mode respects sensitivity — refuses to include `confidential` content unless the invoker is on the access list.
    
    ## Trust levels
    
    The other half of multi-author discipline: not everything captured deserves equal weight as context. Every structured-raw file carries a `trust:` field.
    
    (The field is named `trust`, not `status`, because `companies/` and `decisions/` already use `status:` for lifecycle — prospect/customer, decided/reversed — and the two must not collide.)
    
    | Trust | Meaning | Query treatment |
    |---|---|---|
    | `unreviewed` | Captured but no human has confirmed it (default for every new capture) | Usable, but flagged — answers leaning on it note lower confidence |
    | `verified` | A human reviewed it and confirmed it's right | Full weight |
    | `deprecated` | Wrong or obsolete — kept for history only | Never used as context |
    | `superseded` | Replaced by something newer — add `superseded_by: [[target]]` | Never used as context; queries point to the replacement |
    
    Deliberately an enum, not a numeric weight — teams keep a four-value field current; nobody maintains a 0–1 float.
    
    **Deprecation replaces deletion.** The "never delete raw files" rule stays intact: when info turns out wrong or stale, mark it `deprecated` (or `superseded` with a pointer) instead of removing it. History is preserved; context is protected.
    
    Trust is orthogonal to sensitivity — a file can be `verified` + `confidential`, or `unreviewed` + `internal`.
    
    **Existing vaults**: files predating trust levels simply lack the `trust:` field — treat them as `unreviewed`. If the vault's `CLAUDE.md` schema predates trust levels, offer to add the trust spec to it on the first `/cb review` run (the vault's CLAUDE.md stays authoritative — extend it, don't override it).
    
    ## Step 1 — Load vault config + schema
    
    1. Read `references/vault-config.md` for the vault path (default: `${COMPANY_BRAIN_VAULT:-$HOME/Documents/CompanyBrain}/`)
    2. Read `<vault>/CLAUDE.md` for the authoritative team schema. If present, trust it over `references/schema.md` — the team's vault is the source of truth.
    3. If no `<vault>/CLAUDE.md`, fall back to `references/schema.md` — the team schema starter kit.
    
    ## Step 2 — Parse mode
    
    | Invocation | Mode |
    |---|---|
    | `/cb capture` / `/company-brain capture` / "capture this into the team brain" | **capture** |
    | `/cb compile` / "compile the company wiki" | **compile** |
    | `/cb query <q>` / "what does the team know about X" | **query** |
    | `/cb review` / "review the company brain" / "cull the team brain" | **review** |
    | `/cb lint` / "lint the company brain" | **lint** |
    | `/cb connect` / "find cross-team connections" | **connect** |
    | `/cb search <term>` / "search the company brain" | **search** |
    
    ## Step 3 — Run the mode
    
    ### capture
    
    **Same intake mechanics as second-brain, but the routing is different — pick the structured dir based on content type.**
    
    1. **Detect content type + route to the right dir**:
       - Call/meeting transcript → `meetings/YYYY-MM-DD-<company-or-topic>-<slug>.md`
       - Person's LinkedIn / bio / contact context → `people/<name-slug>.md`
       - Company profile / prospect / client → `companies/<company-slug>.md`
       - Documented process / how-we-do-X → `sops/<team>-<process>.md`
       - Decision made by leadership / team → `decisions/YYYY-MM-DD-<decision-slug>.md`
       - Verbatim customer quote → `customer-language/<theme-slug>.md` (append to existing themed file if one exists)
       - Question asked in a call → `recurring-questions/<question-slug>.md` (append counter if repeat)
       - Sales objection heard → `sales-objections/<objection-slug>.md` (append variant if repeat)
       - If ambiguous, ask.
    
    2. **Add multi-author metadata** (top of file):
       ```markdown
       source: <URL / call with X on YYYY-MM-DD / email from Y / etc.>
       author: <who captured this>
       captured: YYYY-MM-DD
       trust: unreviewed      # every capture starts unreviewed — review mode promotes it
       sensitivity: internal  # or leadership / confidential
       ```
    
    3. **Save + report** file path + one-line summary.
    
    Don't compile into the wiki here — capture is fast intake.
    
    ### compile
    
    Same core pattern as `second-brain`'s compile mode — process unprocessed structured-raw files into wiki pages, update INDEX.md, add Sources sections.
    
    **Differences from second-brain:**
    
    - **Multi-author attribution**: Sources section includes author, not just filename
      ```markdown
      ## Sources
      - `people/jane-doe.md` (added by @alex, 2026-06-30) — CTO of Acme, evaluated us Q2
      ```
    - **Cross-category compilation**: a wiki page on "Acme Corp deal" might pull from `companies/acme.md`, `meetings/2026-06-15-acme-discovery.md`, `sales-objections/acme-pricing.md`, and `people/jane-doe.md` — all into one wiki page.
    - **Sensitivity inheritance**: wiki pages inherit the highest sensitivity of any source. If any source is `confidential`, the wiki page is `confidential`.
    - **Trust filtering**: `deprecated` and `superseded` sources are excluded from wiki pages. If a source that already fed a wiki page later gets deprecated, recompile flags the affected pages for re-review and drops the source, noting it in Sources using the file's `reviewed` + `reviewed_by` stamps: `- meetings/2026-06-15-x.md (deprecated 2026-07-01 by @alex)`. Pages built mostly from `unreviewed` sources get a `> ⚠ Mostly unreviewed sources` callout at the top.
    - **INDEX.md categories** for teams: `Sales`, `Customers`, `Ops`, `Product`, `Team & People`, `Decisions`, `Playbooks`. Extend as needed.
    
    Everything else (one-page-per-concept, `[[wikilinks]]`, Connections mandatory, quality > quantity) is identical.
    
    ### query
    
    Same as second-brain query, plus:
    
    - **Sensitivity check first**: identify the invoker; refuse to include content above their sensitivity level.
    - **Trust rules**: prefer `verified` over `unreviewed`, and recent over old. Never use `deprecated` or `superseded` content as context — at most cite it as a pointer: *"(deprecated — see [[replacement]])"*. When two sources conflict, prefer the newer + higher-status one AND surface the disagreement in the answer.
    - **Confidence flag**: if the answer leans mostly on `unreviewed` sources, say so up front: *"Low confidence — 3 of 4 sources are unreviewed. Run `/cb review` to firm these up."*
    - **Author-aware answers**: when citing, include who contributed the info: *"Per [[Acme Deal]] (source: `meetings/2026-06-15-acme-discovery.md` by @alex)..."*
    - **Route external gaps to `deep-research`**, same as second-brain.
    
    Save to `outputs/<YYYY-MM-DD>-<question-slug>.md` with the answer + wiki pages consulted + sensitivity level of the output.
    
    ### review
    
    **The human culling pass.** This is how a team keeps garbage-in from becoming garbage-context: everything gets captured freely (nothing is lost), but only reviewed info earns full weight.
    
    0. **Sensitivity check first** — same rule as query mode: identify the invoker and exclude files above their sensitivity level from the queue. Report the exclusion count: *"3 items above your sensitivity level were skipped — someone on the leadership list needs to review those."*
    
    1. **Build the triage queue**:
       - All `trust: unreviewed` files across the structured-raw dirs (including files with no `trust:` field at all), newest first
       - Everything lint flags (checks 1–12; check 13 is about review itself)
       - Files whose review dates have lapsed, where those fields exist: `decisions/` files past `review_by`, `sops/` files past `last_reviewed` + `review_cadence`
    
    2. **Walk the queue one item at a time.** For each file show: one-line summary, source, author, captured date, and which wiki pages cite it. Offer four dispositions — every disposition except skip stamps `reviewed: YYYY-MM-DD` + `reviewed_by: <handle>`:
       - **verify** → `trust: verified`
       - **deprecate** → `trust: deprecated` (wrong or obsolete; kept for history)
       - **supersede** → `trust: superseded` + `superseded_by: [[target]]` (ask for the replacement)
       - **skip** → leave as-is, resurfaces next review
    
    3. **Batch-apply the frontmatter updates** — don't rewrite file bodies, only the metadata block.
    
    4. **Flag downstream effects**: if a deprecated/superseded file feeds existing wiki pages, list those pages and offer to recompile them now.
    
    5. **Close with a summary**: *"12 reviewed: 8 verified, 3 deprecated, 1 superseded. 2 wiki pages recompiled. Next review suggested: <date>."* Save the summary to `outputs/<YYYY-MM-DD>-review.md` so the cull itself has an audit trail.
    
    **Cadence**: weekly for active vaults; pair with `loopify` to schedule it so the cull actually happens instead of depending on someone remembering. A vault where reviews lapse >1 month shows up in lint (check 13).
    
    ### lint
    
    Same seven checks as second-brain PLUS:
    
    8. **Stale people/companies** — `people/` or `companies/` file with no update in >6 months for active accounts
    9. **Recurring-questions above threshold** — questions asked 5+ times without a wiki page or SOP
    10. **Objections without responses** — `sales-objections/` files with no linked response in `sops/` or `wiki/`
    11. **SOP freshness** — SOPs not touched in >12 months (may be stale as the business evolves)
    12. **Author load imbalance** — one contributor doing >80% of captures (usually signals the vault is one-person-dependent — bad for team continuity)
    13. **Review backlog** — >20 files sitting at `trust: unreviewed`, or no review pass (no `outputs/*-review.md`) in >1 month. Points at `/cb review`.
    
    ### connect
    
    Same as second-brain plus **cross-category link suggestions** — e.g., `sales-objections/pricing-too-high.md` should link to `customer-language/willingness-to-pay.md` and `sops/discovery-call-cadence.md` if they exist.
    
    ### search
    
    Same. Grep across all structured-raw dirs + `wiki/`.
    
    ## Optional: auto-sync sources
    
    Team vaults benefit from automated capture. See `references/auto-sync-sources.md` for the setup patterns:
    
    | Source | What it captures | Setup |
    |---|---|---|
    | **Fathom / Gong / Granola** | Call/meeting transcripts | Webhook → append to `meetings/` |
    | **Slack export** | Team discussions worth preserving | Manual or scheduled export → `raw/slack-<channel>-<date>.md` |
    | **Email (Front / Missive / Superhuman)** | Customer-facing threads worth preserving | Forward-to-address → append to `people/` or `companies/` |
    | **CRM (HubSpot / Attio / Pipedrive)** | Deal state, contact info | Periodic sync → `companies/` + `people/` |
    
    Auto-sync is optional — most teams start with manual capture and add automation as the vault matures. Pair with `loopify` to schedule periodic sync jobs.
    
    ## Multi-writer git sync (team members + remote agents)
    
    A team vault is multi-writer by definition, and git is the coordination layer. Back the vault with a hosted remote (GitHub/GitLab); the remote then doubles as a **capture API for agents without filesystem access** — cloud agents, scheduled sync jobs, teammates' machines. Anything that can reach the git host's API (directly, or through an MCP integration layer like [Executor](https://executor.sh)) can read the wiki and commit captures into the structured raw dirs.
    
    The discipline that keeps writers from diverging:
    
    1. **Every local session pulls before writing**: `git pull --rebase --autostash` before vault work, push after committing. With multiple humans *and* agents committing, local copies go stale fast.
    2. **Obsidian users**: the community **Git** plugin with auto-pull on an interval (~10 min) + pull-on-startup, auto-commit **off** — commits should stay semantic (one per capture/compile), not "vault backup" noise. Every team member's machine needs this, not just one.
    3. **Remote agents and auto-sync jobs commit append-mostly**: new files in the structured dirs, descriptive commit messages, author stamped in the capture frontmatter (the multi-author trust model depends on it). Distinct-file appends make conflicts rare; rebase absorbs the rest.
    
    Verify the loop once per machine when onboarding: remote commit via API → local pull → file appears.
    
    ## Composes with
    
    - **`second-brain`** — sibling. Use `second-brain` for your personal wiki; `company-brain` for the team's. A person can maintain both simultaneously with separate vault paths.
    - **`skillify`** — use to author new skills that read from the company brain (e.g., a `weekly-team-brief` skill that queries `company-brain` every Monday).
    - **`loopify`** — schedule auto-sync jobs (Fathom pull daily, Slack export weekly, review pass weekly, INDEX lint monthly).
    - **`toolify`** — wire up integrations that feed the company brain (Fathom webhook receiver, Attio API, etc.).
    - **`deep-research`** — when `query` finds gaps, route external. Save deep-research results into `raw/` for future compilation.
    - **`decide`** — `decisions/` folder complements `decide`'s structured archive. `decide` records the *evaluation*; `decisions/` records the *narrative + outcome + review notes*.
    - **`pm`** — team task management sits in `Projects/` (reserved from company-brain). `pm` owns Projects/; company-brain reads it for context but doesn't modify.
    - **`jab-hook`** — `customer-language/` fuels social copy that resonates with actual prospect language.
    - A blog-drafting skill (yours or a companion plugin) — pulls from `customer-language/`, `recurring-questions/`, and `sops/` for authoritative blog drafts.
    
    ## Sibling implementations (reference)
    
    Same lineage as `second-brain`:
    
    - **[Gbrain](https://github.com/garrytan/gbrain)** — Garry Tan's team-scale brain (146K pages, 24K people entities). Postgres/PGLite backed with graph traversal + scheduled maintenance. When a team's company-brain outgrows markdown-only, Gbrain is the upgrade path.
    - **[Hermes' `llm-wiki`](https://hermes.team)** — reference for the 3-folder pattern.
    - **Notion AI / Glean / Mem** — commercial "Company OS" tools. Company-brain is the Claude-native, markdown-first alternative — cheaper, more portable, better for teams that already live in Obsidian / Git-backed docs.
    
    ## Notes on quality
    
    - **Structured raw > flat raw at team scale.** Second-brain's type-prefix works for one person; teams need dedicated dirs for people/companies/meetings/etc. so multi-author search stays fast.
    - **Multi-author attribution is non-negotiable.** Every file stamps `author:` and `captured:`. Wiki pages cite by source + author.
    - **Sensitivity is respected end-to-end.** Query mode refuses to include content above the invoker's level. Wiki pages inherit the highest sensitivity of any source.
    - **Never delete raw files.** Same rule as second-brain — the structured dirs are the source of truth. When info is wrong or stale, **deprecate, don't delete** — `trust: deprecated` removes it from context while preserving history.
    - **Capture freely, weight deliberately.** The trust enum means dumping information in is safe — nothing unreviewed poisons answers at full weight, and `/cb review` is the regular cull that promotes or retires it.
    - **Never modify** `Projects/`, `Team/`, `Templates/`, `Drafts/` during company-brain operations.
    - **Auto-sync is optional.** Start manual; automate as the vault matures. Don't burn cycles on Fathom webhooks before the team is capturing meetings regularly by hand.
    - **One person shouldn't be the whole vault.** If lint flags author-load imbalance >80%, the team is one bus-factor away from losing the brain. Broaden contribution.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related