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
By agricidaniel · 2,103 installs
npx skills add agricidaniel/claude-blog --skill blog-write
Source repository · Upstream listing
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:
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
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:
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 supply the context and
verified evidence the claim needs. Do not force statistics or fixed lengths.
Pattern:
Source record for material public statistics:
Record enough provenance for a reader or editor to verify the claim. Use the
publication's citation style rather than forcing one sentence pattern.
1. Relevant date or study period. Include it where recency or the measured
period changes the claim's meaning.
2. Identifiable source. Name the publisher and document title when needed
to distinguish the source and place the citation close to the claim.
3. Retrievable support. Keep a stable URL. Add a retrieval date for
changeable or undated sources, and record methodology or limitations when
they affect interpretation.
FLOW quality bar (drop or replace):
Public claims must use verified sources OR stay qualitative. If a statistic
cannot be verified, drop it. If it is contradicted by a more recent source,
replace it with the verified alternative. Do not soften vague language to
keep an unsourceable number.
For evidence led optimization prompts (CTR audit, quality follow up, schema,
PAA rewording, ChatGPT visibility), see /blog flow optimize .
5d. Information Gain Markers
Use information gain markers as optional drafting annotations when the article
contains genuinely original data, transparent first hand evidence, or
distinctive sourced synthesis. The evidence itself helps readers; the marker is
not a search engine signal and earns no points by its presence.
Tag each with a comment or visible marker:
[ORIGINAL DATA] Proprietary surveys, experiments, A/B test results, case
study metrics the author collected first hand
[PERSONAL EXPERIENCE] First hand observations, lessons learned from direct
involvement, "when we tried X, Y happened" narratives
[UNIQUE INSIGHT] Analysis others haven't made, contrarian perspectives
backed by data, novel connections between existing research
Placement:
Weave into the body text naturally
Use as inline comments: <! [ORIGINAL DATA] before the relevant paragraph
Or as visible callouts if the format supports it:
Use only as many as the supported original material warrants.
5e. Evidence Backed Explanations
For important reusable claims, create a self contained, evidence backed
explanation sized to the material.
Guidance:
Self contained and understandable in isolation
Contains a specific claim plus verified support when the claim needs it
Written in a declarative, quotable style
Placed within the H2 section body (not as a separate block)
Example:
Do not pad explanations to a fixed length or add them solely to earn readiness
points.
5f. Internal Linking Zones
Mark internal linking opportunities throughout the article using placeholder
notation. The user (or a follow up pass) will resolve these to actual URLs.
Zone placement:
Introduction Link to related pillar content or topic hub
Each H2 section Link to supporting articles, deeper dives, related tools
FAQ section Link answers to detailed content that expands on the answer
Conclusion Link to the next logical piece of content the reader should consume
Format:
Example:
Target 5 10 internal link zones per 2,000 word post. Use descriptive anchor text
(never "click here" or "read more").