Model a Real Person as a Persona Expert
Time: ~12 minutes
Learning outcome: Build a persona expert that reasons like a specific person, train it from their documents, inspect the learned profile, use it to anticipate a decision, and progressively sharpen the resemblance by feeding it more material.
What you’ll learn
Section titled “What you’ll learn”By the end of this tutorial, you will:
- Create a trainable persona expert that represents a specific person
- Choose what documents, decisions, and data to feed it
- Train it with
council expert trainand read the learned profile - Use the persona to anticipate how that person would react to a proposal
- Feed it more documents over time so it becomes more like the real person
- Understand how the profile and document retrieval shape its responses
Prerequisites
Section titled “Prerequisites”- Completed Tutorial 7: Ground a Debate in Documents
- Completed Tutorial 9: Author High-Quality Expert Personas
- This tutorial uses
--engine mockso the training output is deterministic and reproducible offline. Swap in your real provider (for example--engine copilot) for genuine results.
The scenario
Section titled “The scenario”You’re about to bring a proposal to Pedro Fuentes, your VP of Engineering. Before the meeting, you want to anticipate how he’ll react: which questions he’ll ask, what he’ll push back on, and what would earn a “yes.” You have a folder of his past decisions, proposal reviews, and meeting notes. Let’s turn that into a persona expert you can consult.
How a persona expert differs from a generic one
Section titled “How a persona expert differs from a generic one”A generic expert (Tutorial 5) reasons from a role template — “a VP of Engineering” in the abstract. A persona expert reasons from documents about a specific person: Council distills their communication style, decision patterns, biases, and vocabulary into a learned profile, and retrieves relevant snippets from their documents during deliberation.
The result reflects this person’s priorities, not a generic role’s.
Step 1: Create the persona expert
Section titled “Step 1: Create the persona expert”Create a trainable persona with the --persona flag. Unlike a generic expert, a persona gets its own documents folder and can be trained.
council expert create --persona \ --slug pedro-fuentes \ --name "Pedro Fuentes (VP of Engineering)" \ --role "VP of Engineering" \ --expertise "Past decisions and their outcomes, Written rationale in proposals and reviews, Team and org constraints" \ --stance "Pragmatic, outcome-oriented: prefers reversible bets and clear measures of success." \ --persona-description "VP of Engineering whose decisions I want to anticipate before bringing a proposal"✓ Expert "pedro-fuentes" created at ~/Council/experts/pedro-fuentes.yaml Place documents about this person in ~/Council/experts/pedro-fuentes/docsThe --persona-description is the relationship — who this person is to you. It anchors the persona so it knows the context in which you’re consulting it.
Step 2: Gather the person’s documents
Section titled “Step 2: Gather the person’s documents”The persona is only as good as the material you feed it. Good sources capture how the person actually decides:
- Decision logs — choices they made and the reasons they gave
- Proposal reviews and feedback — what they approved, declined, or pushed back on
- Meeting notes — their questions, concerns, and recurring themes
- Written rationale — strategy memos, design-review comments, postmortems
- Communications — emails, Slack/Teams exports (with consent)
For this tutorial, create two small sample documents. In a real project you’d point Council at the person’s actual files.
Create ~/decision-log-2026-q2.md:
# Decision Log — Q2 2026
- Approved the payments re-platform, but only as a phased rollout behind a feature flag. Rationale: a reversible bet; we can roll back per-region if error rates climb. Success = checkout conversion holds within 1% during ramp.- Declined the "big bang" data migration. Asked for a dual-write window and a measurable cutover plan first. I don't approve one-way doors without an exit.- Pushed back on adding a third queue technology. Operational surface area is a cost; show me the on-call burden before we commit.Create ~/proposal-review-notes.md:
# Notes on the Search Revamp Proposal
Good problem framing. Three asks before I sign off:1. What is the measurable outcome? "Better relevance" is not a target.2. What is the reversible first step? Ship to 5% and compare, don't rewrite.3. Who carries the operational load? Name the on-call owner.
I weight the post-launch numbers over the design doc. Ship small, measure, iterate.Step 3: Train the persona
Section titled “Step 3: Train the persona”Feed the documents in with --file (repeatable) and let Council process them. The --file flag copies each document into the persona’s docs folder, then trains.
council expert train pedro-fuentes \ --file ~/decision-log-2026-q2.md \ --file ~/proposal-review-notes.md \ --engine mockCopying decision-log-2026-q2.md to expert docs...Copying proposal-review-notes.md to expert docs...Training "pedro-fuentes" from ~/Council/experts/pedro-fuentes/docs... decision-log-2026-q2.md: 88 words proposal-review-notes.md: 61 words✓ Processed 2 document(s) (0 failed, 0 needs review, 0 removed, 149 total words); 0 already up to date.✓ Persona profile updated.Council extracted the text, indexed it for retrieval, and asked the engine to distill a persona profile.
Step 4: Inspect the learned profile
Section titled “Step 4: Inspect the learned profile”Look at what Council learned. council expert inspect shows both the authored fields and the learned profile distilled from the documents.
council expert inspect pedro-fuentesExpert: pedro-fuentesName: Pedro Fuentes (VP of Engineering)Role: VP of EngineeringKind: personaFile: ~/Council/experts/pedro-fuentes.yaml
Panels: (none)
Expertise: Weighted Evidence: Past decisions and their outcomes, Written rationale in proposals and reviews, Team and org constraints
Epistemic Stance: Pragmatic, outcome-oriented: prefers reversible bets and clear measures of success.Persona: VP of Engineering whose decisions I want to anticipate before bringing a proposal
Learned Profile (from training): Communication Style: Direct and structured, favoring concise declarative sentences with concrete examples over abstract framing. Decision Patterns: Weighs trade-offs explicitly before committing, Prefers reversible decisions when evidence is thin, Anchors choices to measurable outcomes Biases: Optimism about iterative improvement, Skepticism of unvalidated claims Vocabulary: trade-off, iterate, signal, tension, concretely Epistemic Stance: Forms beliefs by triangulating evidence from multiple sources and updates readily when new data contradicts prior assumptions. Documents: 2 (149 words) Last Updated: 2026-06-21T20:54:45.399ZEach field of the learned profile feeds the persona’s system prompt and shapes how it responds:
| Profile field | What it captures | How it shows up |
|---|---|---|
| Communication Style | Tone and structure of how they write | The persona answers in their voice |
| Decision Patterns | The moves they make when deciding | It reproduces their reasoning shape |
| Biases | What they lean toward or distrust | It weights options the way they would |
| Vocabulary | Words and phrases they reach for | It echoes their language |
| Epistemic Stance | How they form and update beliefs | It updates (or holds firm) like they do |
Step 5: Use the persona to anticipate a decision
Section titled “Step 5: Use the persona to anticipate a decision”Now consult the persona the way you’d consult the real person — a 1:1 conversation:
council chat pedro-fuentesAsk it to react to your proposal:
You> I want to replace our notification service with a new event-drivensystem this quarter. How will you react?
[Pedro Fuentes — VP of Engineering]Before I say yes, three things. What's the measurable outcome — not"cleaner architecture," a number I can read during rollout? What's thereversible first step; can we run it behind a flag for one notificationtype and compare, instead of a full cutover? And who owns the on-callburden for a second system while both run? Show me that and I'm inclinedto support a phased pilot.Notice how the response reproduces Pedro’s pattern from his documents: a measurable outcome, a reversible first step, and the operational/on-call question. The persona combined its learned profile with retrieved snippets from his decision log and review notes.
Step 6: Make it more like the real person
Section titled “Step 6: Make it more like the real person”A persona sharpens as you feed it more material. Suppose you find a fresh set of staff-meeting notes. Create ~/staff-meeting-notes.md:
# Staff Meeting Notes
Pedro on the reorg proposal: "Show me the on-call burden and the blast radiusbefore we split the team. I'd rather ship a reversible pilot in one squad andread the signal than reorganize three teams on a hypothesis."Train again — Council picks up only what’s new and merges it into the existing profile:
council expert train pedro-fuentes --file ~/staff-meeting-notes.md --engine mockCopying staff-meeting-notes.md to expert docs...Training "pedro-fuentes" from ~/Council/experts/pedro-fuentes/docs... staff-meeting-notes.md: 42 words✓ Processed 1 document(s) (0 failed, 0 needs review, 0 removed, 42 total words); 2 already up to date.✓ Persona profile updated.The 2 already up to date confirms Council only reprocessed the new file. The profile is updated, not rebuilt — each run folds the new material into what it already knew, and recent documents are weighted more heavily so the persona reflects the person’s current thinking.
See the full corpus that backs retrieval with council expert docs:
council expert docs pedro-fuentesfilename words processed status------------------------ ----- ------------------------ ---------decision-log-2026-q2.md 88 2026-06-21T20:54:45.395Z processedproposal-review-notes.md 61 2026-06-21T20:54:45.398Z processedstaff-meeting-notes.md 42 2026-06-21T20:55:02.978Z processedRebuild from scratch when you’ve changed a lot
Section titled “Rebuild from scratch when you’ve changed a lot”If you’ve replaced or heavily revised the source documents, clear the profile and rebuild from the whole corpus:
council expert train pedro-fuentes --retrain --engine mock↻ Retrain: cleared profile and tracking for "pedro-fuentes" (2 cleared).Training "pedro-fuentes" from ~/Council/experts/pedro-fuentes/docs... decision-log-2026-q2.md: 88 words proposal-review-notes.md: 61 words staff-meeting-notes.md: 42 words✓ Processed 3 document(s) (0 failed, 0 needs review, 0 removed, 191 total words); 0 already up to date.✓ Persona profile updated.After a full retrain, council expert inspect reports the whole corpus — Documents: 3 (191 words).
How it works
Section titled “How it works”Two mechanisms combine to make the persona reason like the person:
- Profile analysis — at training time, Council sends the documents to the engine and distills the structured profile you saw in Step 4. It’s cached and only refreshed when you train.
- Document retrieval (RAG) — at conversation time, Council retrieves the most relevant snippets from the person’s documents and gives them to the persona as evidence, weighting recent material higher.
For the full mechanics, see Persona Experts and Document RAG.
What you accomplished
Section titled “What you accomplished”- Created a trainable persona expert representing a specific person
- Trained it from documents and read the learned profile
- Used it to anticipate how that person would react to a proposal
- Fed it more material and saw how the profile updates incrementally
- Learned when to retrain from scratch versus train incrementally
Next steps
Section titled “Next steps”- Make it a teammate: add the persona to a panel in Build a Custom Panel so it deliberates with other experts
- Sharpen disagreement: revisit Author High-Quality Expert Personas to pair the persona with strong generic experts
- Manage the corpus: un-index stale files with
council expert docs <slug> --remove <file>and retrain
Key concepts introduced
Section titled “Key concepts introduced”| Concept | Definition |
|---|---|
| Persona expert | An expert that reasons like a specific person, trained on their documents |
| Learned profile | The communication style, decision patterns, biases, vocabulary, and stance Council distills from the documents |
| Persona description | The relationship between you and the person, used to anchor the persona |
| Incremental training | Re-running train folds new documents into the existing profile |
| Retrain | --retrain clears the profile and rebuilds it from the full corpus |
| Recency weighting | Recent documents count more, so the persona reflects current thinking |
Commands used
Section titled “Commands used”| Command | Purpose |
|---|---|
council expert create --persona | Create a trainable persona expert |
council expert train <slug> --file <path> | Train (or re-train) from documents |
council expert train <slug> --url <url> | Fetch a document from the web and train |
council expert train <slug> --retrain | Clear the profile and rebuild from scratch |
council expert inspect <slug> | View the authored fields and learned profile |
council expert docs <slug> | List the indexed documents backing retrieval |
council chat <slug> | Consult the persona in a 1:1 conversation |