CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/blog-writer

Write developer blog posts from video transcripts, meeting notes, or rough ideas — extracting narrative, structuring hooks and technical sections, formatting code placeholders, learning the author's voice through interactive onboarding, and checking drafts against 38 AI anti-patterns with three-pass scanning, craft sweep, and rewrite auditing — whenever the user wants to write a blog post, draft a blog, turn a transcript into a blog, work on blog content, or continue a blog series.

Quality

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

README.md

blog-writer

tessl

Write developer blog posts from video transcripts, meeting notes, or rough ideas.

Skills

SkillWhat it does
blog-writerTurns a transcript, meeting notes, or a rough idea into a drafted blog post in the author's voice, then checks it against 38 AI writing anti-patterns

Installation

tessl install jbaruch/blog-writer

What it does

Turns raw source material (video transcripts, meeting notes, rough outlines) into polished blog posts in the author's own voice. The skill follows a phased workflow: intake, clarification, editorial planning, first draft, and revision — with quality gates at each step.

Placeholders

Drafts use five placeholder types with independent numbering per type: Screenshot, Code, Link, Fact, and Diagram. Code and Diagram placeholders include best-guess content (reconstructed code blocks and inline D2 diagram source) plus a VERIFY comment for the author to confirm. Diagrams earn their place when structure — architecture, request flow, state transitions — is the point; a screenshot of the real system wins when it can show the same thing with less abstraction.

Anti-pattern detection

Drafts are checked against 38 named AI writing anti-patterns, each with symptoms, examples, and alternatives (plus structural variants where applicable). The check runs in three passes:

  • Surface scan — matches known pattern forms and their structural variants
  • Skeleton scan — compares grammatical structure of adjacent sentences to catch patterns where the vocabulary differs but the grammar is identical
  • Soul check — holistic read for sterile, voiceless writing that passes pattern checks but still reads as obviously AI

Every rewrite is re-audited against all 38 patterns before it's considered fixed.

At the start of each session the skill fetches Wikipedia: Signs of AI writing and compares it against the anti-pattern list, adding anything the list doesn't already cover. The refresh is a step the agent runs, not a background process — the file changes only when a session finds something new in the article.

Persona system

The skill learns the author's voice through an interactive onboarding flow that analyzes 2-5 writing samples. Voice profile, bio template, product context, and example posts are stored in ~/.claude/blog-writer-persona/ and read fresh each session. On first run, the skill creates this directory (or lets you point it at a custom location like Google Drive via symlink). After setup (or when new posts are added), you can optionally save the voice profile to your global Claude Code user memory so it applies across all projects.

Series support

Blog series state (episode numbers, callbacks, open threads) is tracked across posts in _blog-skill/series-tracker.md.

Getting started

Install via Tessl:

tessl install jbaruch/blog-writer

On first use, the skill creates ~/.claude/blog-writer-persona/ and runs the setup flow (or lets you symlink it to a custom location for backup). Clarification questions are asked one at a time with numbered options — no question dumps. After that, just tell it what you want to write about.

README.md

tile.json