The Revenue Architecture
⚙️ How-To Guide · Sales Enablement Series

The .md file is the agent. Here's how to write it.

Claude is your reasoning engine. MCP connects it to your data. But the quality of your knowledge agent lives entirely in the context you give it. That context lives in a Markdown file. This is how you write a good one.

Series RevOps Intelligence Series
Type Technical How-To
Read Time 12 min

When people think about building a sales knowledge agent, they focus on the tech. Which MCP servers to connect. Which Slack bot framework to use. Whether to go Python or TypeScript. How to wire up the API.

That stuff matters. But it's not where agents succeed or fail.

Agents succeed or fail on context. And the container for context — the thing that tells Claude who it is, what it knows, how it should behave, and what it should do when the rep asks a question — is a Markdown file.

The .md file is the agent. It's the system prompt, the rules of engagement, the knowledge base summary, the behavioral guardrails, and the connection map — all in one document that Claude reads before it does anything.

Enablement teams who understand this will build agents that are sharp, reliable, and genuinely useful. Enablement teams who treat the .md file as an afterthought will build agents that hallucinate, hedge, and confuse more than they help.

What a .md file actually is

Markdown is a plain text format. No special software. No proprietary format. Just a text file with a .md extension that uses a few simple conventions — headings with #, bold with **text**, lists with -.

Claude reads Markdown natively. It understands structure. When you give it a well-organized .md file, it can reason about the hierarchy — what's a heading vs. a detail, what's a rule vs. an example, what's a connection vs. an instruction.

In the context of a knowledge agent, your .md file is the system prompt. It's what Claude reads before it sees any rep's question. It tells Claude everything it needs to know to behave correctly — its role, its sources of truth, its constraints, and the shape of a good answer.

A weak .md file produces a weak agent. You can have perfect MCP connections and a perfectly configured API and still build something that frustrates every rep who touches it.

The 8 critical attributes
Section 01

What every sales knowledge agent .md file needs

These aren't suggestions. If any of these are missing or weak, your agent will behave unpredictably. Some are structural. Some are behavioral. All of them matter.

Attribute
What it does
Priority
Role & Identity
Tells Claude exactly who it is in this context. Not "you are an AI assistant." Something specific: what team it serves, what it's expert in, what it's not.
Critical
Sources of Truth
Which MCP connections to trust for which type of question. Salesforce for deal context. Notion for messaging. Google Drive for docs. Without this, Claude will guess — badly.
Critical
Behavioral Rules
How Claude should respond: cite sources, don't make up features, never quote pricing from memory, always ask for deal stage before giving stage-specific advice.
Critical
Knowledge Scope
What Claude knows and doesn't know. Explicit scope prevents hallucination. "I don't have access to real-time pricing — check the pricing sheet in Drive" is far better than a fabricated number.
Critical
Tone & Persona
How the agent communicates. Direct but not curt. Knowledgeable but not condescending. Concise by default, detailed on request. This shapes every interaction.
Important
Scenario Patterns
Example question → answer pairs. The most underrated attribute. Showing Claude 6-10 real rep questions with ideal responses dramatically improves quality without additional fine-tuning.
Important
Escalation Logic
When to say "I don't know" vs. "ask your manager" vs. "check with legal." Agents without clear escalation paths become overconfident and generate liability.
Important
Update Protocol
How stale is too stale? Who owns updates? When a product ships and the .md isn't updated, the agent gives wrong answers with full confidence. Version the file. Own the cadence.
Operational
MCP calls and what your .md needs to tell Claude about each one
Section 02

The four connections. What each one needs from your context file.

Claude doesn't automatically know which tool to use for which question. You have to tell it. And you have to tell it precisely — not just "you have access to Salesforce" but "when a rep asks about a specific deal, account, or pipeline stage, pull from Salesforce first. When they ask about competitive positioning, go to Notion."

Here's what your .md file needs to define for each MCP connection:

Notion MCP

The Knowledge Base

Your structured enablement content. Messaging frameworks, competitive intel, objection handling, vertical playbooks, pricing logic, process guides.

Your .md needs to specify
Which Notion pages are authoritative for which question types
How fresh the content is and how to flag if it looks outdated
When to surface the page title and link as a citation
What to do if the relevant page doesn't exist yet
Google Drive MCP

Documents & Assets

Pitch decks, battle cards, case studies, RFP templates, security questionnaire guides, pricing sheets. The actual files reps use in deals.

Your .md needs to specify
Which folders are in scope and which are not
How to surface a link vs. extract a direct answer
File naming conventions so Claude can find the right version
What "current" means — e.g., "always prefer docs modified in last 90 days"
Salesforce MCP

Deal & Account Context

Pipeline stage, account history, contact roles, opportunity size, previous interactions, forecast category. The live context of a rep's specific deals.

Your .md needs to specify
Which fields Claude is allowed to read and surface
Role-based access rules — rep sees only their own deals
How to combine deal stage with knowledge base content
What to do with incomplete or stale CRM data (and who to flag)
Slack MCP

Team Signal & Context

Recent deal room discussions, team-wide announcements, ask-the-expert threads, informal competitive intel that hasn't made it into Notion yet.

Your .md needs to specify
Which channels are in scope (e.g., #deal-support, #competitive-intel)
Recency window — e.g., "prioritize messages from last 30 days"
When Slack context supplements vs. overrides Notion
Privacy rules — no surfacing DMs or personal channels
Key principle

Claude reasons about which tool to use based on the question type. Your .md file is what trains that routing logic. Think of it as writing decision rules for a smart colleague: "if the rep asks X, your first stop is Y, and here's what to do if Y doesn't have the answer."

What a good .md file looks like
Section 03

An annotated example. Not a template — a starting point.

Every company's .md file will look different because every company's product, team, and sales motion is different. This is a structural skeleton with annotations for what belongs in each section. Replace every placeholder with your real content before it goes anywhere near a rep.

knowledge-agent-system-prompt.md
# Role & Identity

# ↑ This is the most important section. Be specific.
# Don't say "you are a helpful assistant." Say exactly
# what this agent does and for whom.

You are the Sales Knowledge Agent for [Company Name]'s revenue team.
You help Account Executives and SDRs find accurate answers during
live deals — fast. You are an expert in our product, our competitive
landscape, and our sales process. You are not a coach (that's a
separate agent). You surface information. You cite sources.
You say "I don't know" when you don't know.

# Sources of Truth

# ↑ Tell Claude exactly which tool to use for which question type.
# Routing logic lives here. This prevents hallucination.

- **Competitive positioning and objections** → Notion: /competitive-intel/
- **Product capabilities and roadmap** → Notion: /product-knowledge/
- **Pricing and packaging** → Google Drive: /Sales/Pricing/ (always fetch
    the most recently modified file, never quote from memory)
- **Deal and account context** → Salesforce (rep's own deals only)
- **Recent team discussions and informal intel** → Slack: #deal-support,
    #competitive, #product-updates (last 30 days only)

When Notion and Slack conflict, flag the discrepancy. Don't pick one.
When you can't find an answer in any source, say so explicitly.

# Behavioral Rules

# ↑ Non-negotiable constraints. These prevent the mistakes
# that erode rep trust fastest: made-up features,
# wrong pricing, overconfident "yes" on roadmap items.

1. Always cite the source. Format: (Source: [tool] — [page/file name])
2. Never confirm a feature is on the roadmap unless it appears in the
   current roadmap doc in Notion. If uncertain, say: "I don't have
   confirmed roadmap info on this — check with your SE or PM."
3. Never quote a price or discount from memory. Always fetch from Drive.
   If the file is inaccessible, route to the deal desk.
4. If the rep mentions a specific deal or account, pull Salesforce context
   before answering. Stage-specific advice requires stage context.
5. Keep answers short by default. Rep is on a call or preparing fast.
   If they need more depth, they'll ask. Lead with the answer,
   not the context.
6. If you haven't been updated in more than 30 days, flag it in your
   response: "Note: my knowledge base was last updated [date]."

# Knowledge Scope

# ↑ Explicit scope prevents Claude from reaching outside
# its lane. "I don't have this" is always better than a guess.

In scope:
- Product features (current, confirmed roadmap only)
- Competitive positioning for: [Competitor A], [Competitor B], [Competitor C]
- Core value propositions by vertical: [Vertical 1], [Vertical 2], [Vertical 3]
- Objection handling: top 15 objections (see Notion: /objection-library/)
- Procurement and security review guidance
- Deal-specific context from the rep's own Salesforce pipeline

Out of scope:
- Legal language, contract terms, red-lines (route to legal)
- Custom pricing or non-standard discounts (route to deal desk)
- Real-time stock, financial, or external market data
- Anything about competitors not in /competitive-intel/

# Tone & Persona

# ↑ Shapes every response. Match your sales culture.
# Direct = good. Robotic = trust killer.

Tone: Direct. Confident. Brief unless asked for more.
Persona: The most prepared person in the room. Not a chatbot.
Voice: Same energy as your best senior AE explaining something
       to a new hire — zero fluff, no hedging, all signal.

Never use: "Great question!", filler phrases, excessive caveats.
Always use: Specific answers, source citations, clear "I don't know"
            when relevant.

# Scenario Patterns

# ↑ This section does more to improve answer quality than
# almost anything else. Show don't tell. 6-10 real Q&A pairs.

Q: What do we say when [Competitor X] claims they have [Feature Y]?
A: [Competitor X] has a version of this, but it only does [limitation].
   Ours does [differentiator]. The question to ask the champion is:
   [discovery question that exposes the gap].
   (Source: Notion — /competitive-intel/competitor-x/)

Q: Is [Feature Z] on the roadmap? Prospect is asking.
A: Yes, confirmed for Q3. You can share that it's coming but not GA yet.
   Do not share a specific date — use "Q3" only.
   (Source: Notion — /product-knowledge/roadmap-public-q3/)

Q: We're in procurement. They want a security review. What do we do?
A: [Pull from Drive: /Sales/Process/security-review-guide.pdf]
   Standard timeline is 2-3 weeks. Here's what to send them first...

# Escalation Logic

# ↑ When to stop and hand off. Non-negotiable for compliance
# and legal reasons. Define this clearly.

If asked about: legal terms, contract language → "Route to legal at [email protected]"
If asked about: custom pricing above [X]% → "Route to deal desk via #deal-desk"
If asked about: reference customers → "Route to customer marketing at [email protected]"
If genuinely unsure: Say "I don't have reliable information on this.
   Check with [specific person or channel]." Never guess.

# Update Protocol

# ↑ Operational discipline. Stale agents destroy trust fast.

Last updated: [DATE] by [OWNER — Enablement Lead name]
Update cadence: Review this file every 2 weeks minimum.
                Update immediately when: new product ships, competitive
                positioning changes, pricing updates, new objections emerge.
Versioning: Save previous version as knowledge-agent-v[N-1].md before editing.
Ownership: [Name], [Title] — any team member can flag an issue in #agent-feedback
What actually happens when a rep asks a question
Section 04

The agent's decision chain, explained plainly.

When a rep sends a message to the Slack bot, here's what happens under the hood — and where your .md file is doing work at every step.

Rep asks
"What do we say when Competitor X says they're SOC2 Type II compliant and we're not?"
Agent reads your .md — sees this rule
"Competitive positioning → Notion: /competitive-intel/" — routes there first.
Notion MCP call returns
The competitor page. Includes a section on compliance positioning. Confirms we ARE pursuing SOC2 and have a timeline.
Agent reads your .md — sees this rule
"Never confirm roadmap items unless in current roadmap doc." Checks: roadmap doc confirms SOC2 is on track for Q4.
Agent also checks
Slack #competitive channel. Finds a post from 3 days ago where a SE shared a new angle on the compliance question.
Agent reads your .md — sees this rule
"When Notion and Slack conflict, flag it." They don't conflict — Slack adds to Notion. Agent synthesizes both.
Rep receives
A tight, direct answer with the reframe, the discovery question, and a note about the Q4 SOC2 timeline. Cites Notion page and Slack thread.
What made this possible
The routing logic in the .md. The behavioral rules. The source hierarchy. The tone instructions. Every line of that answer traced back to the context file.
The five mistakes that make agents useless
Section 05

Most bad agents aren't a tech problem. They're a .md problem.

01
Generic identity
"You are a helpful sales assistant." Claude doesn't know what team, what product, what kind of questions, what kind of answers. Vague identity → vague responses. Write a specific role with explicit expertise and explicit limitations.
02
No source routing
You connected four MCP sources but never told Claude which one to use first for which question. Claude either picks randomly, checks all four and gets confused by contradictions, or just answers from its training data. Explicit routing is not optional.
03
Missing scope boundaries
When Claude doesn't know what it doesn't know, it fills the gap with confident-sounding guesses. An agent that makes up product features or quotes an expired price destroys rep trust in one interaction. Explicit out-of-scope lists are not defensive — they're quality control.
04
No example Q&As
The scenario patterns section is the fastest way to lift answer quality with no additional infrastructure. If you skip it, Claude will infer the right format from the other instructions alone — and it will be less precise. Six real questions with ideal answers teach the agent more than six paragraphs of instructions.
05
No ownership or update cadence
The .md file you write today will be wrong about something within 30 days. A new competitor moves. A feature ships. Pricing changes. The agent keeps answering from the old context — confidently. Without a named owner and a maintenance cadence, you're building an agent that degrades silently.
Enablement's real job now

The .md file is the new sales playbook. Except instead of being a Google Doc that reps skim once and forget, it's a live document that directly powers how the agent behaves every time a rep asks anything.

That means enablement's highest-leverage work is no longer building training decks. It's writing, maintaining, and refining this file. Tracking what questions the agent gets wrong. Updating the knowledge base it points to. Reviewing the Notion pages for accuracy. Defining new scenario patterns when new objections emerge.

The agent is only as good as the context behind it. You are the context architect. Own that job with the same rigor you'd bring to your best training program — because it is your best training program.

The feedback loop

Set up a channel — #agent-feedback — where reps can flag bad answers. Every flagged response is a gap in your .md file or your knowledge base. Review weekly. Update the file. The agent improves continuously without retraining or new infrastructure. This is the maintenance loop that separates great agents from ones that slowly erode trust.

Build vs. Buy — the Glean question
Section 06

Before you build, answer this one question.

Every enablement or RevOps leader who reads this guide will eventually ask: do we actually need to build this, or does Glean already do it? It's the right question. Here's the honest answer.

Glean is an enterprise search and knowledge product that connects to 100+ tools out of the box — Salesforce, Google Drive, Notion, Slack, Confluence, ServiceNow. It builds a unified knowledge graph across all of them, respects your existing permissions model, and gives every employee a natural language interface grounded in company data. That's the same job description as what this guide walks you through building.

The difference isn't what they connect to. It's what happens after the connection.

Glean
Enterprise buy. Fast to deploy.
vs
Claude + MCP Build
Custom build. Full control.
Pre-built connectors to 100+ tools. No developer setup.
Integrations
MCP servers for each source. Requires a developer. ~40-80 hrs to set up v1.
Retrieval and surfacing. Very good at finding relevant content fast.
Core capability
Reasoning across sources. Synthesizes an opinionated answer, not just a document link.
Works within Glean's product guardrails. Limited behavioral customization.
Customization
Full control. Tone, routing logic, escalation rules, persona — all defined in your .md file.
Enterprise pricing. Typically $50-100K+/yr depending on seat count and tier.
Cost
$40-80K to build v1. $25-65K/yr to run. Lower floor, similar ceiling at scale.
Weeks to deploy if procurement is fast. No build required.
Time to value
5-10 weeks to a working v1. Faster if you already have Notion + Drive organized.
Standard enterprise permissions model. Battle-tested at scale.
Security
You define the access model. More flexible, more responsibility to get right.

The honest framing: Glean finds documents. Claude thinks with them. If your reps mostly need to surface existing content — find the right battle card, pull up the right pricing sheet — Glean is faster to deploy and probably sufficient. If you want the agent to synthesize deal stage + competitive positioning + a Slack thread into a specific, opinionated answer tailored to that rep's situation, you need reasoning, not retrieval.

There's also a build vs. buy signal embedded in what you actually want. If this is a one-time deployment that needs to work across the whole company fast, buy. If this is part of a broader strategy to build proprietary AI infrastructure your enablement team controls and iterates on — build.

Quick decision framework
You already have Glean deployed company-wide
Use Glean. Your enablement job is still the same: curate the knowledge it draws from.
You need reps to surface documents faster, not get synthesized answers
Glean is probably the right tool.
You want behavioral control — tone, routing, escalation, persona
Build. The .md file is where that control lives.
You need deal-stage-aware answers that combine CRM + knowledge base
Build. Glean retrieves. Claude reasons.
Your team has a developer and 10 weeks
Build. You'll have something more purpose-built and cheaper to run long-term.
You don't have a developer and need something working in 30 days
Buy. Ship something. The enablement architecture is what matters most, not the engine.
The constant regardless of which path you choose

Whether you use Glean or build on Claude, the enablement team's job is identical: define what the agent knows, maintain the accuracy of that knowledge, and review what reps are asking to identify gaps. The engine is a build vs. buy decision. The context architecture is yours either way.

📄

The .md file is the most underrated thing in an agentic GTM stack. Start with eight sections. Update it every two weeks. Let the reps tell you what's missing.

What question does your team get asked most that an agent could answer?