Agent skill

blog

Full-lifecycle blog engine with 21 commands, 12 content templates, 5-category 100-point scoring, and 4 specialized agents. Optimized for Google rankings (December 2025 Core Update, E-E-A-T) and AI citations (GEO/AEO). Writes, rewrites, analyzes, outlines, audits, and repurposes blog content with answer-first formatting, sourced statistics, Pixabay/Unsplash/Pexels images, AI image generation via Gemini, built-in SVG chart generation, JSON-LD schema generation, and freshness signals. Supports any platform (WordPress, Next.js MDX, Hugo, Ghost, Astro, Jekyll, 11ty, Gatsby, HTML). Use when user says "blog", "write blog", "blog post", "blog strategy", "content brief", "editorial calendar", "analyze blog", "rewrite blog", "update blog", "blog SEO", "blog optimization", "content plan", "blog outline", "seo check", "schema markup", "repurpose", "geo audit", "blog audit", "citation readiness".

Stars 463
Forks 105

Install this agent skill to your Project

npx add-skill https://github.com/AgriciDaniel/claude-blog/tree/main/skills/blog

Metadata

Additional technical details for this skill

author
AgriciDaniel
version
1.6.9

SKILL.md

Blog -- Content Engine for Rankings & AI Citations

Full-lifecycle blog management: strategy, briefs, outlines, writing, analysis, optimization, schema generation, repurposing, and editorial planning. Dual-optimized for Google's December 2025 Core Update and AI citation platforms (ChatGPT, Perplexity, Google AI Overviews, Gemini).

Quick Reference

Command What it does
/blog write <topic> Write a new blog post from scratch
/blog rewrite <file> Rewrite/optimize an existing blog post
/blog analyze <file-or-url> Audit blog quality with 0-100 score
/blog brief <topic> Generate a detailed content brief
/blog calendar [monthly|quarterly] Generate an editorial calendar
/blog strategy <niche> Blog strategy and topic ideation
/blog outline <topic> Generate SERP-informed content outline
/blog seo-check <file> Post-writing SEO validation checklist
/blog schema <file> Generate JSON-LD schema markup
/blog repurpose <file> Repurpose content for other platforms
/blog geo <file> AI citation readiness audit
/blog audit [directory] Full-site blog health assessment
/blog cannibalization [dir] Detect keyword cannibalization across posts
/blog factcheck <file> Verify statistics against cited sources
/blog image [generate|edit|setup] AI image generation and editing via Gemini
/blog persona [create|list|use|show] Manage writing personas and voice profiles
/blog taxonomy [suggest|sync|audit] Tag/category management across CMS platforms
/blog notebooklm <question> Query NotebookLM for source-grounded research
/blog audio [generate|voices|setup] Generate audio narration of blog posts
/blog google [command] [args] Google API data: PSI, CrUX, GSC, GA4, NLP, YouTube, Keywords
/blog update <file> Update existing post with fresh stats (routes to rewrite)

Orchestration Logic

Command Routing

  1. Parse the user's command to determine the sub-skill
  2. If no sub-command given, ask which action they need
  3. Route to the appropriate sub-skill:
    • writeblog-write (new articles from scratch)
    • rewriteblog-rewrite (optimize existing posts)
    • analyzeblog-analyze (quality scoring)
    • briefblog-brief (content briefs)
    • calendar / planblog-calendar (editorial calendars)
    • cannibalizationblog-cannibalization (keyword overlap detection)
    • factcheckblog-factcheck (statistics and source verification)
    • strategy / ideationblog-strategy (positioning and topics)
    • outlineblog-outline (SERP-informed outlines)
    • personablog-persona (writing voice and style management)
    • seo-check / seoblog-seo-check (SEO validation)
    • schemablog-schema (JSON-LD generation)
    • repurposeblog-repurpose (cross-platform content)
    • taxonomyblog-taxonomy (tags, categories, CMS sync)
    • geo / aeo / citationblog-geo (AI citation audit)
    • audit / healthblog-audit (site-wide assessment)
    • imageblog-image (AI image generation and editing)
    • notebooklm / notebook / query-notebookblog-notebooklm (source-grounded notebook queries)
    • audio / narrate / ttsblog-audio (audio narration generation)
    • google / gsc / psi / pagespeed / crux / cwvblog-google (Google API data and reports)
    • updateblog-rewrite (with freshness-update mode)

Platform Detection

Detect blog platform from file extension and project structure:

Signal Platform Format
.mdx files, next.config Next.js/MDX JSX-compatible markdown
.md files, hugo.toml Hugo Standard markdown
.md files, _config.yml Jekyll Standard markdown with YAML front matter
.html files Static HTML HTML with semantic markup
wp-content/ directory WordPress HTML or Gutenberg blocks
ghost/ or Ghost API Ghost Mobiledoc or HTML
.astro files Astro MDX or markdown
.njk files, .eleventy.js 11ty Nunjucks/Markdown
gatsby-config.js Gatsby MDX/React

Adapt output format to detected platform. Default to standard markdown if unknown.

Core Methodology -- The 6 Pillars

Every blog post targets these 6 optimization pillars:

Pillar Impact Implementation
Answer-First Formatting Strong AI citation lift Every H2 opens with 40-60 word stat-rich paragraph
Real Sourced Data E-E-A-T trust Tier 1-3 sources only, inline attribution
Visual Media Engagement + citations Pixabay/Unsplash images + AI generation via Gemini + built-in SVG charts + YouTube video embeds
FAQ Schema AI citation signal Structured FAQ with 40-60 word answers
Content Structure AI extractability 50-150 word chunks, question headings, proper H hierarchy
Freshness Signals 76% of top citations Updated within 30 days, dateModified schema

Quality Gates

These are hard rules. Never ship content that violates them:

Rule Threshold Action
Fabricated statistics Zero tolerance Every number must have a named source
Paragraph length Never > 150 words Split or trim
Heading hierarchy Never skip levels H1 → H2 → H3 only
Source tier Tier 1-3 only Never cite content mills or affiliate sites
Image alt text Required on all images Descriptive, includes topic keywords naturally
Self-promotion Max 1 brand mention Author bio context only
Chart diversity No duplicate types Each chart must be a different type

Scoring Methodology

Blog quality is scored across 5 categories (100 points total):

Category Weight What it measures
Content Quality 30 pts Depth, readability (Flesch 60-70), originality, structure, engagement, grammar/anti-pattern
SEO Optimization 25 pts Heading hierarchy, title tag, keyword placement, internal linking, meta description
E-E-A-T Signals 15 pts Author attribution, source citations, trust indicators, experience signals
Technical Elements 15 pts Schema markup, image optimization, page speed, mobile-friendliness, OG meta
AI Citation Readiness 15 pts Passage citability, Q&A format, entity clarity, AI crawler accessibility

Scoring Bands

Score Rating Action
90-100 Exceptional Publish as-is, flagship content
80-89 Strong Minor polish, ready for publication
70-79 Acceptable Targeted improvements needed
60-69 Below Standard Significant rework required
< 60 Rewrite Fundamental issues, start from outline

Reference Files

Load on-demand as needed (12 references):

  • references/google-landscape-2026.md -- December 2025 Core Update, E-E-A-T, algorithm changes
  • references/geo-optimization.md -- GEO/AEO techniques, AI citation factors
  • references/content-rules.md -- Structure, readability, answer-first formatting
  • references/visual-media.md -- Image sourcing (Pixabay, Unsplash, Pexels), AI image generation, SVG chart integration
  • references/quality-scoring.md -- Full 5-category scoring checklist (100 points)
  • references/platform-guides.md -- Platform-specific output formatting (9 platforms)
  • references/distribution-playbook.md -- Content distribution strategy (Reddit, YouTube, LinkedIn, etc.)
  • references/content-templates.md -- Content type template index (12 templates)
  • references/eeat-signals.md -- Author E-E-A-T requirements, Person schema, experience markers
  • references/ai-crawler-guide.md -- AI bot management, robots.txt, SSR requirements
  • references/schema-stack.md -- Complete blog schema reference (JSON-LD templates)
  • references/internal-linking.md -- Link architecture, anchor text, hub-and-spoke model
  • references/video-embeds.md -- YouTube video embedding patterns, quality criteria, VideoObject schema

Content Templates

12 structural templates for different content types. Auto-selected by blog-write and blog-brief:

Template Type Word Count
how-to-guide Step-by-step tutorials 2,000-2,500
listicle Ranked/numbered lists 1,500-2,000
case-study Real-world results with metrics 1,500-2,000
comparison X vs Y with feature matrix 1,500-2,000
pillar-page Comprehensive authority guide 3,000-4,000
product-review First-hand product assessment 1,500-2,000
thought-leadership Opinion/analysis with contrarian angle 1,500-2,500
roundup Expert quotes + curated resources 1,500-2,000
tutorial Code/tool walkthrough 2,000-3,000
news-analysis Timely event analysis 800-1,200
data-research Original data study 2,000-3,000
faq-knowledge Comprehensive FAQ/knowledge base 1,500-2,000

Templates are in templates/ and contain section structure, markers, and checklists.

Sub-Skills

Sub-Skill Purpose
blog-write Write new blog articles with template selection, TL;DR, citation capsules
blog-rewrite Optimize existing posts with AI detection, anti-AI patterns
blog-analyze 5-category 100-point quality audit with AI content detection
blog-brief Content briefs with template recommendation, distribution plan
blog-calendar Editorial calendars with decay detection, 60/30/10 content mix
blog-strategy Positioning, topic clusters, AI citation surface strategy
blog-outline SERP-informed outlines with competitive gap analysis
blog-seo-check Post-writing SEO validation (title, meta, headings, links, OG)
blog-schema JSON-LD schema generation (BlogPosting, Person, FAQ, Breadcrumb)
blog-repurpose Cross-platform repurposing (social, email, YouTube, Reddit)
blog-geo AI citation readiness audit with 0-100 GEO score
blog-audit Full-site blog health assessment with parallel subagents
blog-cannibalization Keyword overlap detection with severity scoring
blog-chart Generate inline SVG data visualization charts with dark-mode styling
blog-factcheck Statistics verification against cited sources
blog-image AI image generation and editing for blog content via Gemini MCP
blog-persona Writing persona management with NNGroup framework
blog-taxonomy CMS taxonomy management (WordPress, Shopify, Ghost, Strapi, Sanity)
blog-notebooklm Query Google NotebookLM for source-grounded research from user documents
blog-audio Generate audio narration with Gemini TTS (summary/full/dialogue modes, 30 voices)
blog-google Google API integration: PSI, CrUX CWV, GSC, URL Inspection, Indexing, GA4, NLP, YouTube, Keywords, PDF reports

Agents

Agent Role
blog-researcher Research specialist -- finds statistics, sources, images, competitive data
blog-writer Content generation specialist -- writes optimized blog content
blog-seo SEO validation specialist -- checks on-page SEO post-writing
blog-reviewer Quality assessment -- runs 100-point scoring, AI content detection

Agent Details

blog-researcher: Runs as a Task subagent. Uses WebSearch to find current statistics, competitor content, and SERP analysis. Outputs structured research packets with source tier classifications (Tier 1: primary research, Tier 2: major publications, Tier 3: reputable industry sources). Also sources Pixabay/Unsplash/Pexels image URLs.

blog-writer: Receives research packets and content briefs. Writes content using the selected template structure. Applies answer-first formatting, citation capsules, and TL;DR blocks. Outputs platform-formatted content ready for the SEO agent.

blog-seo: Post-writing validation agent. Checks title tag length (50-60 chars), meta description (150-160 chars), heading hierarchy, keyword density, internal link count, image alt text, and Open Graph meta tags. Returns pass/fail checklist.

blog-reviewer: Final quality gate. Runs the full 5-category 100-point scoring rubric. Detects AI-generated content patterns (repetitive sentence starters, hedge words, over-qualification). Outputs a scorecard with category breakdowns and prioritized improvement recommendations.

Execution Flow

Standard execution order for /blog write:

  1. Parse -- Identify topic, detect platform, select template
  2. Research -- Spawn blog-researcher agent for statistics, sources, SERP data
  3. Outline -- Build section structure from template + research gaps
  4. Write -- Spawn blog-writer agent with research packet and outline
  5. Optimize -- Spawn blog-seo agent for on-page validation
  6. Score -- Spawn blog-reviewer agent for 100-point quality audit
  7. Deliver -- Output final content with scorecard and improvement notes

For /blog analyze, only steps 1 and 6 run (read + score). For /blog audit, step 6 runs in parallel across all posts in the directory.

Internal Workflows (Not User-Facing Commands)

The blog-chart sub-skill is invoked internally by blog-write and blog-rewrite when chart-worthy data is identified. It is not a standalone slash command.

The blog-image sub-skill is both user-invocable (/blog image generate) and callable internally by blog-write and blog-rewrite when AI-generated images are needed (requires nanobanana-mcp configured). Falls back gracefully when MCP is not available.

The blog-notebooklm sub-skill is both user-invocable (/blog notebooklm ask) and callable internally by blog-write and blog-researcher for Tier 1 research data from user-uploaded documents. Falls back gracefully when not authenticated.

The blog-audio sub-skill is user-invocable (/blog audio generate) and can be offered as an optional final step after blog-write completes. Generates summary, full-article, or two-speaker dialogue narration via Gemini TTS. Falls back gracefully when GOOGLE_AI_API_KEY is not configured.

The blog-google sub-skill is both user-invocable (/blog google pagespeed) and callable internally by blog-seo-check, blog-rewrite, blog-geo, and blog-audit for real Google performance data. Falls back gracefully when credentials are not configured. Shares config with claude-seo at ~/.config/claude-seo/google-api.json.

Integration

Chart generation is built-in - no external dependencies required for full functionality.

Optional companion skills (for deeper analysis of published pages):

  • /seo - Full SEO audit of published blog pages
  • /seo-schema - Schema markup validation and generation
  • /seo-geo - AI citation optimization audit

Anti-Patterns (Never Do These)

Anti-Pattern Why
Fabricate statistics December 2025 Core Update penalizes unsourced claims
Use the same chart type twice Visual monotony, reduces engagement
Keyword-stuff headings or meta Google ignores/penalizes this
Bury answers in paragraphs AI systems extract from section openers
Skip source verification Broken links and wrong data destroy trust
Use tier 4-5 sources Low authority hurts E-E-A-T
Generate without research AI-generated consensus content is penalized
Skip visual elements entirely Blogs with images get significantly more views and social engagement

Expand your agent's capabilities with these related and highly-rated skills.

AgriciDaniel/claude-blog

blog-brief

Generate detailed content briefs for blog posts with target keywords, content outlines, competitive analysis, recommended statistics, image and chart suggestions, word count targets, internal linking architecture, template recommendations (12 types), TL;DR drafts, citation capsule planning, information gain prompts, and multi-channel distribution plans. Briefs are optimized for Google rankings and AI citations (GEO/AEO). Use when user says "content brief", "blog brief", "write brief", "outline blog", "plan blog post", "blog outline", "content outline".

463 105
Explore
AgriciDaniel/claude-blog

blog-persona

Create and manage writing personas with NNGroup 4-dimension tone framework (Funny-Serious, Formal-Casual, Respectful-Irreverent, Enthusiastic-Matter-of-fact). Personas define readability targets, sentence length distribution, vocabulary tier, contraction frequency, and summary box label. Used by blog-write and blog-rewrite to enforce consistent voice. Use when user says "persona", "voice", "tone", "writing style", "brand voice", "create persona", "use persona".

463 105
Explore
AgriciDaniel/claude-blog

blog-analyze

Audit and score blog posts on a 5-category 100-point scoring system covering content quality, SEO optimization, E-E-A-T signals, technical elements, and AI citation readiness. Includes AI content detection (burstiness, phrase flagging, vocabulary diversity). Supports export formats (markdown, JSON, table) and batch analysis with sorting. Generates prioritized recommendations (Critical/High/Medium/Low) with specific fixes. Works with any format (MDX, markdown, HTML, URL). Use when user says "analyze blog", "audit blog", "blog score", "check blog quality", "blog review", "rate this blog", "blog health check".

463 105
Explore
AgriciDaniel/claude-blog

blog-taxonomy

Extract, suggest, and sync tags and categories for blog posts across all major CMS platforms. Supports WordPress REST API, Shopify GraphQL, Ghost Content API, Strapi REST/GraphQL, and Sanity GROQ. Generates tag suggestions from content analysis (keyword frequency, heading extraction, semantic grouping), enforces minimum post-count thresholds to prevent thin tag archives, and syncs taxonomy via authenticated API calls. Use when user says "tags", "categories", "taxonomy", "tag suggestions", "sync tags", "WordPress tags", "Shopify tags".

463 105
Explore
AgriciDaniel/claude-blog

blog-audit

Full-site blog health assessment scanning all blog files for quality scores, orphan pages, topic cannibalization, stale content, and AI citation readiness. Spawns parallel subagents for comprehensive analysis. Produces per-post scores and a prioritized action queue. Use when user says "audit blog", "blog audit", "site audit", "blog health", "audit all posts", "check all blogs".

463 105
Explore
AgriciDaniel/claude-blog

blog-strategy

Blog strategy development including topic cluster architecture with hub-and-spoke design, audience mapping, competitive landscape analysis, AI citation surface strategy across ChatGPT/Perplexity/AI Overviews, distribution channel planning (YouTube, Reddit, review platforms for GEO), content scoring targets, measurement framework, and content differentiation through original research and first-hand experience. Use when user says "blog strategy", "content strategy", "blog positioning", "what should I blog about", "blog topics", "content pillars", "blog ideation".

463 105
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results