Establish durable brand and voice context for cross-skill consumption. Generates BRAND.md (audience, positioning, do/don't editorial rules, taboo phrases, competitor differentiation) and VOICE.md (existing persona JSON re-expressed as readable prose), both written to the project root. When present, the blog orchestrator auto-loads these files for write, rewrite, brief, outline, calendar, and strategy workflows. Pairs with blog-persona, which manages the structured persona JSON. Use when user say
This skill establishes durable brand and voice context for a blog content pipeline. It solves the problem of blog commands each re-deriving "what is the brand" from scattered context by generating two canonical project-root files — BRAND.md (audience, positioning, editorial do/don't rules, taboo phrases, competitor differentiation) and VOICE.md (persona expressed as readable prose) — that the blog orchestrator auto-loads at the start of write, rewrite, brief, outline, calendar, and strategy workflows.
The single-file SKILL.md defines three commands (init, show, update) and a five-step interactive interview covering audience and misconceptions; positioning including canonical entity name, homepage, sameAs profiles, Wikidata Q-ID, mission, distinctive point of view, anti-positioning, and top competitors; editorial rules and required disclosures; topic scope boundaries; and voice parameters such as pronoun stance, contraction policy, sentence and paragraph ceilings, and headline patterns. It provides full BRAND.md and VOICE.md templates and pre-fills voice answers from an existing blog-persona JSON when present. The design is explicitly backward compatible: when neither file exists, behavior is unchanged.
The target users are content teams, marketers, and solo publishers using the claude-blog skill suite who want consistent editorial identity across every generated post. Use cases include onboarding a new brand, standardizing voice across writers, and encoding competitor positioning and taboo phrases once so every downstream command respects them. It writes only local Markdown files within the project root and performs no network calls or destructive operations.
Two project-root Markdown files: BRAND.md (audience, positioning, editorial rules, taboo phrases, competitors) and VOICE.md (voice and lexical rules expressed as prose).
When present, the blog orchestrator auto-loads them at the start of supported commands — write, rewrite, brief, outline, calendar, and strategy — so brand and voice context propagate everywhere.
/blog brand init runs the interview and writes both files, show displays current contents or reports them missing, and update re-runs the interview using current values as defaults.
Yes. It pairs with blog-persona: if the structured persona JSON already exists, the voice step pre-fills its answers from it.
Yes. It is backward compatible — when neither BRAND.md nor VOICE.md exists behavior is unchanged, and it only writes local Markdown files.
Quick Setup:
.claude/skills/Repository
agricidaniel/claude-blog