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 37 AI anti-patterns with structural variant detection, three-pass scanning (surface, skeleton, soul check), craft sweep, and rewrite auditing. Enforces sentence/paragraph craft rules, facts-over-assessments principles, and honest limitations. Includes interactive onboarding to learn the author's voice from writing samples. Persona files live at ~/.claude/blog-writer-persona/ by default, with symlink support for custom locations (e.g. Google Drive for backup). Optional global voice saves your voice profile to Claude Code user memory so it applies across all projects. 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.
92
90%
Does it follow best practices?
Impact
94%
1.51xAverage score across 6 eval scenarios
Advisory
Suggest reviewing before use
~/.claude/blog-writer-persona/ path, which the eval grader (working-directory only) cannot see, so every criterion failed in both baseline and with-context. Redirected outputs to the working directory; the scenario now grades real output (baseline 91 → with-context 100).jbaruch/coding-policy: plugin-evals ("lift, not attainment"), confirmed across two runs: the blog-writer-framework-override scenario (contrived, near-zero lift), and scenario-1 / scenario-5 / scenario-6 (anti-pattern cleanup, soul check, tightening) whose baselines run 94–99% — coincidence with universal competence, no headroom for the tile to show lift. Kept scenarios (0, 2, 3, 4, 7, 8) all contribute positive lift.persona/framework.md for post-level voice overrides — A persona can now ship a persona/framework.md declaring post-level architecture (opening modes, argument shape by post type, density philosophy, first-person rules, closing modes, off-voice moves). When the file exists and has content, the skill reads it immediately after persona/voice.md and it overrides the Blog Anatomy section plus the narrative-density doctrine in references/tone-guide.md. Personas without the file are unaffected — the generic Blog Anatomy still applies. Originally contributed by @shelajev..github
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
example-persona