← skills directory○ community

Skill · charliehills

newsletter-voice.

The voice file that knows the difference between writing a LinkedIn post and writing the issue someone reads on a Sunday morning.

$ git clone https://github.com/charlie947/social-media-skills.git ~/.claude/skills/social-media-skills

A newsletter is not a long LinkedIn post. The opening does different work, the section structure carries different load, the close has to earn a reply rather than a repost. newsletter-voice is the skill that captures those differences in their own file, sitting on top of about-me.md and voice.md, so the model writes a newsletter as a newsletter rather than as the same voice in a longer container.

The reason this skill exists as its own file rather than as a section inside voice.md is that newsletter writing has structural patterns the general voice profile cannot carry. Sentence rhythm transfers cleanly from posts to issues. Section structure does not. newsletter-voice exists to capture the parts of the format that posts cannot teach.

§01What it does

The skill refuses to run until both voice.md and about-me.md exist in the project. That is the right call. A newsletter voice profile written without the underlying voice profile is just a generic newsletter template, and there are enough of those already.

Once the prerequisites pass, the skill takes one of two paths. If the writer has two or more past newsletter issues, it reads them and runs the same kind of pattern analysis voice-builder does on writing samples, but tilted to newsletter-specific dimensions. Opening formula across the first three sentences, length of the cold open before the first structural break, credibility move, value promise, named-framework versus free-prose section structure, data philosophy meaning how often numbers appear and how sources are cited, formatting habits, signoff phrase, meta-transparency. Plus the same absence pass voice-builder ends with: words and structures consistently missing across every issue.

If the writer has no newsletters yet, or only one, the skill switches to archetype mode. It offers six pre-tuned templates, picks the one that matches the writer's positioning, and writes a newsletter-voice.md seeded from that archetype but adapted to the existing voice profile. The result is a starting point the writer can edit once they have written a few real issues.

§02Why a separate file is the right call

Most teams that try to merge newsletter rules into the main voice file end up with a voice file that contradicts itself. The post voice wants brevity. The newsletter voice wants room. The post voice wants a hook. The newsletter voice wants a cold open. Holding both rule sets in one document forces the model to choose one mode at a time anyway, with no clear signal about which.

Pulling the newsletter rules into their own file lets each downstream skill load the right layer for the job at hand. The post-writer skill loads voice.md. The newsletter draft loads voice.md and newsletter-voice.md, in that order, with the newsletter rules acting as overrides. This is the same pattern good codebases use for theme files. The base layer holds defaults; the format-specific layer overrides where needed. The result is a voice that scales across formats without averaging itself into nothing.

§03Setup

# Already installed via the social-media-skills bundle:
ls ~/.claude/skills/social-media-skills/skills/newsletter-voice

# Trigger phrases:
#   "build my newsletter voice"
#   "learn my newsletter style"
#   "set up my newsletter system"

The skill expects you to either paste two or more past newsletters or type archetype to pick a starting template. One sample is not enough for pattern detection, and the skill will say so.

◆ pull quote

The opening section before the first structural break is the highest-information part of a newsletter voice. Most issues lose readers there or earn the next ten minutes there.

§04Caveats

Archetype mode is a useful starting point, not a finished voice. A newsletter-voice.md seeded from an archetype with no real samples behind it will produce serviceable but generic issues. As soon as the writer has two or three real ones, run the skill again in sample mode. The output will be sharper.

The skill defaults to British English. Same caveat as voice-builder: if you write for an American audience, flag that early or you will end up with stray colours and organisations in posts that should not have them.

◇ summary · field notes
$ vibgineer summarize newsletter-voice
  1. 01
    Prereq check
    • voice.md must exist
    • about-me.md must exist
    • stop if either is missing
  2. 02
    Sample or archetype
    • paste 2 to 3 issues for analysis
    • or pick one of 6 archetypes
    • one issue is not enough on its own
  3. 03
    Extract patterns
    • opening formula
    • section structure
    • data philosophy
    • signature moves
  4. 04
    Output
    • newsletter-voice.md at project root
    • read by every newsletter draft
✓ 1 file · the layer that makes a newsletter sound like a newsletter.
Summary: Step 01: Prereq check (voice.md must exist, about-me.md must exist, stop if either is missing). Step 02: Sample or archetype (paste 2 to 3 issues for analysis, or pick one of 6 archetypes, one issue is not enough on its own). Step 03: Extract patterns (opening formula, section structure, data philosophy, signature moves). Step 04: Output (newsletter-voice.md at project root, read by every newsletter draft). ✓ 1 file · the layer that makes a newsletter sound like a newsletter.