I got 40% through before I realized how much was missing
I tried to write down everything an AI agent needs to know about my company. The idea was simple: put my ICP, personas, use cases, messaging framework, and voice guide into Markdown files in a git repo, structured so AI agents can read them like documentation.
Building it was harder than I expected.
I had an ICP in a Google Doc, personas in a slide deck, messaging in Notion, and a voice guide that lived entirely in my head. Each one told a slightly different story. The website said one thing, the sales deck said another, and the Notion page wasn’t current. Pulling it all into one structured format exposed the gaps.
I’d call that the most useful part of the whole exercise.
AI agents today
Every B2B company is experimenting with AI agents. Marketing uses Claude to draft blog posts. Sales uses ChatGPT to prep for discovery calls. Product marketing asks Gemini to write competitive battle cards.
Each of these agents produces reasonable output. None of it sounds like it came from the same company.
That’s not an AI problem. It’s a context problem. These agents are working from whatever fragments you paste into the prompt window. A paragraph from the website here, a bullet from the pitch deck there, a half-remembered positioning line that may or may not be current. The agent does its best with what it has, which isn’t much.
The output reflects the input. Fragmented context produces fragmented messaging. Consistent context produces consistent messaging. If you want every agent to sound like your company, every agent needs to read from the same source of truth.
What a company brain looks like
A company brain is a structured knowledge base that lives in a git repository. It’s Markdown files organized into layers, each building on the one below it.
The foundation layer
This is who you sell to and what they’re trying to accomplish. It includes:
ICP definition. Not just firmographics. A good ICP documents the pains your buyers feel, the signals that indicate they’re in-market, their buying process, and critically, who you don’t sell to. The anti-ICP is just as important as the ICP. It prevents your agents from generating content or outreach for accounts that will never close.
Buyer personas. Full profiles with goals, KPIs, day-in-the-life context, decision-making patterns, content preferences, and objections with responses. These aren’t the two-paragraph marketing personas that sit in a slide deck. They’re detailed enough that an agent can prep for a discovery call with a VP of Sales differently than it would for a RevOps manager.
Use cases. The specific problems your product solves, documented with triggers, current-state pain, desired outcomes, gotchas, and gaps. These connect personas to your product in concrete terms.
The positioning and messaging layer
This is how you talk about it, derived from the foundation.
Core positioning. Your category, positioning statement, differentiators, competitive landscape, and the strategic narratives you use with each persona. This is where you define what you are and, just as importantly, what you’re not.
Messaging framework. Value propositions with approved and forbidden language, objection handlers with proof points, funnel-stage messaging from awareness through onboarding, and persona-specific messaging packages that tell an agent what to lead with, support with, close with, and avoid for each buyer.
Brand voice. Voice attributes, tone-by-context guidance, words you use, and words you avoid with reasons and replacements. The forbidden language list is one of the most powerful parts of the whole system. It’s not about censorship. It’s about preventing the kind of generic, hype-driven language that makes every B2B company sound identical.
The governance layer
This is the rules for how agents use everything above.
Read order. A mandatory sequence that tells agents which files to load and in what order. Voice first, then audience, then content, then rules. This ensures context builds progressively instead of agents cherry-picking whatever seems relevant.
Citation requirements. Every factual claim in agent output must cite a source file and section. This forces grounding. When an agent has to write [Source: icp.md#pain-points] next to a claim, it can’t hallucinate positioning that doesn’t exist in the brain.
Discipline-specific guidelines. Marketing, sales, product marketing, product, and customer success each get their own usage guide with output formats, mandatory rules, and channel-specific guidance. A blog post and a cold email are different artifacts with different constraints, even when they’re drawing from the same messaging.
Why git and not a Google Doc
Version history that actually means something. Google Docs tracks changes, but it doesn’t track why. Git commits have messages. When your positioning shifts from “AI-powered CRM” to “AI-native CRM,” the commit explains the reasoning. Six months from now, when someone asks why the language changed, the answer is in the log.
Pull requests as positioning reviews. When someone proposes a messaging change, it goes through a PR. The diff shows exactly what’s changing. Stakeholders can comment on specific lines. You can require approvals before changes merge. This is how software teams manage code quality. It works just as well for brand quality.
Branching for campaigns. Need to test aggressive messaging for a specific campaign without changing the core positioning? Create a branch. If it works, merge it back. If it doesn’t, delete the branch. The main brain stays clean.
Validation in CI. You can lint your brand. Run automated checks that verify every file has valid frontmatter, every citation points to a real file and heading, and no forbidden words have crept into the messaging. This runs on every pull request, which means brand drift gets caught before it ships.
One connection point for every agent. A technical founder opens the repo in terminal with Claude Code. Their first marketing hire connects the repo to an AI workspace and asks it to write a blog post. A sales rep asks it to prep for a discovery call. A new hire reads through the repo and gets the company. Everyone connects the whole repo.
You can’t do that in a Google Doc.
The aha moment
When I started building this, I thought I was solving a content quality problem. Get better inputs, get better outputs from AI agents.
The real insight was about alignment.
When every agent, or human, reads from the same repo, a prospect gets the same story whether they’re browsing the website, sitting in a demo, or reviewing onboarding materials. The company shows up aligned regardless of which team drove the touchpoint.
The ICP informs the personas. The personas inform the messaging. The brand voice informs the tone. Skip a file and the output drifts. Include everything and the output is coherent. Not because you reviewed every piece of content, but because the system itself enforces consistency.
This is especially powerful as companies scale. At five people, alignment happens through conversation. At fifty, it happens through documents that nobody reads. At five hundred, it happens through a system that every agent and every employee connects to.
What goes wrong without one
I work with B2B SaaS companies on their GTM, and I see the same patterns when teams skip this step.
The drift problem. Marketing writes a blog post using the website copy. Sales writes an email using the pitch deck. PMM updates the pitch deck but not the website. Now you have three versions of your positioning in the wild. Each one is close enough to seem right and different enough to confuse prospects.
The onboarding problem. A new marketing hire asks “what’s our messaging?” and gets four links: a Google Doc from last year, a Notion page from two quarters ago, three slides from the latest board deck, and a Slack thread where the CEO riffed on positioning. Which one is current? All of them, kind of. None of them, exactly.
The AI amplification problem. Without structured context, AI agents default to generic B2B language. “Streamline your workflow.” “Unlock growth.” “Seamless integration.” These are the phrases that every company uses because no company gave the agent specific enough context to say something different. AI doesn’t make your messaging worse. It makes your messaging gaps visible at scale.
How to build one
Start with reconciliation, not writing
The first step isn’t creating new content. It’s finding what you already have and reconciling the differences.
Pull your ICP from wherever it lives. Pull your personas. Pull your messaging. Put them side by side. Where do they agree? Where do they contradict? Where are the gaps?
This reconciliation process is uncomfortable. You’ll discover that the website targets a different buyer than the sales team sells to. You’ll find messaging that was never formally approved but became default through repetition. You’ll realize your voice guide is actually three people’s preferences averaged together.
That’s the point. Better to discover these gaps in a Markdown file than in a prospect’s inbox.
Structure for agents, not humans
Humans can skim a document and extract what they need. Agents read everything literally. Structure matters.
Use consistent frontmatter with metadata fields: title, version, last updated, owner, status. This lets agents know what they’re reading and how current it is.
Use clear section headings that agents can reference in citations. “Pain points” is better than “The challenges our buyers face” because agents can cite [Source: icp.md#pain-points] cleanly.
Use tables for structured data like firmographics, buying signals, and competitive comparisons. Agents parse tables more reliably than they parse prose.
Include explicit anti-patterns. Don’t just say what your product does. Say what it doesn’t do, who it’s not for, and what language to avoid. Agents need boundaries as much as they need instructions.
Assign ownership
One discipline should own the brain. In most B2B companies, that’s product marketing.
PMM is the only discipline that recommends changes to the brain itself. Marketing, sales, product, and customer success consume it. They can flag issues or request changes, but the updates go through PMM review. This prevents the brain from becoming a wiki that everyone edits and nobody maintains.
Set a cadence for drift checks. Monthly works for most teams. Compare what’s in the brain against what’s on the website, in the sales deck, and in recent content. Score any discrepancies by severity and fix them in priority order.
Start small, iterate
You don’t need every file on day one. Start with the foundation:
- ICP — who you sell to, their pains, their buying signals, who you don’t sell to
- 2-3 personas — detailed enough to differentiate agent output by buyer
- Core positioning — category, positioning statement, differentiators
- Brand voice — attributes, tone guidance, forbidden language
That’s four files. Connect them to an agent and test the output. Does the blog post sound like your company? Does the discovery prep reference the right pains? Does the email avoid the forbidden words?
Add messaging framework, use cases, and discipline-specific guidelines as you need them. Each file you add makes the output more precise.
What this changes
The company brain isn’t really about AI agents. It’s about deciding what your company actually says and writing it down in a format that’s structured enough to be useful, versioned enough to be trustworthy, and connected enough to keep everyone aligned.
AI agents are just the forcing function. They expose every gap in your positioning because they take your inputs literally. They amplify every inconsistency because they operate at scale. They reward clarity because structured context produces structured output.
The companies that build this now will have a compounding advantage. Every new agent, every new hire, every new campaign starts from the same foundation. The story stays coherent as the team grows.
The companies that don’t will keep pasting paragraphs into prompt windows and wondering why nothing sounds quite right.
I open-sourced a template for this at github.com/wpsands/bravenger. It ships with a fictional company (NovaCRM) as a worked example. Fork it, replace the example, and your agents have context from day one.