SkillAgentSearch skills...

blog-write

Write new blog articles from scratch optimized for Google rankings and AI citations. Generates full articles with template selection, answer-first formatting, Key Takeaways summary box, information gain markers, evidence-backed explanations, sourced statistics, Pixabay/Unsplash images, built-in SVG…

Install / Use

npx skills add AgriciDaniel/claude-blog --skill blog-write

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

94/100

Supported Platforms

Zed

Our assessment of blog-write

blog-write scores 94/100 on our quality scale, 129th of 814 Content & Media skills we index (top 16%).

Its SKILL.md is 22 KB long, well organised into 42 sections with 14 code examples: a thorough specification that gives an agent plenty to work with.

With 2,282 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
20/20
Description
15/15
Adoption
14/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 4 days ago, so blog-write is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

blog-write compared with similar skills

All 4 of these similar skills score higher than blog-write; compare them before choosing.

SkillScoreStarsUpdatedFormat
blog-write (this skill)by AgriciDaniel942.3k4d agoSKILL.md
LocalAIby mudler10049.3ktodayMCP Server
siyuanby siyuan-note10046.5ktodayMCP Server
algorithmic-artby anthropics100177.9k6d agoSKILL.md
pptxby anthropics100177.9k6d agoSKILL.md

Frequently asked questions

How do I install blog-write?
Run npx skills add AgriciDaniel/claude-blog --skill blog-write. The install tabs above show the steps for each supported agent.
Which AI agents does blog-write work with?
It is written for Zed, as a SKILL.md file. Other agents that read the same format can often use it too.
Is blog-write safe to use?
It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is blog-write still maintained?
The repository was last updated 4 days ago, so blog-write is actively maintained.

name: blog-write description: > Write new blog articles from scratch optimized for Google rankings and AI citations. Generates full articles with template selection, answer-first formatting, Key Takeaways summary box, information gain markers, evidence-backed explanations, sourced statistics, Pixabay/Unsplash images, built-in SVG chart generation, optional FAQ sections, internal linking zones, and proper heading hierarchy. Supports MDX, markdown, and HTML output. Use when user says "write blog", "new blog post", "create article", "write about", "draft blog", "generate blog post". user-invokable: true argument-hint: "<topic>" license: MIT

Blog Writer: New Article Generation

Writes complete blog articles from a topic, brief, or outline. Every article follows the 6 pillars of dual optimization (Google rankings + AI citations).

Key references (paths relative to repo root; references live in the main blog skill's references directory, not in blog-write/):

  • skills/blog/references/synthesis-contract.md: 6 LAWs for synthesis output (v1.8.0; applies whenever the article embeds research-synthesis prose)
  • skills/blog/references/content-templates.md: Template selection guide and usage
  • skills/blog/references/quality-scoring.md: 5-category scoring (Content 30, SEO 25, E-E-A-T 15, Technical 15, AI Citation 15)
  • skills/blog/references/eeat-signals.md: Experience, expertise, authority, trust markers
  • skills/blog/references/internal-linking.md: Linking strategy and anchor text rules
  • skills/blog/references/visual-media.md: Image sourcing and chart styling
  • skills/blog-write/references/delivery.md: delivery contract steps and summary template for this sub-skill

Workflow

Phase 0: Surface Targeting (do this BEFORE research)

Decide which of the FLOW 5 surfaces this post is meant to win. The choice shapes structure, length, citation density, and call-to-action. The 5 surfaces in 2026:

  1. Owned site (organic Google ranking)
  2. SERP including AI Overviews
  3. AI assistant citations (ChatGPT, Perplexity, Claude, Gemini, Copilot, You.com)
  4. Local pack (out of scope for blog content; use claude-seo for local)
  5. Communities and video (Reddit, YouTube, LinkedIn, Quora, niche forums)

Most posts target surfaces 1, 2, and 3 by default. If the same query also surfaces in a community (Reddit thread, YouTube comment), apply dual-surface thinking: optimize the post for extraction AND plan a community echo (covered in /blog repurpose).

For a deeper surface-by-surface workflow, see skills/blog/references/flow-alignment.md and /blog flow find.

Phase 1: Topic Understanding

  1. Clarify the topic - If the user provides just a topic, ask:
    • Target audience (who is this for?)
    • Primary keyword / search intent
    • Desired word count (default: 2,000-2,500 words)
    • Platform/format (MDX, markdown, HTML - auto-detect if in a project)
  2. If a brief exists - Load it and skip to Phase 1.5

Phase 1.5: Template Selection

Select the appropriate content template from the 12 templates in skills/blog/templates/ (the main blog skill owns the templates directory).

  1. Auto-detect content type from the topic and search intent: | Signal | Template | |--------|----------| | "How to...", process, steps | how-to-guide | | "Best X", "Top N", list format | listicle | | Client result, before/after, metrics | case-study | | "X vs Y", comparison, alternatives | comparison | | Broad topic, comprehensive guide | pillar-page | | "Is X worth it", product evaluation | product-review | | Opinion, prediction, industry take | thought-leadership | | Expert quotes, multi-source collection | roundup | | Code walkthrough, tool demo, technical | tutorial | | Breaking news, algorithm update, event | news-analysis | | Survey results, experiment, original data | data-research | | Q&A, knowledge base, "What is X" | faq-knowledge |

  2. Load the matching template: Read from skills/blog/templates/<type>.md

  3. Adapt the outline - Use the template's section structure, heading patterns, and word count guidance to shape Phase 3's outline

  4. Fallback - If no template clearly fits, use the generic outline structure in Phase 3 below. Inform the user which template was selected (or that none matched).

See skills/blog/references/content-templates.md for detailed selection criteria and intent mapping.

Phase 2: Research

Spawn a blog-researcher agent (or do inline research with WebSearch):

  1. Find 8-12 current statistics (2025-2026 data preferred)
    • Search: [topic] study 2025 2026 data statistics
    • Prioritize tier 1-3 sources (see skills/blog/references/quality-scoring.md)
    • Record: statistic, source name, URL, date, methodology
  2. Find a cover image (wide, high-quality, topic-relevant):
    • Prefer original screenshots, product visuals, diagrams, or data graphics when available
    • For stock, use official APIs such as Openverse, Unsplash, Pexels, or Pixabay so license, creator, source URL, and download URL are captured
    • Download approved assets into the draft folder, store attribution, and never hotlink arbitrary CDN URLs
    • Reject javascript:, data:, and file: image URLs
    • Target dimensions: 1200x630 (OG-compatible) or 1920x1080
    • Or generate a custom SVG cover via blog-chart (text-on-gradient with key stat)
    • Or generate a custom AI image via blog-image; prefer gemini-3.1-flash-image, then gemini-3.1-flash-lite-image or gemini-3-pro-image when available, and record the model ID
    • See skills/blog/references/visual-media.md for cover image sizing details
  3. Find 3-5 inline images from open-source platforms:
    • Use official APIs or Openverse search; keep license, creator, source URL, and retrieval date with each asset
    • Download images locally and reference local paths in the draft
    • Validate final URLs with the delivery contract SSRF rules before download
  4. Plan 2-4 data visualizations from researched statistics
    • Select diverse chart types (see skills/blog/references/visual-media.md)
    • Map data points to chart formats
  5. AI image generation (optional, if blog-image is available):
    • If stock photo results are insufficient (< 3 good matches) or topic is too niche
    • Generate custom hero image and/or inline illustrations via blog-image sub-skill
    • Record prompt, provider, and model ID; stock photos remain available, but original and data visuals are preferred when they better serve the topic
  6. NotebookLM research (optional, if user has relevant notebooks):
    • If the user mentions a NotebookLM notebook or the topic aligns with a configured notebook
    • Query via blog-notebooklm for source-grounded data from user-uploaded documents
    • Inherit the source tier from the underlying document provenance; user's own primary documents can be Tier 1, while copied secondary sources keep their original tier
    • Falls back silently if not configured or not authenticated
  7. Find relevant YouTube videos (2-3 per post):
    • Use blog-google youtube command or WebSearch site:youtube.com [topic] [year]
    • Apply quality criteria from skills/blog/references/video-embeds.md (min score 50/100)
    • Select 2-3 best videos. Falls back silently if none found.

Phase 3: Outline Generation

Create a structured outline before writing. If a template was loaded in Phase 1.5, adapt this skeleton to match the template's section structure:

# [Title as Question - Include Primary Keyword]

## Introduction (100-150 words)
- Open with the reader's problem, a useful finding, a concrete example, or an
  optional verified statistic when evidence makes that the strongest hook
- Problem/opportunity statement
- What the reader will learn

> **Key Takeaways**
> - [Core finding with statistic and source]
> - [Second key insight or recommendation]
> - [Third actionable takeaway]
> (3-5 concise bullets when a summary helps this content type)

## H2: [Intent-Matched Heading]
- Clear section point with verified support where needed
- Supporting evidence
- [Image placement]
- Practical advice
- [EVIDENCE-BACKED EXPLANATION placeholder]
- [INTERNAL-LINK: anchor text → target description]

## H2: [Intent-Matched Heading]
- Answer-first paragraph
- [Chart: type + data description]
- Analysis and implications
- [EVIDENCE-BACKED EXPLANATION placeholder]
- [INTERNAL-LINK: anchor text → target description]

## H2: [Intent-Matched Heading]
- Answer-first paragraph
- Real-world example or case study
- [Image placement]
- [EVIDENCE-BACKED EXPLANATION placeholder]

## H2: [Intent-Matched Heading]
- Answer-first paragraph
- [Chart: type + data description]
- Step-by-step guidance
- [EVIDENCE-BACKED EXPLANATION placeholder]
- [INTERNAL-LINK: anchor text → target description]

## H2: [Intent-Matched Heading]
- Answer-first paragraph
- Forward-looking analysis

## [CTA Section or Inline Placement]
- See `skills/blog/references/cta-placement.md` for placement rules by content type
- Place CTA after value delivery, not at arbitrary positions
- Single focused CTA per post (266% more conversions)
- [CTA: contextual call-to-action matching article topic]

## Optional FAQ Section (only when real reader questions warrant it)
- [INTERNAL-LINK: anchor text → detailed content]

## Conclusion (100-150 words)
- Key takeaways (bulleted)
- Call to action
- [INTERNAL-LINK: anchor text → next logical content]

Present the outline to the user for approval before writing.

Visual element pacing: Insert [IMAGE], [CHART], [VIDEO], or [CALLOUT] markers every 300-500 words. Alternate types (no consecutive same-type). See skills/blog/references/content-rules.md Visual Rhythm section and skills/blog/references/cta-placement.md for CTA positioning.

Phase 4: Chart Generation (Built-In)

When the researcher identifies chart-worthy data (3+ comparable metrics, trend data, before/after comparisons):

  1. Select chart type using the diversity rule (no repeated types per post)
  2. Invoke blog-chart sub-skill with: chart type, title, data values, source, platform format
  3. Embed the returned SVG directly in the post within a <figure> wrapper
  4. Target 2-4 charts per 2,000-word post
  5. Distribute charts evenly - never cluster them

See skills/blog/references/visual-media.md for chart type selection and styling rules.

Phase 5: Content Writing

Write the full article following these rules:

5a. Frontmatter

---
title: "[Clear title that identifies the page and matches search intent]"
description: "[Accurate, page-specific summary of the visible content]"
coverImage: "[URL from Pixabay/Unsplash/Pexels or generated SVG path]"
coverImageAlt: "[Descriptive sentence about the cover image]"
ogImage: "[Same as coverImage, or custom OG image URL]"
date: "YYYY-MM-DD"
lastUpdated: "YYYY-MM-DD"
author: "[Author name]"
tags: ["keyword1", "keyword2", "keyword3"]
---

If the platform uses a different field name (e.g., image, hero, thumbnail), adapt to match the project's existing frontmatter convention.

5b. Summary Box (Key Takeaways)

Immediately after the introduction (before the first H2 body section), add a summary box:

> **Key Takeaways**
> - [Core finding with verified support when needed]
> - [Second key insight or recommendation]
> - [Third actionable takeaway]

Requirements:

  • 3-5 concise bullet points sized to the material
  • Must be self-contained - understandable without reading the article
  • Use statistics only when material to the summary and verified
  • State the key finding, recommendation, or answer
  • Default label: "Key Takeaways". If a persona is active, use the persona's summary_label
  • Backward compatible: accept existing TL;DR boxes during rewrites

5c. Purpose-First Formatting (Critical)

State the point of important sections early, then supp

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars2.3k
CategoryContent
Updated4d ago
Forks392

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions