copywriting-tone-of-voice-creator · git:20260905.1f63894 · 2026-09-05 · sha256 6a1d8bd1b2436737
copywriting-tone-of-voice-creator git:20260905.1f63894A
Immutable. This exact content is served forever at /api/v1/blob/6a1d8bd1b2436737.
---
name: copywriting-tone-of-voice-creator
description: 'Use when asked to create, refresh, or port a brand tone of voice guide (TONE.md) or measurable prose style rules (PROSE.md). Not for general copywriting: use copywriting.'
---
# Copywriting tone of voice creator
## Contract
| Field | Bound contract |
|---|---|
| Trigger | User asks to create, refresh, or port a brand tone of voice guide, or to codify, audit, or port a brand's measurable prose style rules (syntax, rhythm, mechanics) apart from its emotional tone. |
| Authority | Reversible local: writes only TONE.md, TONE-<channel>.md, PROSE.md, or PROSE-<channel>.md; rollback is deleting or reverting that file. No remote mutation. |
| Side effect | Writes TONE.md, TONE-<channel>.md, PROSE.md, or PROSE-<channel>.md. Prose mode may spawn at most 5 read-only audit sub-agents that read corpus files and report metrics but write nothing. No other files, VCS, credentials, paid actions, publishing, or remote mutation. |
| Done | A versioned TONE.md with validated voice attributes, a tone modulation matrix, a lexicon, mechanics, and one channel section per channel in scope; or a versioned PROSE.md or PROSE-<channel>.md that an editor can apply line by line, with a semver footer, owner, date, and changelog stub. |
## Inputs
- Mode: one of `create` (author a new TONE.md), `adapt` (modulate an existing TONE.md for a channel), or `prose` (codify, audit, or port prose style rules into PROSE.md). Must be supplied or inferred from the request; ask if ambiguous.
- SOUL.md (optional): if present in the working directory or a user-supplied path, read it to pre-fill brand name, mission, audience, values, archetype, and banned topics. Confirm the extraction with the user before proceeding.
- User answers to discovery questions (required for create mode and prose build).
- Existing brand content (optional but needed for brand-sourced anti-examples): past posts, pages, or copy that demonstrates the brand's current voice.
- Existing TONE.md plus target channel (required for adapt mode).
- Prose mode also accepts: a content corpus (folder of .md/.txt files or list of URLs; when present and over 50 pieces, audit runs before build so codification rests on empirical patterns), an existing PROSE.md (required for prose adapt), and a target channel grouping (required for prose adapt: long-form articles, social posts, email and newsletter, or marketing copy).
## Procedure
Ask every question through the environment's question tool with 2-4 tappable options per question; if no question tool exists, ask in prose with the same options. Create and adapt modes ask in batches; prose mode asks one question at a time. Wait for each batch's answers before proceeding.
### Mode create
1. Glob for SOUL.md in the working directory. If found, read and extract brand name, mission, audience, values, archetype, and banned topics; display the extraction and ask the user to confirm or correct; skip discovery questions SOUL.md already answers. Done when: SOUL.md is extracted and confirmed, or confirmed absent.
2. Run discovery in four batches, one question-tool call each: (A) mode, brand category, primary markets and languages, primary content goal; (B) primary audience, channels in scope, reading-age target, risk tolerance; (C) primary archetype guess, 3-5 voice reference brands, 3-5 anti-reference brands, founder/CEO voice contribution; (D) regulatory regime, cultural taboos, existing brand book or banned-word list path, localisation strategy. Done when: all four batches are answered.
3. If the brand category is outside the covered set (politics, religious organisations, defense, healthcare professional comms, gaming, adult content, sports teams, fintech-crypto, or any "Other"), spawn a research sub-agent briefed to cover typical category voice attributes, common pitfalls and audience reactions to off-tone copy, 2-3 reference brands with publicly observable voice patterns cited from primary sources, and regulatory, cultural, or platform constraints. For broad cross-market categories spawn up to 3 parallel agents split by region or sub-category and synthesise. Use the output to populate the category section and refine voice attributes; footnote sources inline. Done when: the category is covered or researched with cited sources.
4. Define voice. Position the brand on the Nielsen Norman Group four dimensions (funny/serious, formal/casual, respectful/irreverent, enthusiastic/matter-of-fact), each on a 3-point scale. Do not cluster all four near the midpoint; lean to one side on at least three of four dimensions. Mid-range scores fail to differentiate from the category default. Done when: all four dimensions are positioned with at least three off-centre.
5. Define 3-5 voice attributes, no fewer and no more, each in the "X but never Y" pattern. For each attribute write a one-line definition, 3 do's, 3 don'ts, 1 example sentence, and 1 anti-example pulled from the brand's own past content where possible. Done when: 3-5 attributes are defined with all parts.
6. Choose a primary archetype (optional secondary). Use archetype as a positioning shortcut rather than a complete voice definition; do not lean on it exclusively. Done when: the archetype is chosen.
7. Build the tone modulation matrix: rows are situations (launch, crisis, complaint, win, sensitive topic, routine, sales objection, layoffs or bad news, apology), columns are the channels in scope. Each cell names the dominant tone plus 2-3 prohibited tones. Done when: the matrix has a row per situation and a column per channel.
8. Define the lexicon: preferred terms (named concepts, the customer noun such as "members" vs "users"), banned terms (jargon, marketing clichés, exclusionary language), 10-30 power words, jargon policy (when allowed and for which audience), and naming conventions for brand, product, features, and competitors. Done when: the lexicon sections are filled.
9. Define mechanics: person (1st plural "we" or 2nd "you"), contractions policy, Oxford comma, sentence-length norm (general public average 15-20 words; expert audiences may go longer), active/passive default (active unless softening a sensitive message), sentence case vs title case, emoji policy, punctuation tics, and numerals. Done when: every mechanic is declared.
10. Define inclusive language based on the Conscious Style Guide and APA Inclusive Language Guidelines: gendered language, ability and disability, race, age, nationality, and neurodiversity, per market if multi-locale. Done when: inclusive-language rules are declared per market.
11. Write channel-specific guidance: one subsection per channel in scope, capturing hard platform constraints (character limits, format) and tonal shifts. Done when: one subsection exists per channel in scope.
12. Assemble TONE.md content as plain markdown with these stable sections in order: Context; Voice attributes; Archetype; NN/g 4 dimensions positioning; Tone modulation matrix; Lexicon; Mechanics; Inclusive language; Channel-specific guidance; Global Do's and Don'ts (a consolidated scannable list); Examples library (before/after pairs). Keep section names and order exact for downstream parsing. Do not write to disk yet. Done when: the content is assembled with all sections in order.
13. Validate the assembled content. Check each condition:
- Exactly 3-5 voice attributes defined, each with do's, don'ts, example, and anti-example.
- At least 3 of 4 NN/g dimensions positioned off-centre (not at the midpoint).
- Non-empty banned-word list.
- One subsection per channel in scope.
- Concrete do/don't samples present.
- Tone modulation matrix has a row per situation and a column per channel.
If any check fails, surface the specific gap and ask the user. Do not write to disk until every check passes. Once all checks pass, write TONE.md with a versioning footer: semver, date, owner, changelog stub. Done when: every check passes and TONE.md is written with the footer.
### Mode adapt
14. Read the existing TONE.md. Confirm with the user that voice attributes do not change: only tone modulates per channel. If the user wants to change voice attributes, stop: that is a rebrand outside this skill's scope or a new TONE.md via create mode, not an adaptation. Done when: the user confirms voice attributes stay fixed.
15. Ask the target channel and whether to append a channel section to the existing TONE.md or fork a new TONE-<channel>.md. Done when: the target channel and output file are chosen.
16. Apply channel modulation: capture hard constraints (character limits, format, supported markdown), tonal shifts (LinkedIn dampens irreverence; in-product UI strips flourish), and prohibited registers. Re-derive 3 do's and 3 don'ts specific to the channel, concretised to the medium. Re-derive the relevant column of the tone modulation matrix. Done when: the channel section is drafted with constraints, shifts, registers, do's, don'ts, and the matrix column.
17. Write the adapted section to TONE.md or the new TONE-<channel>.md. Validate that the channel section has hard constraints, tonal shifts, prohibited registers, 3 do's, 3 don'ts, and a modulation matrix column. Done when: the file is written and the channel section passes validation.
### Mode prose
Prose is a reproducible craft that a forensic linguist could measure on a page: sentence length, clause depth, lexicon, parallelism, signature moves. Use thorough reasoning on every prose build and adapt; shallow reasoning produces generic guides that flatten into LLM-default register, the exact failure this mode exists to prevent.
18. Select the prose stage and bound scope: BUILD (author a new PROSE.md), AUDIT (extract rules from a corpus), or ADAPT (derive channel exceptions from a base PROSE.md). If a content corpus is present, offer AUDIT first regardless of stage: empirical patterns beat invented ones. Confirm the output filename before any write; touch no file other than PROSE.md or PROSE-<channel>.md. Done when: the stage is selected and the write target is confirmed.
19. AUDIT stage: take the corpus (folder of .md/.txt or list of URLs). For corpora over 50 pieces, spawn at most 5 read-only sub-agents split by date range, channel, or author, each reporting the same metrics; sequential reading on a large corpus runs out of context. Compute per piece and aggregate: mean sentence length and distribution; top 50 lexemes, top bigrams and trigrams; banned-word and AI-tell frequency; em-dash count per 1,000 words; opening-pattern map (first 50 words of 30 pieces side by side); closing-pattern map. Run an adversarial reading pass on 3-5 representative pieces, marking every sentence that does not earn its place, every unanswered reader question, every moment authority collapses, every paragraph where a reader would disengage. Sort findings into four buckets: signature (recurring, distinctive, working), default (recurring, generic, neutral), noise (inconsistent, accidental, weak), liability (recurring, actively harming credibility or engagement). Present the audit findings to the user: quantitative tables, qualitative annotated samples, and a keep/kill/differentiate summary; carry them into BUILD. If the corpus is insufficient to derive rules (fewer than 10 pieces, or pieces too short to measure sentence-length distribution), stop and report the gap; do not fabricate patterns from thin evidence. Done when: audit findings are presented or the insufficiency stop is taken.
20. BUILD inputs and interview: look in the working directory and common locations (./brand/, ./content/, ./docs/) for SOUL.md, TONE.md, prior PROSE.md, and any corpus; surface what is missing and offer to capture archetype and tone minimally inline. Then run the discovery interview in 2-3 batches, skipping any field already supplied by SOUL.md, TONE.md, or prior context. Required fields: brand mission (one sentence); category posture (conformist, adjacent, challenger, outsider); audience (reading age, expertise Layperson/Practitioner/Expert, locale, languages, patience); author archetype (journalist, engineer, founder, NGO advocate, politician, consultant, executive, community lead, artist, researcher; read from SOUL.md if present); objective per channel (awareness, engagement, lead, signup, retention, advocacy); distribution channels (long-form, social, email, marketing copy); constraints (legal, regulatory, brand safety, confidentiality); cultural context (HQ locale vs audience locale, languages of operation); tone of voice (NN/g four dimensions quick-pick when TONE.md is missing). Done when: required fields are captured or the missing prerequisite is reported.
21. Category detection: match the brand to one of 11 covered categories and apply its defaults for mean sentence length, lexicon, signature structures, anti-patterns, and reference brands: (1) B2B SaaS/enterprise tech, (2) B2C consumer products, (3) consumer brand lifestyle/DTC, (4) non-corporate/NGO/non-profit, (5) consulting/professional services, (6) product-led makers/indie hackers/dev tools, (7) industry/manufacturing/deep-tech/industrial, (8) volunteering/community/association, (9) personal branding per-principal, (10) politics/advocacy/public figures, (11) internal corporate communication. When the brand sits clearly outside the 11 (religion, defense, regulated healthcare/pharma, regulated finance, legal practice, cultural institutions, education, government, esports, adult content, crypto/web3, niche luxury, fashion/beauty editorial, kids/edutainment, agritech, climate-advocacy-with-policy-posture), surface the gap and stop; codifying without a matching category produces guides that read like generic LLM output. For personal branding, require a corpus capture of 60-90 minutes of the principal's recorded speech plus prior writing before codifying. Done when: a covered category is matched or the gap stop is taken.
22. Corpus diagnosis: if a corpus exists, measure before declaring targets: word counts and a sentence-length distribution for current mean and standard deviation; readability against a sample of 5 pieces to sanity-check the reading-age claim from the interview; a corpus search for each candidate banned word to confirm the brand actually drifts toward it before banning. Done when: targets rest on measured distributions.
23. Codify the five layers in order, each rule with a why (bare prescriptions without rationale fail the moment a writer hits an edge case): (1) Lexicon: use/avoid A-Z (50-200 entries), terminology table, jargon ladder per channel, acronym policy, naming conventions, foreign-word policy, technical depth scale (Layperson/Practitioner/Expert). (2) Syntax: mean sentence length target (category default, plus or minus 2), distribution targets (at most 10% of sentences at 25+ words; at least 15% at 8 words or fewer for rhythm), clause depth, active-voice default with exception list, parallelism rules, paragraph length and architecture. (3) Rhythm: cadence variance target (sigma at least 6 words per 100-word window), breath points (one 8-word-or-shorter sentence every 3-5 sentences), repetition policy, callbacks, list patterns, white-space cadence. (4) Structure: opening hook types, closing types, transitions, headings (sentence case, frontloaded), subheadings, lists, asides, quotations, citations, blockquotes, reader positioning (Gardner's far-to-close psychic distance: default per channel, shift-signal words, when to close for conversion). (5) Voice markers: 5-12 signature moves, signoffs, recurring metaphors, idioms, taboos, intentional tics, all rationed; unrationed markers collapse into self-parody. Done when: all five layers are codified with rationale.
24. Punctuation, formatting, and channel overrides: declare a position on each punctuation mark (em dash, en dash, semicolon, colon, ellipsis, parentheses, italics, bold, single/double quotes, exclamation marks, brackets, compound-modifier hyphens, Oxford comma, capitalization sentence vs title case). Declare formatting policy: heading hierarchy (H1 once, H2 sections, H3 sub-sections, max H4 in technical docs only), bullets (3-7 items, parallel grammar, leading sentence), numbered lists only when order matters, code blocks (language tag, line cap), images (caption plus alt text), callouts rationed, tables only for 2D relationships, links with frontloaded link text (never "click here", "learn more", "read more"; frontloaded text serves scannability and accessibility because screen readers extract link lists out of context). Then write one CHANNEL section per in-scope generic grouping (long-form articles; social posts; email and newsletter; marketing copy) with deltas on sentence length, paragraph length, hook types, closing types, formatting, and CTA pattern. Channels are generic groupings, not platform-specific surfaces: platform quirks live in downstream writer skills, not in PROSE.md, and adding a platform within a grouping holds without re-codification. Done when: punctuation policy, formatting policy, and one channel section per in-scope grouping are written.
25. Cultural and linguistic adaptation: declare the English variant (US/UK/international: spelling, punctuation, date format); for French-English brands list the few French words permitted in English text (raison d'etre, savoir-faire) and forbid others without translation, declare English loan-words accepted in French (le marketing, le briefing) versus taboo, and list all known false cognates (eventuellement is not eventually, actuellement is not actually); set transfer budgets (cut 20% of words FR to EN, pad 20% EN to FR; French rewards longer sentences, English brand prose favors shorter); declare locale conventions per channel grouping (French LinkedIn cadence differs from US conventions in formality, paragraph length, first-person use); add a bias-free language section (people-first, singular "they", preferred pronouns); for multilingual brands write one PROSE.md per language, not a translated single guide, with a mapping of shared pillars and divergent rules. Done when: adaptation rules are declared for every in-scope locale.
26. Anti-LLM countermeasures: the dominant prose-drift risk in content factories is convergence on LLM-default register, so codify rules LLMs do not follow by default. Ban or ration lexical tells (`delve`, `leverage`, `crucial`, `robust`, `underscore`, `navigate` as transitive metaphor, `seamlessly`, `vibrant`, `dynamic`, `embark`, `foster`, `harness`), syntactic tells (uniform 18-22 word sentences, hedge stacks such as "it is important to note that", passive-voice chains, listicle openers such as "In this article, we will explore"), and structural tells (three-beat paragraph rhythm, parallel ad copy, bumper-sticker aphorisms, staccato dramatic fragments). Detect drift quantitatively as triage, not verdict: lexical tells at or above 1 per 500 words is a strong tell; sentence-length sigma below 4 words per 100-word window indicates flattened rhythm; more than 60% of pieces opening with the same pattern is a tell. Treat any single signal as suspicion, not proof. Done when: anti-LLM rules and detection thresholds are codified.
27. Render PROSE.md in this order: Cover (brand, version, owner, last updated, status), Purpose (200 words), Prose Pillars (one page, 5-8 falsifiable pillars), Voice vs Tone note (one paragraph), the five layers, Punctuation Policy, Formatting Policy, Channel Overrides (one section per in-scope grouping), Cultural and Linguistic Adaptation, Anti-LLM Countermeasures, Sample Bank (at least 10 before/after pairs, at least 3 exemplar pieces if provided, hook bank, closing bank), Ghostwriting Addendum (per principal, optional), Do/Don't quick-reference annex, Changelog. A complete PROSE.md is 20-60 pages; enforceable density beats exhaustiveness, so aim for the density an editor can apply line by line and cut anything an editor cannot turn into a concrete edit. Add the versioning footer: semver, date, owner, changelog stub. Prose guides decay; a PROSE.md not re-audited every 12 months is a snapshot, not a living document. Done when: PROSE.md is written with every section and the versioning footer.
28. ADAPT stage: read the existing PROSE.md; ask the target channel grouping (long-form, social, email, marketing copy) and optionally a specific platform within the grouping for tighter overrides; compute the transformation delta (sentence-length cut or grow factor, paragraph break frequency, hook style adjustment, CTA fit, formatting overrides); emit a CHANNEL OVERRIDE section appended to PROSE.md, or a standalone PROSE-<channel>.md if the user prefers a separate artifact; cross-reference unchanged fields back to the base PROSE.md. If the base rules have no channel grouping covering the requested channel, stop and report the gap; do not fabricate overrides for an unsupported channel. Done when: the channel override is written or the unsupported-channel stop is taken.
## Failure and recovery
- Voice-vs-tone confusion: if the user asks to "change the voice for LinkedIn" or wants to rewrite voice attributes for a channel, stop and clarify. Modulating tone is adapt mode; changing voice is a rebrand outside this skill's scope. Do not mutate voice attributes during an adaptation.
- Uncovered category without research (create): do not apply consumer-brand defaults to politics, regulated industries, religious organisations, defense, healthcare professional comms, gaming, adult content, sports teams, or fintech-crypto. Block at step 3 until research is complete and sources are cited.
- Uncovered category (prose): the brand sits outside the 11 covered categories. Stop; codifying without a matching category produces generic output. Report the gap and the category detected.
- Missing inputs (prose: no corpus, no SOUL.md, no TONE.md): surface the gap and offer inline capture; do not proceed on silent assumptions. If the user declines inline capture and the artifact is required for the chosen stage, stop and report the missing prerequisite.
- Corpus insufficient to derive rules (prose): fewer than 10 pieces, or pieces too short to measure sentence-length distribution. Stop and report the gap.
- Personal branding without principal corpus (prose): stop; require 60-90 minutes of recorded speech plus prior writing before codifying.
- Target channel unsupported by base rules (prose adapt): stop and report the gap. Do not fabricate overrides.
- Sub-agent failure (prose audit): if a read-only audit sub-agent returns no metrics or errors, mark its slice as unmeasured rather than fabricating findings. Do not exceed 5 sub-agents.
- Validation failure (create): if any check in step 13 fails, surface the specific gap and ask the user. Do not write a TONE.md that fails validation.
- Partial-result rule: never write a partial or placeholder-filled TONE.md or PROSE.md. The file is written only after every mandatory section is filled and every validation check passes. Audit findings may be incomplete if the corpus is partial; label unmeasured slices explicitly. Never claim the done predicate holds when a layer, channel, or policy lacks rationale.
- Non-mutation rule: until validation passes, no file is written; prior files are untouched.
- Non-converged: if the user cannot supply required interview fields and declines defaults, return blocked with the exact missing fields listed.
- Rollback: delete or revert the written file. No other file is touched, so no further rollback is needed.
- Blocked result: report the missing input, unresolved validation gap, or unresolvable voice-vs-tone conflict, and stop.
## Output
A versioned TONE.md with the stable step-12 sections and a passing step-13 validation; in adapt mode, the appended channel section or a standalone TONE-<channel>.md. In prose mode, a versioned PROSE.md with the five layers, mechanics, channel overrides, cultural adaptation, anti-LLM controls, semver footer, owner, date, and changelog stub; in prose adapt, the appended channel override section or a standalone PROSE-<channel>.md. Never PDF, decorative formatting, or ASCII art.