<!--
  scaffold: voice-guide-shape.md
  bucket: content-voice (Bucket 6)
  what belongs here: pointer at the voice-guide.md template + how to populate.
-->

# Voice-guide shape

The core ships a template skeleton at `@stravica-ai/digital-operator-pa/templates/voice-guide.md`. Operators copy this into their operator repo (typically `operator/knowledge/writing/voice-guide.md`) and populate.

## What the template ships

- **Positive-shape principles** — what the voice sounds like. Not what it doesn't.
- **Register calibration** — where on the formal/casual spectrum the voice sits, and how it shifts by surface (long-form vs LinkedIn vs email).
- **Voice-tell examples** — the operator's own writing showing the voice in action, annotated so a role can extract the pattern.
- **Sections a voice doc has** — the template's own structure is the shape every operator's voice-guide follows.

## How the writer role uses it

Base `writer` reads voice-guide + banned-tells on every dispatch. The voice-guide is the positive-shape source; the banned-tells is the negative-shape complement.

Deterministic outcome: same voice-guide + same banned-tells + same prompt → same voice output. If the writer produces inconsistent voice output on repeat runs, the voice-guide is under-specified (not the writer's fault).

## Populating

Follow the template's structure. Do not restructure the voice-guide skeleton — the shape is what makes voice documents mutually intelligible across operators.

**Do:**

- Populate positive-shape principles with the operator's own examples.
- Populate register calibration with concrete markers (specific words that fit, specific words that don't).
- Populate voice-tell examples with real drafts, annotated.

**Do not:**

- Delete template sections you don't yet know how to fill. Leave the `<!-- OPERATOR: populate -->` marker; the writer will refuse to draft against an unpopulated voice guide, which is the correct failure mode.
- Add operator-specific structural sections outside the template's shape. If the voice needs a new section, propose an upstream template change first.

## Related

- `@stravica-ai/digital-operator-pa/templates/voice-guide.md` — the skeleton.
- `banned-ai-tells-shape.md` — the negative-shape complement.
- `packages/core/roles/writer/definition.md` — the role that consumes the voice-guide.
