| name | brand-content-studio |
| description | Compose on-brand narrative content (articles, video scripts, newsletters, and one-pagers) for Acme Corp. Use this skill whenever the user asks to draft, write, restructure, or polish marketing or editorial content; needs a pull quote extracted from source material; wants a topic turned into a mind-map; or asks to export a draft to PDF, HTML, or Markdown. Enforces Acme's brand voice (beat-structured storytelling, approved vocabulary, legal disclaimers) and the per-format length and section rules. Do NOT use for code generation, data analysis, or non-Acme brands. |
| license | Apache-2.0 |
| allowed-tools | Read, Write, Bash |
| metadata | {"version":"2.3.0","authors":["acme-content-team"],"homepage":"https://intranet.acme.example/skills/brand-content-studio","tags":["content","marketing","editorial","branding"]} |
Brand Content Studio
Produce publication-ready, on-brand content for Acme Corp across four formats:
article, video-script, newsletter, and one-pager. This file is
the entry point; load the bundled references and run the bundled scripts only
when the task actually needs them (progressive disclosure โ keep context lean).
Folder layout
brand-content-studio/
โโโ SKILL.md โ you are here (always loaded when relevant)
โโโ references/
โ โโโ brand-voice.md โ tone, beat model, do/don't vocabulary
โ โโโ format-specs.md โ per-format section + length rules
โ โโโ legal-disclaimers.md โ mandatory disclaimers by content category
โโโ scripts/
โ โโโ scaffold.py โ build a beat-structured markdown skeleton
โ โโโ pick_quote.py โ extract the best pull quote from source text
โ โโโ build_mindmap.py โ turn abstracts into a Mermaid mind-map
โ โโโ export.py โ render a draft to pdf / html / md
โโโ assets/
โโโ templates/
โโโ article.md
โโโ video-script.md
โโโ newsletter.md
โโโ one-pager.md
When to use / when NOT to use
Use when the request is to create or transform Acme narrative content, pick
a quote, build a topic map, or export a draft.
Do NOT use when: the user wants code, spreadsheets/data analysis, content
for a brand other than Acme, or anything that isn't prose/editorial. In those
cases, say so and stop โ do not force this skill.
Core workflow
Follow these steps in order. Skip a step only if the user already supplied its
output.
-
Classify the format. Map the request to one of: article,
video-script, newsletter, one-pager. If ambiguous, ask one clarifying
question, then proceed.
-
Load the rules for that format. Read references/format-specs.md and
find the section for the chosen format (required sections, target word
count, tone overrides). Read references/brand-voice.md once per session for
the global voice rules.
-
Scaffold. Run the scaffolder to get a skeleton you then fill in:
python scripts/scaffold.py --format <format> --title "<title>" \
--beats "Hook,Concept,Brazilian case,Immediate application,CTA"
The script prints a markdown skeleton with one ## section per beat. Beats
default to the brand beat model (see references/brand-voice.md) when
--beats is omitted.
-
Draft the prose into the skeleton, obeying every rule from step 2.
Open each beat with a concrete hook; never bury the lede.
-
Pull quote (optional). If the content cites source material and needs a
highlighted quote:
python scripts/pick_quote.py --term "<focus term>" --min-length 40 \
--file source.txt
Heuristic: the longest sentence (โฅ min-length) that mentions the term;
falls back to the longest sentence overall. Never fabricate a quote โ
only surface text returned by the script.
-
Mind-map (optional). When planning a topic from multiple sources:
python scripts/build_mindmap.py --term "<topic>" --file abstracts.txt
Returns Mermaid mindmap source; render it inside a ```mermaid block.
-
Compliance pass. Read references/legal-disclaimers.md, find the
disclaimer(s) matching the content category (finance, health, product
claims), and append them verbatim. This step is mandatory โ a draft without
the required disclaimer is not publishable.
-
Export (optional). When the user asks for a deliverable file:
python scripts/export.py --in draft.md --format pdf
Brand voice (summary โ full rules in references/brand-voice.md)
- Structure every piece as beats: a Hook beat, body beats, a Call-to-Action
beat. Beats must be self-contained and reorderable.
- Voice: confident, concrete, jargon-free. Prefer the active voice.
- Forbidden vocabulary (never use): "synergy", "disruptive", "world-class",
"leverage" (as a verb), "best-in-class".
- Mandatory for product pieces: name the product in the first beat.
- Read
references/brand-voice.md for the complete vocabulary lists, the
cargo-register guidance (STRATEGIC / MANAGERIAL / FOUNDATIONAL tone shifts),
and worked before/after examples.
Format quick-reference (authoritative version in references/format-specs.md)
| Format | Required sections | Target length |
|---|
| article | Hook ยท 3-5 beats ยท CTA | 800โ1200 words |
| video-script | Cold open ยท beats with [B-roll] cues ยท Outro | 90โ180 s read |
| newsletter | Subject line ยท Hook ยท 2-3 beats ยท Subscribe CTA | 250โ450 words |
| one-pager | Headline ยท Problem ยท Solution ยท Proof ยท CTA | โค 1 page |
Worked example (article)
User: "Write an article about Acme Pay's new scheduled-payments feature."
- Format โ
article. 2. Load specs + voice. 3. Scaffold with beats
Hook,Problem,How it works,Security,CTA. 4. Draft prose, naming "Acme Pay"
in the Hook beat (mandatory). 5. (skipped โ no source quote). 6. (skipped).
- Append the finance disclaimer from
legal-disclaimers.md. 8. Export to
PDF on request.
Failure handling
- If a script errors, report the stderr to the user and fall back to doing the
step manually (e.g., write the skeleton by hand) rather than aborting.
- If
references/ or scripts/ are missing, degrade gracefully: apply the
summarized rules in this file and tell the user the full ruleset wasn't
available.
- If the user's request mixes Acme and a non-Acme brand, handle only the Acme
portion and flag the rest.