From fns-build-factory
Codify a brand's writing voice into a reusable Voice Profile artifact. Ingest 3-5 existing writing samples (emails, LinkedIn posts, sales pages, blog posts, YouTube scripts) and produce a structured profile capturing vocabulary, banned words, sentence-length patterns, signature moves, POV rules, tense/tone patterns, and capitalization habits. Use when the user says 'match my voice', 'sound like me', 'match [name]s voice', 'codify our brand voice', 'style guide', 'voice profile', 'tone of voice document', 'make it sound like our brand', or when the user is about to launch a copy-generating skill (email-sequence-writer, sales-page-long-form, landing-page-builder, weekly-content-planner) and wants consistency across output. Plugs into every downstream copy skill.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fns-build-factory:brand-voice-codifierThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Consistent voice is what separates a brand from a marketing template. This skill takes 3-5 samples of a brand's existing writing and produces a reusable Voice Profile artifact that other copy-generating skills can load as context.
Consistent voice is what separates a brand from a marketing template. This skill takes 3-5 samples of a brand's existing writing and produces a reusable Voice Profile artifact that other copy-generating skills can load as context.
Load this skill when the user says any of:
Before doing anything, read assets/guides/voice-analysis-doctrine.md. It codifies:
Then read assets/guides/sample-collection-guide.md for what samples to request.
Ask the operator for 3-5 samples. The mix matters:
Ask about performance context for each sample — "which of these performed best?"
For each sample, run through assets/guides/voice-analysis-doctrine.md and note:
Write findings for each sample in a scratch file.
Compare findings across all samples. A voice trait qualifies for the profile only if:
Discard one-off quirks. Keep repeated distinctive patterns.
Fill in assets/templates/voice-profile.md. This is the output artifact. Structure:
The voice profile MUST be specific. Bad voice profile:
"Friendly but professional. Uses conversational language."
Good voice profile:
"Uses em-dashes 2-3 times per paragraph as pauses. Opens every LinkedIn post with a single-word sentence. Never uses the word 'passionate.' Prefers 'shipped' over 'launched.' Sentence-length distribution: 40% short (<10 words), 45% medium (10-20), 15% long (>20). Never uses semicolons."
Take one piece of generic marketing copy (provided in the template) and rewrite it in the voice using ONLY the profile. If the rewrite reads like the brand — profile is good. If it still reads generic — the profile is missing distinguishing traits, go back to step 2.
Save the completed profile as [brand-slug]-voice-profile.md in a canonical location the operator can reference in future skill invocations.
Downstream skills that read the voice profile:
Users operating multiple brands (like Joey Zoccali — Focal Point Coaching, Fieldmesh, Level Up, Clearwater Notary) should have one voice profile per brand. Voice profiles should be stored in a predictable path so any skill can reference them:
voice-profiles/
├── focal-point-voice-profile.md
├── fieldmesh-voice-profile.md
├── level-up-voice-profile.md
└── clearwater-notary-voice-profile.md
Each profile is independent. Do not merge brands.
See assets/examples/filled-example.md — the completed Focal Point Coaching voice profile derived from 4 samples (sales page, LinkedIn post, cold email, video script).
Every copy-generating skill reads a voice profile as input:
The voice profile artifact must not contain vague adjectives like:
Every trait must be observable and reproducible.
npx claudepluginhub jzoccali/fns-build-factory --plugin fns-build-factoryCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.