Personality makes agents likeable. Six personalities make them useful at scale.
I run agents across multiple tools simultaneously — Cowork, Claude Code, Kiro, Quick Desktop. On a busy day that’s twenty or more sessions: drafting external emails, writing blog posts, producing technical handoffs, responding in Slack, updating documents. Early on I noticed the output was technically correct but tonally flat. Every piece of writing had the same register. Professional. Generic. Nobody would recognise it as mine.
The fix wasn’t a better system prompt. It was treating voice as infrastructure.
What I Built
I have six voice profiles — I call them engrams — each a structured JSON file that lives in my agent infrastructure alongside my skills and memory. The term comes from neuroscience: an engram is a memory trace, a stored pattern that shapes future behaviour. The name is intentional. These aren’t instruction lists — they’re encoded patterns the agent draws from, the same way a recalled memory shapes how you respond to a situation. The agent doesn’t read rules and decide; it reads a calibrated profile and produces output that’s already shaped by it. Each one captures a specific communication mode:
- Publishing — for public writing. Practitioner voice, universal framing, opinionated, evidence-based. No credential framing, no hedging.
- Builder — for technical docs and agent handoffs. Precise, executable, constraint-first. Written for machines and humans simultaneously.
- Field — for external partner and customer communication. Advisory posture, leads with their context not mine, specific numbers early.
- Leadership — for upward communication. Direct ask in the first two sentences. Confident peer register, not subordinate register.
- Professional — for internal peer communication. Strategic advisor voice — flags risks, asks forcing questions, never volunteers to be the doer.
- Casual — for close colleague DMs. Short, direct, zero ceremony.
Six contexts. Six files. Each one calibrated for a specific audience and purpose.
What Each Profile Contains
A profile that works isn’t a list of adjectives. It’s a calibration artifact.
Each one has sentence structure rules — not “be concise” but specific patterns. My publishing voice uses 8-12 word thesis sentences paired with 15-25 word evidence sentences. My builder voice uses short declaratives: “Each row is timestamped.” “Never overwrite.” These aren’t invented; they came from analysing how I actually write when the output lands right.
Each profile has vocabulary in both directions — phrases to use and phrases to never use. The NEVER list matters more. “Leverage”, “seamless”, “robust”, “game-changing” are hard blocks in the publishing profile. “Consider using” and “you might want to” are hard blocks in the builder profile. The failure mode in agent output isn’t usually a missing word — it’s a wrong one that marks the whole piece as generated.
Each profile has opening and closing patterns. My leadership emails open with the direct ask in the first two sentences — context comes after, not before. My field emails open with the recipient’s situation, not mine. Getting the opening wrong poisons the rest regardless of how good the body is.
And each profile has real writing samples — things I’ve actually written that hit the right register. Not composed examples. Real ones. An agent with ten calibration samples can pattern-match in a way that no amount of instruction can replicate.
How It Works
Each skill that produces output on my behalf specifies which profile to load. The blog post skill says: read the publishing engram before writing. The email drafting skill says: read the field engram before writing. For everything else, I have a mode detector that reads recipient, channel, and intent and picks the right profile automatically.
The detector runs a six-signal priority chain. Explicit override comes first — if I say “write this in leadership voice”, that wins. Then recipient-specific overrides: some colleagues are always casual, always. Then role mapping from a people registry: anyone marked as a customer gets the field engram. Then channel: a Slack channel for public team updates uses professional; a blog post channel uses publishing. Then intent keywords: “write a post”, “draft an endorsement”, “create a handoff” each map to a profile. If nothing matches, professional is the default.
The result is that in practice I never think about which voice to use. A message to a partner goes out in field register. A technical handoff goes out in builder register. The routing is infrastructure, not a decision I make each time.
The profiles are files, not system prompt text. They live in ~/work/agent-infra/engrams/. Any agent in any tool I use — today and whatever I switch to next month — can find and load them. The voice travels with the infrastructure, not with the tool.
What Changed
Before: output was technically correct, tonally wrong. Every piece of communication had the same flat professional register. I was editing for voice on everything that mattered.
After: the editing load dropped significantly. External partner emails arrive in the right advisory register. Blog posts open with a thesis, not a preamble. Technical handoffs are executable without ambiguity. Leadership emails lead with the ask.
The compounding effect is real. Output I don’t have to edit builds trust in the agent, which means I deploy it more, which means the voice calibration gets more leverage. The inverse is also true — bad voice is a tax that compounds against adoption.
The Thing It’s Not
This is not about sounding like me. That’s a vanity goal and not a particularly interesting one.
The goal is communication that’s appropriate for context, consistent at scale, and light on review. The profiles don’t try to clone my voice — they try to make the output correct for the context and audience every time, without me having to check. At one session a day, I can catch drift manually. At twenty sessions running in parallel, I can’t. The profiles make review optional rather than mandatory.
That’s the shift. Not smarter agents. Just agents that know which voice to use before they start.
The question isn’t whether you need differentiated voice profiles. It’s whether you’ve built them yet.
For the build log on how these profiles were built and extended beyond the native tool output, start with What the Engram Builder Gives You — And What You Have to Add.