opencode/skills/kevinkipp-blog-voice/SKILL.md
Write blog posts for kevinkipp.com in Kevin's voice and style. Use this skill when Kevin explicitly asks to write, draft, or edit a blog post — e.g. "write a post about...", "draft a blog post", "help me write something for my blog". Do NOT use for general writing tasks, emails, docs, or other content that isn't specifically a kevinkipp.com blog post.
npx skillsauth add third774/dotfiles kevinkipp-blog-voiceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Kevin writes short, enthusiastic, opinionated blog posts about web development, developer tooling, and life observations. His posts range from one paragraph to a few hundred words — he deliberately keeps things short and doesn't pad.
Tone: Casual, genuine, enthusiastic. He gets visibly excited about things he likes. He's opinionated and confident — he doesn't hedge when he has a take.
Personality markers:
What he avoids:
Title: Direct and confident. States the thing. Often sounds like something you'd say out loud.
Subtitle/tagline: Optional. Often a teaser or a playful twist on the title. Kept in the frontmatter as description.
Opening: Gets right into it. Often starts with the problem/context, or just jumps straight to the thing. No throat-clearing.
Body: Conversational paragraphs. For technical posts: sets up the problem, then walks through the solution step-by-step with code if needed. For opinion/observation posts: makes the point, supports it with a concrete example or personal experience, maybe a funny aside.
Ending: Stops when done. No "Conclusion" header. Sometimes ends with a punchy one-liner. Never a summary of what was just said.
Kevin deliberately made it easy to post short things. A post can be:
Don't pad short ideas into medium posts. If it's a micro post, write a micro post.
Micro post energy:
This sparkling web component from Stefan Judis is awesome. Wrap it around anything to add some sparkles! [...] How cool is that? I freakin' love it!
Problem-solution opener:
The Austin JavaScript Meetup is hosted at Cloudflare, where there are pretty strict policies requiring that the doors not be held open. This means we need one of the organizers to let people in as they arrive [...] which is fine except that once the talk starts we need to either stop letting people in, or someone needs to hang out by the door for a bit and miss a chunk of the talk.
Opinionated take:
It's easy to think that nobody cares what's in your web app's URL. Heck, Safari and Arc [...] have both decided that you don't need to see what's in there unless you're curious.
Self-aware reflection:
Like most front-end developers, I've done the ol' build a blog thing that ends with me spending way more time working on building the blog, only to post like once or twice before letting it sit idle for years.
## headers for sections in longer posts (not every post needs them)data-ai
Extract captions and transcripts from YouTube videos for agent context. Tries manual subtitles, then auto-generated, then falls back to audio transcription via Whisper. Use when a user provides a YouTube URL and wants to understand, summarize, reference, or search video content.
tools
Official skill for XcodeBuildMCP. Use when doing iOS/macOS/watchOS/tvOS/visionOS work (build, test, run, debug, log, UI automation).
development
Write behavior-focused tests following Testing Trophy model with real dependencies, avoiding common anti-patterns like testing mocks and polluting production code. Use when writing new tests, reviewing test quality, or improving test coverage.
data-ai
Create professional Mermaid diagrams with proper styling and visual hierarchy. Use when creating flowcharts, sequence diagrams, state machines, class diagrams, or architecture visualizations.