Write blog skill
Generate a full SEO-optimized blog post.
by OpenClaudia·MIT license·★ 705 Stars on the repo·GitHub ↗
npx degit OpenClaudia/openclaudia-skills/skills/write-blog#main ~/.claude/skills/write-blogChecked ·commit main
Files of Write blog
Show the full text396 lines
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:
# 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:
# [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:
| Intent | Formula | Example |
|---|---|---|
| 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 Type | Target Words | Sections (H2) | Images | Internal Links | External Links |
|---|---|---|---|---|---|
| How-to Guide | 2000-3000 | 6-10 | 5-10 | 5-8 | 3-5 |
| Listicle | 2500-4000 | 1 per item + intro/conclusion | 1 per item | 5-10 | 3-5 |
| Ultimate Guide | 3000-5000 | 8-15 | 8-15 | 8-12 | 5-8 |
| Comparison | 1500-2500 | 5-8 | 3-5 | 3-5 | 2-4 |
| Opinion/Thought | 1000-1500 | 4-6 | 2-3 | 3-5 | 2-3 |
| News/Update | 800-1200 | 3-5 | 1-3 | 3-5 | 3-5 |
Step 4: Optimize for Featured Snippets
Target featured snippets with these patterns:
Paragraph snippet (definition/what is):
## 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):
## 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):
## {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:
[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:
# 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:
# 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:
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":
## 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:
---
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:
- SEO metadata summary (title, description, slug, word count)
- Internal linking recommendations (which pages to link to/from)
- Schema markup (Article or BlogPosting JSON-LD)
- Social sharing (suggested OG title, description, and image concept)
- 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.
| 1 | |
| 2 | name write-blog |
| 3 | description 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. |
| 4 | |
| 5 | |
| 6 | # Write Blog Post Skill |
| 7 | |
| 8 | 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). |
| 9 | |
| 10 | ## Blog Writing Process |
| 11 | |
| 12 | ### Step 1: Research & Briefing |
| 13 | |
| 14 | Before writing a single word, gather intelligence: |
| 15 | |
| 16 | **1A. Understand the keyword** |
| 17 | Ask or infer: |
| 18 | **Target keyword:** Primary keyword to rank for |
| 19 | **Secondary keywords:** 3-5 related terms to include naturally |
| 20 | **Search intent:** What does the searcher want? (Answer, comparison, tutorial, list) |
| 21 | **Target audience:** Who is reading this? (Beginner/intermediate/expert, role, industry) |
| 22 | **Business goal:** What should the reader do after? (Sign up, buy, share, learn) |
| 23 | |
| 24 | **1B. Get Keyword Data (if SemRush API available)** |
| 25 | |
| 26 | If `SEMRUSH_API_KEY` is set, pull real keyword metrics to inform the content strategy: |
| 27 | |
| 28 | |
| 29 | # Get keyword data for the target keyword |
| 30 | curl -s "https://api.semrush.com/?type=phrase_all&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr" |
| 31 | |
| 32 | |
| 33 | The response is semicolon-delimited with columns: |
| 34 | **Ph** - Keyword phrase |
| 35 | **Nq** - Monthly search volume (use this to gauge content depth: higher volume = more comprehensive article) |
| 36 | **Cp** - CPC in dollars (high CPC signals strong commercial intent - emphasize CTAs and product mentions) |
| 37 | **Co** - Competition index 0-1 (high competition means you need stronger E-E-A-T signals) |
| 38 | **Nr** - Number of organic results (more results = more competitive SERP) |
| 39 | |
| 40 | Use these insights to: |
| 41 | **Calibrate word count:** Keywords with volume >5,000 typically need 2,500+ word articles |
| 42 | **Adjust commercial angle:** CPC > $5 means readers have buying intent - include product recommendations, comparisons, or pricing info |
| 43 | **Identify difficulty:** Competition > 0.8 means you need more external links, original research, and expert quotes to compete |
| 44 | |
| 45 | **1C. Analyze the SERP (if tools available)** |
| 46 | Use WebSearch to check what currently ranks: |
| 47 | What content type dominates? (Listicle, how-to, guide, comparison) |
| 48 | What's the average word count of top 5? |
| 49 | What topics do all top results cover? |
| 50 | What's missing from existing content? |
| 51 | |
| 52 | **1D. Build the outline from SERP intelligence** |
| 53 | Your outline should cover everything the top results cover, plus unique sections they miss. |
| 54 | |
| 55 | ### Step 2: Create the Outline |
| 56 | |
| 57 | Build a detailed outline before writing. Every blog post follows this master structure: |
| 58 | |
| 59 | |
| 60 | # [H1: Title - includes primary keyword, compelling, 50-60 chars for title tag] |
| 61 | |
| 62 | Meta Title: [50-60 characters, primary keyword front-loaded] |
| 63 | Meta Description: [150-160 characters, includes keyword, has CTA, creates curiosity] |
| 64 | URL Slug: [primary-keyword-short-descriptive] |
| 65 | |
| 66 | ## Introduction (100-150 words) |
| 67 | - Hook: Open with a surprising stat, question, or relatable problem |
| 68 | - Context: Why this topic matters RIGHT NOW |
| 69 | - Promise: What the reader will learn/gain |
| 70 | - Primary keyword appears in first 100 words |
| 71 | |
| 72 | ## [H2: First major section - includes secondary keyword] |
| 73 | ### [H3: Subsection if needed] |
| 74 | - Key points to cover |
| 75 | - Data or examples to include |
| 76 | |
| 77 | ## [H2: Second major section] |
| 78 | ### [H3: Subsection] |
| 79 | ... |
| 80 | |
| 81 | ## [H2: Practical/Actionable Section] |
| 82 | (How-to steps, templates, checklists, frameworks) |
| 83 | |
| 84 | ## [H2: Expert Tips / Advanced Section] |
| 85 | (Differentiator content - what competitors don't cover) |
| 86 | |
| 87 | ## [H2: Common Mistakes / What to Avoid] |
| 88 | (Addresses "People Also Ask" questions) |
| 89 | |
| 90 | ## [H2: FAQ] |
| 91 | ### [H3: Question 1?] |
| 92 | Answer (2-4 sentences, targets featured snippet) |
| 93 | ### [H3: Question 2?] |
| 94 | ... |
| 95 | |
| 96 | ## Conclusion (100-150 words) |
| 97 | - Summarize key takeaways (3-5 bullet points) |
| 98 | - Restate the main value delivered |
| 99 | - Clear CTA: what should the reader do next? |
| 100 | |
| 101 | ## Internal Links Plan |
| 102 | - Link TO: [3-5 related pages on the site] |
| 103 | - Link FROM: [Pages that should link to this post] |
| 104 | |
| 105 | |
| 106 | ### Step 3: Write the Content |
| 107 | |
| 108 | Follow these writing rules strictly: |
| 109 | |
| 110 | #### Title Tag Formula (50-60 characters) |
| 111 | |
| 112 | Choose the best pattern for the intent: |
| 113 | |
| 114 | | Intent | Formula | Example | |
| 115 | |--------|---------|---------| |
| 116 | | How-to | "How to {Action} ({Qualifier})" | "How to Start a Blog (Step-by-Step Guide)" | |
| 117 | | Listicle | "{Number} {Adjective} {Topic} for {Year/Audience}" | "15 Best SEO Tools for Small Business (2025)" | |
| 118 | | Guide | "{Topic}: The {Adjective} Guide for {Year}" | "Email Marketing: The Complete Guide for 2025" | |
| 119 | | Comparison | "{A} vs {B}: {Differentiator}" | "Notion vs Obsidian: Which Is Better for Teams?" | |
| 120 | | Question | "{Question}? {Promise}" | "Is SEO Dead? What the Data Actually Shows" | |
| 121 | |
| 122 | **Title rules:** |
| 123 | Primary keyword within first 30 characters |
| 124 | Add a power word: Ultimate, Complete, Proven, Essential, Definitive |
| 125 | Include year if the topic is time-sensitive |
| 126 | Use numbers for listicles (odd numbers outperform: 7, 9, 11, 13) |
| 127 | Never exceed 60 characters (Google truncates at ~580px) |
| 128 | |
| 129 | #### Meta Description Formula (150-160 characters) |
| 130 | |
| 131 | |
| 132 | {What the article covers} + {Unique value prop} + {CTA or curiosity hook} |
| 133 | |
| 134 | |
| 135 | Examples: |
| 136 | "Learn how to start a blog in 2025 with our step-by-step guide. Covers hosting, design, content, and monetization. Free checklist included." |
| 137 | "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." |
| 138 | |
| 139 | **Meta description rules:** |
| 140 | Include primary keyword naturally |
| 141 | Include a CTA or curiosity element |
| 142 | Use active voice |
| 143 | Mention a specific deliverable (checklist, template, comparison, steps) |
| 144 | Stay between 150-160 characters |
| 145 | |
| 146 | #### Writing Style Rules |
| 147 | |
| 148 | **Readability:** |
| 149 | Paragraphs: 2-4 sentences max |
| 150 | Sentences: 15-20 words average |
| 151 | Use short sentences for emphasis. Like this. |
| 152 | Reading level: Grade 7-9 (Flesch-Kincaid) |
| 153 | Use "you" and "your" - write TO the reader |
| 154 | Active voice > passive voice (aim for 90%+ active) |
| 155 | |
| 156 | **Structure & Scannability:** |
| 157 | H2 every 200-300 words |
| 158 | H3 for subsections within H2s |
| 159 | Bullet points for lists of 3+ items |
| 160 | Numbered lists for sequential steps |
| 161 | Bold key terms and takeaways |
| 162 | Pull quotes or callout boxes for key insights |
| 163 | Tables for comparisons (Google loves tables for featured snippets) |
| 164 | |
| 165 | **SEO Integration (natural, not forced):** |
| 166 | Primary keyword in: H1, first 100 words, 1-2 H2s, conclusion, alt text |
| 167 | Primary keyword density: 0.5-1.5% (roughly every 200 words in a 2000-word post) |
| 168 | Secondary keywords: each appears 2-3 times throughout |
| 169 | LSI/related terms: sprinkle naturally throughout |
| 170 | Never keyword stuff - if it sounds unnatural, rewrite it |
| 171 | |
| 172 | **E-E-A-T Signals:** |
| 173 | **Experience:** Include first-hand observations, "In my experience...", "When I tested..." |
| 174 | **Expertise:** Reference specific methodologies, use precise terminology, show deep knowledge |
| 175 | **Authoritativeness:** Cite authoritative sources (studies, official docs, industry leaders) |
| 176 | **Trustworthiness:** Acknowledge limitations, present balanced views, link to sources |
| 177 | |
| 178 | #### Content Depth Targets |
| 179 | |
| 180 | | Article Type | Target Words | Sections (H2) | Images | Internal Links | External Links | |
| 181 | |-------------|-------------|----------------|--------|---------------|---------------| |
| 182 | | How-to Guide | 2000-3000 | 6-10 | 5-10 | 5-8 | 3-5 | |
| 183 | | Listicle | 2500-4000 | 1 per item + intro/conclusion | 1 per item | 5-10 | 3-5 | |
| 184 | | Ultimate Guide | 3000-5000 | 8-15 | 8-15 | 8-12 | 5-8 | |
| 185 | | Comparison | 1500-2500 | 5-8 | 3-5 | 3-5 | 2-4 | |
| 186 | | Opinion/Thought | 1000-1500 | 4-6 | 2-3 | 3-5 | 2-3 | |
| 187 | | News/Update | 800-1200 | 3-5 | 1-3 | 3-5 | 3-5 | |
| 188 | |
| 189 | ### Step 4: Optimize for Featured Snippets |
| 190 | |
| 191 | Target featured snippets with these patterns: |
| 192 | |
| 193 | **Paragraph snippet (definition/what is):** |
| 194 | |
| 195 | ## What Is {Topic}? |
| 196 | |
| 197 | {Topic} is {clear 40-60 word definition that directly answers the question}. |
| 198 | {Additional context in 1-2 more sentences}. |
| 199 | |
| 200 | |
| 201 | **List snippet (how-to/best of):** |
| 202 | |
| 203 | ## How to {Action} |
| 204 | |
| 205 | 1. **{Step 1 title}** - Brief description |
| 206 | 2. **{Step 2 title}** - Brief description |
| 207 | 3. **{Step 3 title}** - Brief description |
| 208 | ... |
| 209 | |
| 210 | |
| 211 | **Table snippet (comparison/data):** |
| 212 | |
| 213 | ## {Comparison Topic} |
| 214 | |
| 215 | | {Column 1} | {Column 2} | {Column 3} | |
| 216 | |------------|------------|------------| |
| 217 | | {Data} | {Data} | {Data} | |
| 218 | |
| 219 | |
| 220 | ### Step 5: Add Supporting Elements |
| 221 | |
| 222 | **Image suggestions:** |
| 223 | For each major section, suggest an image: |
| 224 | |
| 225 | [IMAGE: {Description of what the image should show}] |
| 226 | Alt text: "{Descriptive alt text with keyword where natural}" |
| 227 | |
| 228 | |
| 229 | **Image types to suggest:** |
| 230 | Hero image (featured image for social sharing) |
| 231 | Screenshots (for tutorials) |
| 232 | Comparison tables (as images for Pinterest) |
| 233 | Infographics (for key data points) |
| 234 | Process diagrams (for step-by-step content) |
| 235 | Charts/graphs (for data-driven claims) |
| 236 | |
| 237 | **Sourcing Featured Images from Unsplash (if UNSPLASH_CLIENT_ID available):** |
| 238 | |
| 239 | Use the Unsplash API to find high-quality, royalty-free featured images for the blog post: |
| 240 | |
| 241 | |
| 242 | # Search Unsplash for a relevant featured image |
| 243 | curl -s "https://api.unsplash.com/search/photos?query={topic}&per_page=5&orientation=landscape" \ |
| 244 | -H "Authorization: Client-ID ${UNSPLASH_CLIENT_ID}" |
| 245 | |
| 246 | |
| 247 | **Parsing the response:** |
| 248 | |
| 249 | The JSON response contains a `results` array. For each photo, extract: |
| 250 | |
| 251 | |
| 252 | # Parse with jq to get image URLs, photographer info, and download links |
| 253 | curl -s "https://api.unsplash.com/search/photos?query={topic}&per_page=5&orientation=landscape" \ |
| 254 | -H "Authorization: Client-ID ${UNSPLASH_CLIENT_ID}" | \ |
| 255 | jq -r '.results[] | { |
| 256 | id: .id, |
| 257 | description: .description, |
| 258 | image_url: .urls.regular, |
| 259 | full_url: .urls.full, |
| 260 | download_link: .links.download, |
| 261 | photographer_name: .user.name, |
| 262 | photographer_url: .user.links.html, |
| 263 | unsplash_url: .links.html |
| 264 | }' |
| 265 | |
| 266 | |
| 267 | Key fields from the response: |
| 268 | **`.urls.regular`** - Optimized image (1080px wide, good for blog featured images) |
| 269 | **`.urls.full`** - Full resolution image |
| 270 | **`.urls.small`** - Thumbnail (400px wide, good for social sharing previews) |
| 271 | **`.links.download`** - Trigger a download (Unsplash tracks this for photographer stats) |
| 272 | **`.user.name`** - Photographer's name (required for attribution) |
| 273 | **`.user.links.html`** - Photographer's Unsplash profile URL |
| 274 | |
| 275 | **Unsplash attribution requirement:** |
| 276 | |
| 277 | Unsplash requires attribution whenever you use a photo. Include this in the blog post: |
| 278 | |
| 279 | |
| 280 | 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) |
| 281 | |
| 282 | |
| 283 | Place the attribution either: |
| 284 | In the image caption directly below the featured image |
| 285 | In an image credits section at the bottom of the post |
| 286 | In the alt text or title attribute of the image tag |
| 287 | |
| 288 | **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). |
| 289 | |
| 290 | **Internal link placement:** |
| 291 | Contextual links within body paragraphs (most valuable) |
| 292 | "Related reading" callout boxes between sections |
| 293 | "Further reading" section at the end |
| 294 | Anchor text should be descriptive, not "click here" |
| 295 | |
| 296 | **External link rules:** |
| 297 | Link to authoritative sources (studies, official docs, .edu, .gov) |
| 298 | Open external links in new tab |
| 299 | No-follow affiliate links and sponsored content |
| 300 | Cite statistics with linked sources |
| 301 | |
| 302 | ### Step 6: FAQ Section |
| 303 | |
| 304 | Every blog post should end with a FAQ section targeting "People Also Ask": |
| 305 | |
| 306 | |
| 307 | ## Frequently Asked Questions |
| 308 | |
| 309 | ### {Question matching PAA or long-tail keyword}? |
| 310 | |
| 311 | {Direct answer in 2-4 sentences. Front-load the answer. |
| 312 | Provide additional context after the direct answer. |
| 313 | This format optimizes for both featured snippets and FAQ rich results.} |
| 314 | |
| 315 | ### {Second question}? |
| 316 | |
| 317 | {Answer} |
| 318 | |
| 319 | |
| 320 | **FAQ rules:** |
| 321 | 4-6 questions |
| 322 | Questions should use natural language (how, what, why, when, can, does) |
| 323 | Answer the question in the first sentence |
| 324 | Keep each answer under 100 words |
| 325 | Include schema markup (see schema-markup skill) |
| 326 | |
| 327 | ### Step 7: Final Quality Check |
| 328 | |
| 329 | Before delivering the post, verify: |
| 330 | |
| 331 | **SEO Checklist:** |
| 332 | [ ] Title tag: 50-60 characters, keyword front-loaded |
| 333 | [ ] Meta description: 150-160 characters, includes keyword, has CTA |
| 334 | [ ] URL slug: Short, includes keyword, hyphenated |
| 335 | [ ] H1: One per page, includes primary keyword |
| 336 | [ ] H2s: Include secondary keywords where natural |
| 337 | [ ] Primary keyword in first 100 words |
| 338 | [ ] Keyword density: 0.5-1.5% |
| 339 | [ ] Internal links: 5+ contextual links |
| 340 | [ ] External links: 3+ authoritative sources |
| 341 | [ ] Images: Alt text on all, keyword in at least one |
| 342 | [ ] FAQ section with 4-6 questions |
| 343 | [ ] Word count meets target for content type |
| 344 | [ ] No duplicate content or thin sections |
| 345 | |
| 346 | **Readability Checklist:** |
| 347 | [ ] Average paragraph: 2-4 sentences |
| 348 | [ ] Average sentence: under 20 words |
| 349 | [ ] Grade level: 7-9 |
| 350 | [ ] Active voice: 90%+ |
| 351 | [ ] Power words in subheadings |
| 352 | [ ] Bullet points or numbered lists every 300 words |
| 353 | [ ] Bold text highlights key points |
| 354 | |
| 355 | **E-E-A-T Checklist:** |
| 356 | [ ] Author byline with credentials suggested |
| 357 | [ ] Sources cited and linked |
| 358 | [ ] First-hand experience or expertise demonstrated |
| 359 | [ ] Balanced perspective (pros and cons, not just hype) |
| 360 | [ ] Date published and "last updated" date included |
| 361 | [ ] Factual accuracy verified (no made-up statistics) |
| 362 | |
| 363 | ## Output Format |
| 364 | |
| 365 | Deliver the blog post in this format: |
| 366 | |
| 367 | |
| 368 | |
| 369 | title: "{Meta title - 50-60 chars}" |
| 370 | description: "{Meta description - 150-160 chars}" |
| 371 | slug: "{url-slug}" |
| 372 | keywords: ["{primary}", "{secondary1}", "{secondary2}"] |
| 373 | date: "{YYYY-MM-DD}" |
| 374 | author: "{Author name}" |
| 375 | |
| 376 | |
| 377 | # {H1 Headline} |
| 378 | |
| 379 | {Full article content with all formatting, links, and image placeholders} |
| 380 | |
| 381 | |
| 382 | After the article, provide: |
| 383 | **SEO metadata summary** (title, description, slug, word count) |
| 384 | **Internal linking recommendations** (which pages to link to/from) |
| 385 | **Schema markup** (Article or BlogPosting JSON-LD) |
| 386 | **Social sharing** (suggested OG title, description, and image concept) |
| 387 | **Content promotion ideas** (2-3 distribution channels and angles) |
| 388 | |
| 389 | ## Important Notes |
| 390 | |
| 391 | Never fabricate statistics. If citing a number, include the source or note "[Source needed]". |
| 392 | Write for humans first, search engines second. If an SEO tactic makes the content worse for readers, skip it. |
| 393 | Every section must provide value. No filler paragraphs. If a section doesn't teach, convince, or entertain, cut it. |
| 394 | Match the user's brand voice if they specify one. Ask if not clear. |
| 395 | If the topic is YMYL (health, finance, legal), be extra careful with claims and heavily cite authoritative sources. |
| 396 |
Discussion
Alternatives
Browse more free Claude skills or everything in Content creator.