skills/blog-post/SKILL.md
Generates engaging long-form blog posts from source materials or a topic brief. Supports listicles, editorial tutorials, how-to articles, narrative essays, and thought leadership. Handles research, outlining, drafting, on-page SEO, and polishing. Use when "write a blog post about this", "create a listicle", "turn this research into an article", "write an editorial tutorial", "draft a thought leadership piece", or "write a how-to article". For short product or marketing copy (headlines, CTAs, landing pages, onboarding strings) use copywriting; for slide decks use presentation-creator; for API references, READMEs, or how-to docs in a documentation site use docs-writing. This skill does on-page SEO for the post it writes; for sitemaps, metadata, redirects, or site-wide SEO use optimise-seo.
npx skillsauth add mblode/agent-skills blog-postInstall 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.
copywriting), slide decks (use presentation-creator), or technical documentation tutorials, how-to docs, reference docs, and API pages (use docs-writing).Blog post progress:
- [ ] Step 1: Lock format and angle
- [ ] Step 2: Read every source completely
- [ ] Step 3: Extract insights and outline
- [ ] Step 4: Draft from the matching template
- [ ] Step 5: On-page SEO and polish
- [ ] Step 6: Run the quality gate
Pick the format first; it dictates the Step 4 template. If ambiguous, ask one question.
| Format | Best for | Spine | |--------|----------|-------| | Listicle | Surprising takeaways from sources | Numbered insights, each with analysis | | Tutorial / how-to | Teaching a process | Problem, steps, result | | Narrative | Personal experience or journey | Scene, tension, resolution | | Thought leadership | Industry opinion or commentary | Thesis, evidence, implications |
Lock the angle in one sentence: what does the reader believe or do differently after reading? Without one, the post is just a summary, the top failure mode.
Read every file, URL, or pasted text end to end before outlining; skimming misses the buried lede. Accept messy input (scattered notes, bullet dumps, half-formed observations): mess in, structure out.
No sources, only a topic? Research first, then build a research packet before outlining:
| Source | URL/path | Published/updated | Credibility reason | Claims used | Conflicts/caveats | Current-sensitive? | |---|---|---|---|---|---|---|
Outline one purpose line per section before drafting; cut any section whose only purpose is "more detail."
Load references/format-templates.md: fill the shared skeleton, applying your format's row for body-section labels, extra sections, and the close. Then write through.
Walk this list, then fill the Quality Report table below, which owns the numeric checks (title, meta, quote count, sources, links, facts). Fix every failing item before declaring done.
- [ ] Hook lands in the first 1-2 sentences
- [ ] Headline is specific and the body delivers on its promise
- [ ] No paragraph runs past 4 sentences, and lengths vary (uniform blocks read as generated)
- [ ] Each section adds analysis or insight, not just restated source
- [ ] Conclusion looks forward (question, CTA, or provocation), not a recap
- [ ] Voice is conversational throughout, no academic register
- [ ] Markdown renders: headings nest, blockquotes/bold/code are well-formed
End with a compact quality report:
## Quality Report
| Check | Result | Fix applied |
|---|---|---|
| Title length under 60 | pass/fail | |
| Meta description 150-160 | pass/fail | |
| Source count and credibility | pass/fail | |
| Quote count 2-4 | pass/fail | |
| Internal links invented? | pass/fail | |
| Current-sensitive facts checked | pass/fail/NA | |
These cut against Claude's defaults (neutral, hedged, summary prose):
Pick one: number + insight ("7 Things [Source] Reveals About [Topic]"), surprising tension ("Why [Common Belief] Gets [Topic] Wrong"), how-to framing ("How to [Outcome] Without [Common Obstacle]"), or provocative question ("What If [Reframe of the Obvious]?").
| When | Run |
|------|-----|
| Turn the post into a slide deck | presentation-creator |
| Sharpen hooks, CTAs, or strip AI writing tells | copywriting |
| Deepen on-page SEO beyond the basics | optimise-seo |
docs-writing is not a handoff for a finished post: it puts editorial articles out of scope, and its sentence-case, requirements-language, and bold-for-UI-elements rules contradict the blog voice above. For a sentence-level clarity pass only, load its clarity-* rules and voice-no-jargon, nothing else from that rule set.
development
Designs and builds UI: visual direction, Tailwind implementation, browser-comparable variants, screenshot-to-markup scaffolds, dark-mode and responsive retrofits, component extraction, and Tailwind cleanup. Use when asked to "build a landing page", "create a dashboard", "make this look premium", "pick a visual style", "design the UI", "show me 3 options", "create a brand kit", "turn this screenshot into markup", "add dark mode", "make this responsive", or "clean up the Tailwind". For product behavior use product-design; for UI audits use ui-audit; for motion use ui-animation; for copy use copywriting.
tools
Scaffolds a production-ready Next.js turborepo end to end. Runs create-next-app with TypeScript 7, Tailwind CSS, and React Compiler, sets up shadcn/ui with Blode UI components from the ui.blode.co registry, blode-icons-react icons, Agentation, and Ultracite (Oxlint, Oxfmt, Lefthook), converts the app into a turborepo, then creates the GitHub repo and deploys to Vercel with a pre-launch checklist. Use when creating a brand-new Next.js app, bootstrapping a turborepo, scaffolding a web project, starting a new repo for a website or marketing site, or asking "create a Next.js project", "set up a turborepo", or "start a new web app". For a TypeScript CLI or npm package, use scaffold-cli. For folder structure and module contracts in an existing app, use define-architecture. For building a page inside an existing app, visual direction, palettes, and theming, use ui-design.
tools
Scaffolds a production-ready TypeScript CLI and npm package with ESM, a dual tsdown build (CLI binary plus typed library), vitest, oxlint and oxfmt via ultracite, changesets, GitHub Actions CI with OIDC npm publishing, AGENTS.md, and a bundled agent skill definition. Use when creating a new CLI tool, bootstrapping a TypeScript package, scaffolding a node CLI, starting a new npm package, or asking "scaffold a CLI project" or "set up a new TypeScript CLI". For a Next.js web app use scaffold-nextjs; for structuring an existing codebase use define-architecture; for releasing an already-built package use autoship.
development
Fans out four concurrent review agents over the current diff, then APPLIES fixes directly to the working tree and verifies the build. Mutates code; it does not produce a report. Covers reuse (duplicate logic, hand-rolled stdlib, reinvented platform features), quality (hacky patterns, React/TypeScript hygiene, over-memoisation, exhaustive-deps, `any`, dead code, `CLAUDE.md`/`AGENTS.md` violations), efficiency (unnecessary work, missed concurrency, hot-path bloat), and test discipline (bug fixes without a repro test, useless tests to delete, missing tests only when they prevent a named failure). Use when the user says "tidy this up", "simplify", "clean up this diff", "polish my changes", "check for duplication", or "any reuse opportunities?", i.e. when the intent is to have the changes made automatically. For a read-only report that lists findings without touching files, use `pr-reviewer` instead. This skill edits code; for the PR's title, description, or commit history, use `pr-creator`.