Skip to main content

Loading…

Skip to main content
HomeProjectsPostsApproachesStackResourcesContact
Justin Tsugranes LogoJustin Tsugranes Logo

Justin Tsugranes

HomeProjectsPostsApproachesStackResourcesContact

Stay in the loop

Occasional notes on what I'm building, lessons earned, and the studio behind it.

By subscribing, you agree to receive No spam. Unsubscribe in one click anytime. from Justin Tsugranes. No spam. Unsubscribe anytime. Privacy Policy

© 2026 Total Ventures LLC. All rights reserved.

Privacy PolicyTerms of ServiceCookie Policy
← All approaches

Approach · craft · in production

Voice as Source of Truth

I centralize all brand voice definitions into a single, canonical `voice.md` file per brand, ensuring consistent output across every AI agent and content generation workflow.

Voice as Source of Truth establishes a single, declarative definition of a brand's voice, loaded programmatically by all AI agents, eliminating the need for redundant prompt instructions in every content request.

What it is

This approach dictates that each brand within Total Ventures maintains one `voice.md` file. This file lives in the brand's root directory, typically alongside `package.json` or `vercel.json`. It's structured with YAML frontmatter for metadata—like brand name, primary tone keywords, and target audience—followed by markdown prose outlining detailed voice guidelines. This prose covers aspects like desired sentence structure, vocabulary preferences, things to avoid, and specific examples. For instance, Total Formula 1's `voice.md` emphasizes direct, analytical language with a focus on technical accuracy, while Pregnancy Power Hour's is supportive and informative.

Why I do it this way

Consistency is the primary driver. When every AI agent—whether generating social posts, email copy, or blog articles—pulls from the exact same source, voice drift is minimized. This reduces the overhead of re-stating voice parameters in every prompt, which is inefficient and prone to human error. It also simplifies updates; a single edit to `voice.md` propagates across all content streams. This aligns with a broader strategy of Docs as Source, where critical operational knowledge is codified and loaded programmatically. This method ensures that the creative output, even when generated by agents, maintains a cohesive brand identity without constant manual oversight.

How it works in practice

I built a small internal package, `@totalventures/voice`, which exposes a `loadBrandVoice(brandName: string)` function. This function reads the `voice.md` file for the specified brand, parses the frontmatter, and returns a structured object containing the voice guidelines. Every AI agent I deploy, regardless of its specific task, begins by calling this function. For example, when an agent is tasked via Queue-Driven Attention to draft a social media update for Total Formula 1, its initial step is to `loadBrandVoice('total-formula-1')`. The resulting voice object is then injected into the system prompt for Claude Code or Gemini, informing the generation process. This applies across the stack: Vercel deployments for frontend content, Resend for email campaigns, and even internal documentation generated by agents for brands like Inky, all reference their respective `voice.md` files. Changes to `voice.md` are version-controlled and subject to the same review process as code, reinforcing the idea that voice is a core asset. This also means that when I Commit Often, Push Deliberately, any voice adjustments are immediately available to all downstream processes.

Where this breaks down

While effective for maintaining broad consistency, this approach can struggle with highly nuanced or rapidly evolving conversational contexts. If a brand needs to adopt a significantly different sub-voice for a specific campaign or audience segment, the `voice.md` can become overly complex or contradictory. It also assumes that the AI models can interpret and adhere to abstract guidelines perfectly, which is not always the case; some trial and error is still required to refine the prose instructions. For very small, ephemeral projects, the initial setup overhead of a dedicated `voice.md` might outweigh the benefits, making direct prompt instructions more pragmatic in those limited scenarios.

FAQs

How do you handle brand sub-voices or temporary campaign tones?
For sub-voices, I typically add specific sections within the main `voice.md` or use prompt modifiers that reference a particular 'mode' of the brand voice. Temporary campaign tones are often handled as direct prompt overrides, but with a clear expiration date.
What if an AI agent misinterprets the voice guidelines?
This happens. I iterate on the `voice.md` prose, making it more explicit and adding negative examples. Sometimes, it requires refining the agent's system prompt to emphasize certain aspects of the loaded voice object, guiding its interpretation more precisely.

I run this and four other brands. Want to see the operator playbook in detail?

Get the Builder's Playbook →
Written by Justin Tsugranes, Founder, Total Ventures· Founder, Total Ventures · U.S. Army veteran (13 years) · M.M. Jazz Studies, University of South Carolina
Last reviewed July 22, 2026

Related

  • Docs as SourceDocs as Source treats documentation, especially agent context files, as the primary source of truth for system behavior and product features, ensuring AI agents operate with current, explicit instructions.
  • Imagen over Stock PhotosI use generative AI like Imagen to create unique, brand-specific visual assets on demand, avoiding generic stock photos and integrating image creation directly into my product workflows.
  • Monorepo as Operating SystemI run Total Ventures' multi-product studio from a single monorepo, centralizing infrastructure and tooling so every new brand boots with a complete, inherited operating system.
  • Critic Gates for Mass ContentWhen generating content at scale, I employ a secondary LLM as a critic to evaluate output against predefined quality criteria, ensuring specificity and value before publication.
  • PDFs as React ComponentsI render all customer-facing PDFs as React components, ensuring high-fidelity, consistent brand output directly from code, treating them as first-class product artifacts.
  • Agent-First DevelopmentAgent-First Development is my method for optimizing codebases for AI agents to write and maintain most of the code, enabling me to scale product development as a solo operator.