From hypeman
Capture or refresh the brand voice in `marketing/VOICE.md`. Supports three freely-mixable paths — from scratch (interactive Q&A), from existing examples (extract patterns from real content), or anchored to reference brands you want to sound similar to. Idempotent — re-run anytime to evolve the voice as new content ships.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hypeman:voice-defineThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Brand voice capture. Use this skill the first time when bootstrap-marketing
Brand voice capture. Use this skill the first time when bootstrap-marketing walks through it, and every few months as new content ships and the voice should be re-grounded against real artifacts instead of synthesized hopes.
Voice transfers better from samples than from rules. The output of this
skill is marketing/VOICE.md — a file that copywriter and brand-reviewer
read on every campaign.
For brand-new projects with nothing shipped. Walk through 5–8 questions
covering posture, reading level, formality, sentence rhythm, emoji
policy, words-you-love, words-you-hate (→ do_not_say), and brands
admired (→ Path C anchors).
Output is rules-based, no examples — the weakest of the three paths in isolation, but a reasonable starting point that gets upgraded later.
For projects with shipped content. Ask for 3–5 pieces (paths or URLs) that exemplify the desired voice. Read them, then extract:
do_not_say)Write the extraction with citations back to the source pieces. Future copywriter runs read the exemplars, not just the rules.
For projects that want to sound like a specific other brand (or a blend — blends are usually more interesting than single anchors).
Ask: "Name 2–4 brands whose voice you want to emulate. URLs to specific pieces of theirs help a lot." Examples:
For each named brand:
VOICE.md as "anchor from memory, not
from fresh sample." If accuracy matters, ask for URLs.Then write the blend, not the union — describe how the brand combines anchors:
Aspirational blend: Linear's clarity (no jargon, no warm-up) + Stripe's specificity (numbers in headlines, concrete examples) + 37signals' contrarian edge (state the unpopular position, defend it).
Cite the original sources so future runs can re-check the synthesis.
Common combinations:
VOICE.md calls out both: "Current voice (from
shipped work):" and "Direction (from anchors):".Read .claude/project.yaml and confirm there's a marketing: block. If
not, surface — run /bootstrap-marketing first.
Check if marketing/VOICE.md already exists:
Write to marketing/VOICE.md using templates/VOICE.md.tmpl. Sections:
# Brand voice — <project name>
Captured: <date> · Paths used: <A / B / C / mixed>
## Posture
<one-paragraph distillation of the brand's stance on the world>
## Cadence
<sentence-length stats from Path B, or declared rhythm from Path A>
## Vocabulary
### House words (use freely)
- <word>: <why it fits>
### Aspirational anchors (Path C)
- <brand>: <what we're borrowing from them>, sources: [piece 1](url), [piece 2](url)
### do_not_say (mirrored into manifest)
- <word>: <why it's banned>
## Stylistic moves
- <move>: <when to use it>, example from <source>: <quoted line>
## Hook patterns
<per-channel hook conventions, with examples>
## CTA patterns
<how closings work, with examples>
## Positive exemplars (path B + C citations)
- [<title>](<url or path>) — <why this is canonical>
## Negative exemplars (what we're NOT)
- <description> — example we explicitly don't want to sound like
## Notes for the copywriter
<plain-English notes that an agent reads at runtime — "open with code,
not with story" or "the second paragraph should always have a number">
marketing/VOICE.md — the voice file itself.claude/project.yaml — only marketing.brand.do_not_say and
marketing.brand.house_examples (the file pointer list); never touches
unrelated manifest fieldsSuggest re-running this skill:
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub boutlabs/hypeman-claude-plugin