Source profileQuality 96/100

OpenClaudia/openclaudia-skills/skills/write-blog/SKILL.md

write-blog

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.

Source repository stars
662
Declared platforms
0
Static risk flags
1
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

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).

Best for

  • 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.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/OpenClaudia/openclaudia-skills --skill "skills/write-blog"
Safe inspection promptEditorial

Inspect the Agent Skill "write-blog" from https://github.com/OpenClaudia/openclaudia-skills/blob/6b91665a5ab7d36599a605df17dae3e27d5ab242/skills/write-blog/SKILL.md at commit 6b91665a5ab7d36599a605df17dae3e27d5ab242. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Blog Writing Process

    Before writing a single word, gather intelligence:

    Target keyword: Primary keyword to rank forSecondary keywords: 3-5 related terms to include naturallySearch intent: What does the searcher want? (Answer, comparison, tutorial, list)
  2. 02

    Step 1: Research & Briefing

    Before writing a single word, gather intelligence:

    Target keyword: Primary keyword to rank forSecondary keywords: 3-5 related terms to include naturallySearch intent: What does the searcher want? (Answer, comparison, tutorial, list)
  3. 03

    Step 2: Create the Outline

    Build a detailed outline before writing. Every blog post follows this master structure:

    Build a detailed outline before writing. Every blog post follows this master structure:
  4. 04

    Step 3: Write the Content

    Follow these writing rules strictly:

    Primary keyword within first 30 charactersAdd a power word: Ultimate, Complete, Proven, Essential, DefinitiveInclude year if the topic is time-sensitive
  5. 05

    Step 4: Optimize for Featured Snippets

    Target featured snippets with these patterns:

    Target featured snippets with these patterns:Paragraph snippet (definition/what is): markdown

Permission review

Static risk signals and limitations

Network access

medium · line 26

The documentation includes network, browsing, or remote request actions.

curl -s "https://api.semrush.com/?type=phrase_all&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr"

Network access

medium · line 239

The documentation includes network, browsing, or remote request actions.

curl -s "https://api.unsplash.com/search/photos?query={topic}&per_page=5&orientation=landscape" \

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score96/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars662SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
OpenClaudia/openclaudia-skills
Skill path
skills/write-blog/SKILL.md
Commit
6b91665a5ab7d36599a605df17dae3e27d5ab242
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

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:

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):

## 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:

  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.

Frequently asked questions

What to verify before installation and use

What does the write-blog source document cover?

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).

How do I install write-blog?

The source record exposes this install command: npx skills add https://github.com/OpenClaudia/openclaudia-skills --skill "skills/write-blog". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged network in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 9823

indranilbanerjee/contentforge

cf-translate

Translate publication-ready ContentForge content into any of 15 languages at three localization levels (literal, adapted, transcreated) — preserving brand voice, keeping citation URLs and DOIs untouched, and adapting SEO keyword placements for the target market — delivered as a translated .docx plus a quality report via the brand's tracking backend. Triggers on "/contentforge:cf-translate", "translate this article to Spanish", "localize this for the German market", "make a French version of this

Computed 9714

adaptico/adaptico-os

gtm-competitors

Competitive intelligence for /gtm competitors <target>. Use when the user wants to identify competitors, analyze rival marketing and positioning, or find differentiation gaps and steal-worthy tactics. Also trigger for "who are my competitors", "analyze my competition", "competitive analysis", "how do rivals market", or "where can we differentiate".

Computed 953,399

nowork-studio/notfair-plugin

content-writer

Write SEO-optimized blog posts, landing pages, and content improvements following Google's E-E-A-T and Helpful Content guidelines. Handles new content creation from a keyword or topic, and improving existing pages. Use when asked to "write a blog post", "create a landing page", "improve this page", "write content about X", "content for keyword X", "draft an article", "blog post about", "landing page for", "service page", "product page copy", "rewrite this page", "make this page rank better", "co

Computed 95768

indranilbanerjee/digital-marketing-pro

content-engine

Draft marketing content in brand voice — blog posts, ad copy, email sequences, social posts, landing pages, and brand-voice guides — through a gated pipeline (research, outline, draft, fact-check, humanize, voice check, SEO checklist) with numbered working files and a five-gate quality scorecard before copy is publish-ready. Triggers on "/digital-marketing-pro:content-engine", "write a blog post about X", "draft ad copy for this campaign", "create an email sequence", "landing page copy for our p