Write developer blog posts from video transcripts, meeting notes, or rough ideas. Extracts narrative from source material, structures content with hooks and technical sections, formats code examples with placeholders, and checks drafts against 18 AI anti-patterns. Includes interactive onboarding to learn the author's voice from writing samples. Use this skill whenever the user wants to write a blog post, draft a blog, turn a transcript into a blog, work on blog content, or mentions "blog" in the context of content creation. Also trigger when the user provides a video transcript and wants written content derived from it, or when continuing work on a blog series.
Overall
score
100%
Does it follow best practices?
Validation for skill structure
This document defines the writing framework for blog posts. It covers narrative quality rules, anti-pattern references, tone calibration, and structural conventions. Read it before every draft.
The author's personal voice, rhetorical devices, and bio format are in persona/voice.md
and persona/bio.md. Read those too.
This is the single biggest quality differentiator between a great post and a decent one. Every section of the post — not just the opening hook — must contain specific moments, not general descriptions. The reader should feel like they're watching over your shoulder, not reading a report about what happened.
Bad (general):
Good (specific):
The opening hook always has personality because writers focus there. The quality crime happens in the middle sections — "the technical meat" and "the broader point" — where the voice drifts toward industry analyst. Watch for these symptoms:
Every paragraph should pass this test: "Could I rewrite this paragraph as three bullet points in a status update and lose nothing?" If yes, it's a summary. Rewrite it as a moment the reader experiences.
The author's voice doesn't turn off when the content gets technical. The rhetorical devices
from persona/voice.md — parenthetical asides, cultural references, self-deprecation,
whatever is characteristic — should continue into the code examples and the architecture
discussion. A technical section should still sound like a person telling you about it at a
conference afterparty, not a whitepaper.
Read references/ai-anti-patterns.md for the full list. It contains 18 named patterns
with symptoms, examples, and alternatives. Scan the draft against every one of them during
Phase 3 and Phase 4. Zero tolerance.
Quick index for scanning:
Conference talks can be more aggressive because body language and delivery soften the edge. Blog posts need the same confrontational energy but with more self-deprecation and more "we" language. On stage you can say "this is broken." In a blog, say "we broke it, here's how, here's the screenshot."
The blog reader doesn't have your facial expressions. They have your sentences. Every provocation needs a wink built into the prose.
Before submitting a draft, check:
Always bullets. Written last, placed first.
Don't explain the mechanism. If the post teaches the reader how something works, the TLDR should make them want to know how, not spoil it. "We rebuilt X and the result was Y" beats "X uses lazy-loading, native scripts, and sits deeper in the prompt hierarchy."
Compress, don't miniaturize. A good TLDR bullet takes a whole section's argument and restates it as a provocation. A bad one takes a whole section and shrinks it into a feature list. If a bullet reads like release notes, it's wrong.
The recurring character bullet rule. If the post has a recurring character or foil, one bullet should belong to them. It humanizes the TLDR and breaks the pattern of technical claims. The character bullet is always last.
Three bullets is usually right. Two feels thin. Four starts explaining too much. Three gives you: one provocation that sets up the problem, one that hints at the payoff, one that's human or funny.
Test: would you click? Read each bullet in isolation. If it doesn't make someone think "wait, I need to read this," rewrite it. A bullet that merely summarizes what happened is not a provocation. Good bullets create curiosity gaps — they hint at something surprising without explaining it. "We told the agent 'no external APIs' four times before it listened" is a provocation. "We iterated on the agent's output to improve the architecture" is a summary.
Good TLDR bullets:
Bad TLDR bullets: