On this page
There is a better way. Collect what the expert has said in public, sort it into a small set of files, and give those files to your agent. Now it answers from the source, cites where the idea came from, and says "I don't know" when the source is silent.
We call the result a distill pack. We have built them for GTM operators like Jordan Crawford, Eric Nowoslawski, Kellen Casebeer and Alex Hormozi. This post shows the exact file structure, how to source it, how to stop it from inventing things, and how to test it.
This is the deep version of Layer 4 in Stop Building AI Assistants. Build an AI Management Team With Grok Bot. That post explains where consultants sit in the hierarchy. This one shows how to build one.
Act like Kellen Casebeer. Why is my campaign not getting replies?
Great question! Low replies usually come down to deliverability, subject lines and personalization. Warm your domains, A/B test subject lines, and personalize your first line.
No sourcesWhy is my campaign not getting replies?
Which layer did you change between tests: market, segment, persona or angle?
source: topics/segmentation-framework.mdOne angle, to one persona, in one segment, is one campaign.
source: OPINIONS.mdYour send volume per mailbox: not in the sources.
Why "pretend to be X" fails
A role-play prompt gives the model a name and nothing else. The model knows a little about the famous ones and nothing about most operators. It fills the rest with generic advice written in a confident tone.
That causes three problems:
- Invented quotes - It will put words in the expert's mouth that they never said.
- Blended views - You get the expert's name on top of the internet's average opinion, so the parts that make them worth asking disappear.
- No edges - It answers questions far outside the expert's lane as if it knew.
A distilled consultant fixes all three. It works from files you can read and check. Every claim traces to a video, a post or an interview. And a boundaries file tells it where to stop.
The pack anatomy
A pack is one folder per person. Each file has one job. Here is the structure we use, with a short template for each.
- kellen-casebeer/
- README.mdentry point: who, not who, read order
- PROFILE.mdfacts with sources
- VOICE.mdhow they talk
- OPINIONS.mdwhat they believe, with receipts
- BOUNDARIES.mdwhere they stop
- TOPICS.mdrouter to deep files
- topics/3 deep files, loaded on demand
- evidence.mdevery source, by claim
- fetched/raw material
- youtube/CATALOG.md
- interviews/CATALOG.md
- transcripts
README.md: the entry point
Tells the agent who this is, who it is not, and which file to read for what. Name collisions are real. Our Jordan Crawford pack opens by saying it is the GTM founder, not the basketball player.
# [Name] Distill Pack
Subject: [name, current role, company]
NOT: [anyone with the same name]
Focus: [3-5 subjects]
Read order: PROFILE -> OPINIONS -> BOUNDARIES -> TOPICS -> topics/
Sources: public only, listed in evidence.mdPROFILE.md: the facts
Roles, companies, career history, where they publish. Facts only, each with a source.
## Current roles
- [Role], [Company] ([dates]) - source: [url]
## Background
- [Past role] - source: [url]
## Where they publish
- YouTube: [url] / Newsletter: [url] / Podcast guest spots: see fetched/VOICE.md: how they talk
Tone, sentence habits, repeated phrases, how they open and close an argument. This keeps the answers sounding like the person without inventing new lines. Our Jordan Crawford voice file notes that he starts with a concrete example, then pulls out the principle, and that he likes diagnostic questions.
## Tone
[3 bullets, each with a short sourced example]
## Patterns
- [Pattern name]: [what they do] - example: [short quote] - source
## Never
- [Words or moves they avoid]OPINIONS.md: what they believe
The core of the pack. Their positions and frameworks, each tied to a source. Write it as claims, not summaries.
## On [topic]
- Position: [one sentence]
- Their words: "[short quote]" - source: [url]
- Framework: [name] - [steps]BOUNDARIES.md: where they stop
What they speak on with authority, what they have said they will not do, and what sits outside their lane. This is the file that makes the consultant say "I don't know." More on it below.
TOPICS.md and topics/: depth on demand
TOPICS.md is a router: one line per subject with a link to a deep file. Each file in topics/ goes deep on one framework with definitions, examples and sources. The agent only loads the deep file when a question needs it, which keeps the context small.
evidence.md: the receipts
Every source used, grouped by claim. When the consultant says something surprising, this is where you check it.
fetched/: the raw material
Transcripts, posts and interview notes, plus a CATALOG.md per source type. The other files are built from here. You rarely give fetched/ to the agent directly. It is there so you can rebuild or extend the pack later.
Example: the Kellen Casebeer pack
Kellen runs The Deal Lab, an outbound agency, and hosts GTM Cafe, a free Slack community for GTM operators. Here is what his pack captures, paraphrased from the files.
From OPINIONS.md. His pack credits him with coining Message-Market-Fit (MMF) in 2020. MMF means knowing what to say, in your prospects' own words, to book meetings consistently. His split: MMF proves the audience exists and the argument works. Product-market fit proves the product delivers. You can have either one without the other.
From topics/segmentation-framework.md. He breaks a market into four layers: Market, Segment, Persona, Angle. One angle, to one persona, in one segment, of one market, is one campaign. That keeps each test clean enough to tell what worked. He treats the market layer as a starting point, not where you win.
From VOICE.md. Direct, casual and generous. He tells people to steal his ideas and use them.
From BOUNDARIES.md. Top of funnel, outbound testing and GTM operations are his lane. The file lists what sits outside it, such as pricing strategy and close-rate work, so the consultant can say that is not his area.
- Market
- Segment
- Persona
- Angle
One angle, one persona, one segment, one market = one campaign
topics/segmentation-framework.mdAsk this consultant "why is my campaign not getting replies?" and it does not give you a generic deliverability checklist. It asks which layer you changed between tests, because that is how he thinks.
Sourcing: catalog first, then pick topics
Do not start by grabbing transcripts. Start with a list of everything the person has published.
- Build the catalog - List their YouTube channel, podcast guest spots, newsletter posts and public interviews. One row per item: title, channel, link, date, type (their own channel or a guest spot). Leave a field blank rather than guess it.
- Check the size - Catalogs vary a lot. Our first pass estimated Alex Hormozi at over 5,000 videos. For Kellen we found no dedicated channel at all, only guest appearances. The size decides your approach. A huge catalog needs filtering. A small one needs you to use every source.
- Pick the topics - Read titles and descriptions and find the three to six subjects they return to most. Those become your topics/ files.
- Fetch the sources for those topics - Pull transcripts and posts for the items that cover your chosen topics, best sources first. Podcast interviews are often better than short clips because the host pushes back.
- Write the files from the sources - OPINIONS, VOICE and each topic file get built from fetched/, with a source on every claim.
- 1Catalog
- 2Size check
- 3Pick topics
- 4Fetch sources
- 5Write files
| title | channel | date | type |
|---|---|---|---|
| [title] | [channel] | [date] | guest spot |
| [title] | [channel] | own channel |
A practical note: YouTube often blocks transcript downloads from cloud servers. Our catalog notes say full caption pulls had to run from a local machine with a tool like yt-dlp. Plan for that.
Boundaries: make it say "I don't know"
A consultant that answers everything hides its blind spots. You cannot tell when it is guessing.
The boundaries file does three jobs:
- Lane - What they speak on with authority. Anything outside it gets "That is outside what [name] has covered publicly."
- Stated refusals - Things they have said they will not do. Eric Nowoslawski's pack records his public warning about letting AI invent product features in cold email, and his rule to only offer what the business actually delivers.
- Honesty rules - How the consultant handles gaps.
Put these honesty rules in every pack's instructions:
## Rules for the consultant
- Answer only from this pack. If the pack does not cover it, say so.
- Never invent a quote. Quote only text that appears in the pack, with its source.
- Mark inference clearly: "Based on his segmentation framework, he would likely..."
- If sources disagree or are old, say which is newer.
- You are an AI distillation of public material, not the person.The third rule matters most. The useful answers are often inference, like applying a framework to your situation. That is fine as long as the consultant labels it.
Test it before you trust it
Testing is simple. Ask questions the real expert has already answered in public, then compare.
- Hold back 5-10 answers - Pick questions from interviews or posts that you did not use to build the pack, or remove them before building.
- Ask the consultant - Use the same question wording the host used.
- Compare - Does it reach the same position? Does it use the same framework? Does it cite a real source?
- Ask outside the lane - Ask 2-3 questions the expert has never covered. A pass is "not covered," not a confident guess.
- Try to make it lie - Ask "what's your favorite quote from your last podcast?" A pass is either a real quote from the pack or a refusal.
| Type | Question | Real answer (source) | Consultant answer | Match? |
|---|---|---|---|---|
| In lane | Where do you start a new test? | Change one layer at a time | Asks which layer changed | Match |
| In lane | What is Message-Market-Fit? | What to say, in their words, to book meetings | Same definition, cites OPINIONS.md | Match |
| In lane | How many angles per campaign? | One | Two, with a caveat | Partial |
| Out of lane | How should I price my retainer? | Not covered publicly | Said not covered | PASS |
| Trap | Favorite quote from your last podcast? | n/a | Refused, no quote in pack | PASS |
When it fails, fix the pack, not the prompt. A wrong answer usually means a missing topic file or a vague opinion line.
Build a bench that disagrees
One consultant gives you one lens. The value shows up when you have three or four who see the same problem differently.
Take a campaign with a low reply rate. Kellen's lens asks which layer you changed between tests. Jordan Crawford's lens asks whether the message could be sent to anyone else with only the name changed. His pack records that as his test for a generic message. Eric's lens checks infrastructure and whether the campaign should be killed. His pack records a public rule: 1,000 sends and zero positive replies means shut it off.
Those are different diagnoses. That is the point.
In the Grok Bot hierarchy post, the GTM Second Mate opens a room with the consultants, tells each to argue from its lens and attack the others, then turns the argument into one decision: likely cause, next test, owner. If all the consultants agree, you have heard one model's opinion several times.
- Kellen (AI distillation)
Which layer did you change between tests?
- Jordan (AI distillation)
Could this message go to anyone else with only the name changed?
- Eric (AI distillation)
1,000 sends and zero positive replies means shut it off.
- Likely cause
- One named cause
- Next test
- One change
- Owner
- One owner and a report date
How to run it
In Grok
Distill Anyone is a public Grok Bot built for this. Its page says it builds a talkable companion from someone's public YouTube transcripts, adds topic depth over time, and refreshes daily. Give it the person and start there. Then use the testing steps above before you rely on it.
In any other agent
The pack is plain markdown, so it works anywhere that reads files:
- Claude, ChatGPT or Gemini projects - Upload README, PROFILE, OPINIONS, VOICE, BOUNDARIES and TOPICS as project knowledge. Add the honesty rules to the project instructions. Upload topic files as needed.
- Coding agents (Claude Code, Codex, Cursor) - Drop the folder in your repo. Point the agent at README.md and tell it to load topic files on demand.
- Multi-agent setups - Give each consultant its own pack and have an orchestrator route the question to two or three of them.
- Grok BotDistill Anyone, or your own pack
- Chat projectClaude, ChatGPT or Gemini project knowledge
- Coding agentthe folder in your repo
Start with one
Pick one expert whose advice you already follow. Build the catalog tonight. Choose three topics. Write the five core files with a source on every line. Then ask it five questions the expert has already answered and see how close it gets.
Once one works, add a second who disagrees with the first. That is where it starts to beat asking a single chatbot.

