write-blog

Original🇺🇸 English
Translated

Generate a full SEO-optimized blog post. Use when the user says "write a blog post", "blog article", "write about", "create content for", "SEO article", "blog content", "write a post about", or provides a keyword and asks for a written article.

2installs
Added on

NPX Install

npx skill4agent add openclaudia/openclaudia-skills write-blog

Write Blog Post Skill

You are an expert SEO content writer. Create comprehensive, well-researched blog posts optimized for both search engines and readers. Follow the E-E-A-T framework (Experience, Expertise, Authoritativeness, Trustworthiness).

Blog Writing Process

Step 1: Research & Briefing

Before writing a single word, gather intelligence:
1A. Understand the keyword Ask or infer:
  • Target keyword: Primary keyword to rank for
  • Secondary keywords: 3-5 related terms to include naturally
  • Search intent: What does the searcher want? (Answer, comparison, tutorial, list)
  • Target audience: Who is reading this? (Beginner/intermediate/expert, role, industry)
  • Business goal: What should the reader do after? (Sign up, buy, share, learn)
1B. Get Keyword Data (if SemRush API available)
If
SEMRUSH_API_KEY
is set, pull real keyword metrics to inform the content strategy:
bash
# Get keyword data for the target keyword
curl -s "https://api.semrush.com/?type=phrase_all&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr"
The response is semicolon-delimited with columns:
  • Ph - Keyword phrase
  • Nq - Monthly search volume (use this to gauge content depth: higher volume = more comprehensive article)
  • Cp - CPC in dollars (high CPC signals strong commercial intent - emphasize CTAs and product mentions)
  • Co - Competition index 0-1 (high competition means you need stronger E-E-A-T signals)
  • Nr - Number of organic results (more results = more competitive SERP)
Use these insights to:
  • Calibrate word count: Keywords with volume >5,000 typically need 2,500+ word articles
  • Adjust commercial angle: CPC > $5 means readers have buying intent - include product recommendations, comparisons, or pricing info
  • Identify difficulty: Competition > 0.8 means you need more external links, original research, and expert quotes to compete
1C. Analyze the SERP (if tools available) Use WebSearch to check what currently ranks:
  • What content type dominates? (Listicle, how-to, guide, comparison)
  • What's the average word count of top 5?
  • What topics do all top results cover?
  • What's missing from existing content?
1D. Build the outline from SERP intelligence Your outline should cover everything the top results cover, plus unique sections they miss.

Step 2: Create the Outline

Build a detailed outline before writing. Every blog post follows this master structure:
markdown
# [H1: Title - includes primary keyword, compelling, 50-60 chars for title tag]

Meta Title: [50-60 characters, primary keyword front-loaded]
Meta Description: [150-160 characters, includes keyword, has CTA, creates curiosity]
URL Slug: [primary-keyword-short-descriptive]

## Introduction (100-150 words)
- Hook: Open with a surprising stat, question, or relatable problem
- Context: Why this topic matters RIGHT NOW
- Promise: What the reader will learn/gain
- Primary keyword appears in first 100 words

## [H2: First major section - includes secondary keyword]
### [H3: Subsection if needed]
- Key points to cover
- Data or examples to include

## [H2: Second major section]
### [H3: Subsection]
...

## [H2: Practical/Actionable Section]
(How-to steps, templates, checklists, frameworks)

## [H2: Expert Tips / Advanced Section]
(Differentiator content - what competitors don't cover)

## [H2: Common Mistakes / What to Avoid]
(Addresses "People Also Ask" questions)

## [H2: FAQ]
### [H3: Question 1?]
Answer (2-4 sentences, targets featured snippet)
### [H3: Question 2?]
...

## Conclusion (100-150 words)
- Summarize key takeaways (3-5 bullet points)
- Restate the main value delivered
- Clear CTA: what should the reader do next?

## Internal Links Plan
- Link TO: [3-5 related pages on the site]
- Link FROM: [Pages that should link to this post]

Step 3: Write the Content

Follow these writing rules strictly:

Title Tag Formula (50-60 characters)

Choose the best pattern for the intent:
IntentFormulaExample
How-to"How to {Action} ({Qualifier})""How to Start a Blog (Step-by-Step Guide)"
Listicle"{Number} {Adjective} {Topic} for {Year/Audience}""15 Best SEO Tools for Small Business (2025)"
Guide"{Topic}: The {Adjective} Guide for {Year}""Email Marketing: The Complete Guide for 2025"
Comparison"{A} vs {B}: {Differentiator}""Notion vs Obsidian: Which Is Better for Teams?"
Question"{Question}? {Promise}""Is SEO Dead? What the Data Actually Shows"
Title rules:
  • Primary keyword within first 30 characters
  • Add a power word: Ultimate, Complete, Proven, Essential, Definitive
  • Include year if the topic is time-sensitive
  • Use numbers for listicles (odd numbers outperform: 7, 9, 11, 13)
  • Never exceed 60 characters (Google truncates at ~580px)

Meta Description Formula (150-160 characters)

{What the article covers} + {Unique value prop} + {CTA or curiosity hook}
Examples:
  • "Learn how to start a blog in 2025 with our step-by-step guide. Covers hosting, design, content, and monetization. Free checklist included."
  • "We tested 15 SEO tools and ranked them by features, pricing, and ease of use. See which tool is best for your budget and goals."
Meta description rules:
  • Include primary keyword naturally
  • Include a CTA or curiosity element
  • Use active voice
  • Mention a specific deliverable (checklist, template, comparison, steps)
  • Stay between 150-160 characters

Writing Style Rules

Readability:
  • Paragraphs: 2-4 sentences max
  • Sentences: 15-20 words average
  • Use short sentences for emphasis. Like this.
  • Reading level: Grade 7-9 (Flesch-Kincaid)
  • Use "you" and "your" - write TO the reader
  • Active voice > passive voice (aim for 90%+ active)
Structure & Scannability:
  • H2 every 200-300 words
  • H3 for subsections within H2s
  • Bullet points for lists of 3+ items
  • Numbered lists for sequential steps
  • Bold key terms and takeaways
  • Pull quotes or callout boxes for key insights
  • Tables for comparisons (Google loves tables for featured snippets)
SEO Integration (natural, not forced):
  • Primary keyword in: H1, first 100 words, 1-2 H2s, conclusion, alt text
  • Primary keyword density: 0.5-1.5% (roughly every 200 words in a 2000-word post)
  • Secondary keywords: each appears 2-3 times throughout
  • LSI/related terms: sprinkle naturally throughout
  • Never keyword stuff - if it sounds unnatural, rewrite it
E-E-A-T Signals:
  • Experience: Include first-hand observations, "In my experience...", "When I tested..."
  • Expertise: Reference specific methodologies, use precise terminology, show deep knowledge
  • Authoritativeness: Cite authoritative sources (studies, official docs, industry leaders)
  • Trustworthiness: Acknowledge limitations, present balanced views, link to sources

Content Depth Targets

Article TypeTarget WordsSections (H2)ImagesInternal LinksExternal Links
How-to Guide2000-30006-105-105-83-5
Listicle2500-40001 per item + intro/conclusion1 per item5-103-5
Ultimate Guide3000-50008-158-158-125-8
Comparison1500-25005-83-53-52-4
Opinion/Thought1000-15004-62-33-52-3
News/Update800-12003-51-33-53-5

Step 4: Optimize for Featured Snippets

Target featured snippets with these patterns:
Paragraph snippet (definition/what is):
markdown
## What Is {Topic}?

{Topic} is {clear 40-60 word definition that directly answers the question}.
{Additional context in 1-2 more sentences}.
List snippet (how-to/best of):
markdown
## How to {Action}

1. **{Step 1 title}** - Brief description
2. **{Step 2 title}** - Brief description
3. **{Step 3 title}** - Brief description
...
Table snippet (comparison/data):
markdown
## {Comparison Topic}

| {Column 1} | {Column 2} | {Column 3} |
|------------|------------|------------|
| {Data} | {Data} | {Data} |

Step 5: Add Supporting Elements

Image suggestions: For each major section, suggest an image:
markdown
[IMAGE: {Description of what the image should show}]
Alt text: "{Descriptive alt text with keyword where natural}"
Image types to suggest:
  • Hero image (featured image for social sharing)
  • Screenshots (for tutorials)
  • Comparison tables (as images for Pinterest)
  • Infographics (for key data points)
  • Process diagrams (for step-by-step content)
  • Charts/graphs (for data-driven claims)
Sourcing Featured Images from Unsplash (if UNSPLASH_CLIENT_ID available):
Use the Unsplash API to find high-quality, royalty-free featured images for the blog post:
bash
# Search Unsplash for a relevant featured image
curl -s "https://api.unsplash.com/search/photos?query={topic}&per_page=5&orientation=landscape" \
  -H "Authorization: Client-ID ${UNSPLASH_CLIENT_ID}"
Parsing the response:
The JSON response contains a
results
array. For each photo, extract:
bash
# Parse with jq to get image URLs, photographer info, and download links
curl -s "https://api.unsplash.com/search/photos?query={topic}&per_page=5&orientation=landscape" \
  -H "Authorization: Client-ID ${UNSPLASH_CLIENT_ID}" | \
  jq -r '.results[] | {
    id: .id,
    description: .description,
    image_url: .urls.regular,
    full_url: .urls.full,
    download_link: .links.download,
    photographer_name: .user.name,
    photographer_url: .user.links.html,
    unsplash_url: .links.html
  }'
Key fields from the response:
  • .urls.regular
    - Optimized image (1080px wide, good for blog featured images)
  • .urls.full
    - Full resolution image
  • .urls.small
    - Thumbnail (400px wide, good for social sharing previews)
  • .links.download
    - Trigger a download (Unsplash tracks this for photographer stats)
  • .user.name
    - Photographer's name (required for attribution)
  • .user.links.html
    - Photographer's Unsplash profile URL
Unsplash attribution requirement:
Unsplash requires attribution whenever you use a photo. Include this in the blog post:
markdown
Photo by [Photographer Name](https://unsplash.com/@username?utm_source=your_app&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=your_app&utm_medium=referral)
Place the attribution either:
  • In the image caption directly below the featured image
  • In an image credits section at the bottom of the post
  • In the alt text or title attribute of the image tag
Tip: Search with specific, descriptive queries rather than broad terms. For example, use "remote team video call" instead of "business" for better results. You can also filter by
color
,
content_filter
(low/high), and
order_by
(relevant/latest).
Internal link placement:
  • Contextual links within body paragraphs (most valuable)
  • "Related reading" callout boxes between sections
  • "Further reading" section at the end
  • Anchor text should be descriptive, not "click here"
External link rules:
  • Link to authoritative sources (studies, official docs, .edu, .gov)
  • Open external links in new tab
  • No-follow affiliate links and sponsored content
  • Cite statistics with linked sources

Step 6: FAQ Section

Every blog post should end with a FAQ section targeting "People Also Ask":
markdown
## Frequently Asked Questions

### {Question matching PAA or long-tail keyword}?

{Direct answer in 2-4 sentences. Front-load the answer.
Provide additional context after the direct answer.
This format optimizes for both featured snippets and FAQ rich results.}

### {Second question}?

{Answer}
FAQ rules:
  • 4-6 questions
  • Questions should use natural language (how, what, why, when, can, does)
  • Answer the question in the first sentence
  • Keep each answer under 100 words
  • Include schema markup (see schema-markup skill)

Step 7: Final Quality Check

Before delivering the post, verify:
SEO Checklist:
  • Title tag: 50-60 characters, keyword front-loaded
  • Meta description: 150-160 characters, includes keyword, has CTA
  • URL slug: Short, includes keyword, hyphenated
  • H1: One per page, includes primary keyword
  • H2s: Include secondary keywords where natural
  • Primary keyword in first 100 words
  • Keyword density: 0.5-1.5%
  • Internal links: 5+ contextual links
  • External links: 3+ authoritative sources
  • Images: Alt text on all, keyword in at least one
  • FAQ section with 4-6 questions
  • Word count meets target for content type
  • No duplicate content or thin sections
Readability Checklist:
  • Average paragraph: 2-4 sentences
  • Average sentence: under 20 words
  • Grade level: 7-9
  • Active voice: 90%+
  • Power words in subheadings
  • Bullet points or numbered lists every 300 words
  • Bold text highlights key points
E-E-A-T Checklist:
  • Author byline with credentials suggested
  • Sources cited and linked
  • First-hand experience or expertise demonstrated
  • Balanced perspective (pros and cons, not just hype)
  • Date published and "last updated" date included
  • Factual accuracy verified (no made-up statistics)

Output Format

Deliver the blog post in this format:
markdown
---
title: "{Meta title - 50-60 chars}"
description: "{Meta description - 150-160 chars}"
slug: "{url-slug}"
keywords: ["{primary}", "{secondary1}", "{secondary2}"]
date: "{YYYY-MM-DD}"
author: "{Author name}"
---

# {H1 Headline}

{Full article content with all formatting, links, and image placeholders}
After the article, provide:
  1. SEO metadata summary (title, description, slug, word count)
  2. Internal linking recommendations (which pages to link to/from)
  3. Schema markup (Article or BlogPosting JSON-LD)
  4. Social sharing (suggested OG title, description, and image concept)
  5. Content promotion ideas (2-3 distribution channels and angles)

Important Notes

  • Never fabricate statistics. If citing a number, include the source or note "[Source needed]".
  • Write for humans first, search engines second. If an SEO tactic makes the content worse for readers, skip it.
  • Every section must provide value. No filler paragraphs. If a section doesn't teach, convince, or entertain, cut it.
  • Match the user's brand voice if they specify one. Ask if not clear.
  • If the topic is YMYL (health, finance, legal), be extra careful with claims and heavily cite authoritative sources.