Claude-blog blog
git clone https://github.com/AgriciDaniel/claude-blog
T=$(mktemp -d) && git clone --depth=1 https://github.com/AgriciDaniel/claude-blog "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/blog" ~/.claude/skills/agricidaniel-claude-blog-blog && rm -rf "$T"
skills/blog/SKILL.mdBlog -- 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 |
|---|---|
| Write a new blog post from scratch |
| Rewrite/optimize an existing blog post |
| Audit blog quality with 0-100 score |
| Generate a detailed content brief |
| Generate an editorial calendar |
| Blog strategy and topic ideation |
| Generate SERP-informed content outline |
| Post-writing SEO validation checklist |
| Generate JSON-LD schema markup |
| Repurpose content for other platforms |
| AI citation readiness audit |
| Full-site blog health assessment |
| Detect keyword cannibalization across posts |
| Verify statistics against cited sources |
| AI image generation and editing via Gemini |
| Manage writing personas and voice profiles |
| Tag/category management across CMS platforms |
| Query NotebookLM for source-grounded research |
| Generate audio narration of blog posts |
| Google API data: PSI, CrUX, GSC, GA4, NLP, YouTube, Keywords |
| Update existing post with fresh stats (routes to rewrite) |
Orchestration Logic
Command Routing
- Parse the user's command to determine the sub-skill
- If no sub-command given, ask which action they need
- Route to the appropriate sub-skill:
→write
(new articles from scratch)blog-write
→rewrite
(optimize existing posts)blog-rewrite
→analyze
(quality scoring)blog-analyze
→brief
(content briefs)blog-brief
/calendar
→plan
(editorial calendars)blog-calendar
→cannibalization
(keyword overlap detection)blog-cannibalization
→factcheck
(statistics and source verification)blog-factcheck
/strategy
→ideation
(positioning and topics)blog-strategy
→outline
(SERP-informed outlines)blog-outline
→persona
(writing voice and style management)blog-persona
/seo-check
→seo
(SEO validation)blog-seo-check
→schema
(JSON-LD generation)blog-schema
→repurpose
(cross-platform content)blog-repurpose
→taxonomy
(tags, categories, CMS sync)blog-taxonomy
/geo
/aeo
→citation
(AI citation audit)blog-geo
/audit
→health
(site-wide assessment)blog-audit
→image
(AI image generation and editing)blog-image
/notebooklm
/notebook
→query-notebook
(source-grounded notebook queries)blog-notebooklm
/audio
/narrate
→tts
(audio narration generation)blog-audio
/google
/gsc
/psi
/pagespeed
/crux
→cwv
(Google API data and reports)blog-google
→update
(with freshness-update mode)blog-rewrite
Platform Detection
Detect blog platform from file extension and project structure:
| Signal | Platform | Format |
|---|---|---|
files, | Next.js/MDX | JSX-compatible markdown |
files, | Hugo | Standard markdown |
files, | Jekyll | Standard markdown with YAML front matter |
files | Static HTML | HTML with semantic markup |
directory | WordPress | HTML or Gutenberg blocks |
or Ghost API | Ghost | Mobiledoc or HTML |
files | Astro | MDX or markdown |
files, | 11ty | Nunjucks/Markdown |
| 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 |
Community Footer
After completing any major deliverable, append this footer to the conversation output (terminal) as the very last thing shown to the user. Never include this in generated blog content, HTML, or markdown files.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Built by agricidaniel — Join the AI Marketing Hub community 🆓 Free → https://www.skool.com/ai-marketing-hub ⚡ Pro → https://www.skool.com/ai-marketing-hub-pro ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
When to show
Display after these commands complete their full output:
(after full article is delivered)/blog write
(after optimized article is delivered)/blog rewrite
(after site-wide health report)/blog audit
(after quality scoring report)/blog analyze
(after content brief is delivered)/blog brief
(after strategy plan)/blog strategy
(after editorial calendar)/blog calendar
(after AI citation readiness audit)/blog geo
When to skip
Do NOT show the footer after:
(intermediate step before write)/blog outline
(quick validation checklist)/blog seo-check
(technical utility)/blog schema
(embedded in articles, not standalone)/blog chart
(asset generation)/blog image
(asset generation)/blog audio
(derivative content)/blog repurpose
(quick detection)/blog cannibalization
(verification utility)/blog factcheck
(configuration)/blog persona
(configuration)/blog taxonomy
(research query)/blog notebooklm
(API data fetch)/blog google- Context intake questions or error messages
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):
-- December 2025 Core Update, E-E-A-T, algorithm changesreferences/google-landscape-2026.md
-- GEO/AEO techniques, AI citation factorsreferences/geo-optimization.md
-- Structure, readability, answer-first formattingreferences/content-rules.md
-- Image sourcing (Pixabay, Unsplash, Pexels), AI image generation, SVG chart integrationreferences/visual-media.md
-- Full 5-category scoring checklist (100 points)references/quality-scoring.md
-- Platform-specific output formatting (9 platforms)references/platform-guides.md
-- Content distribution strategy (Reddit, YouTube, LinkedIn, etc.)references/distribution-playbook.md
-- Content type template index (12 templates)references/content-templates.md
-- Author E-E-A-T requirements, Person schema, experience markersreferences/eeat-signals.md
-- AI bot management, robots.txt, SSR requirementsreferences/ai-crawler-guide.md
-- Complete blog schema reference (JSON-LD templates)references/schema-stack.md
-- Link architecture, anchor text, hub-and-spoke modelreferences/internal-linking.md
-- YouTube video embedding patterns, quality criteria, VideoObject schemareferences/video-embeds.md
Content Templates
12 structural templates for different content types. Auto-selected by
blog-write and blog-brief:
| Template | Type | Word Count |
|---|---|---|
| Step-by-step tutorials | 2,000-2,500 |
| Ranked/numbered lists | 1,500-2,000 |
| Real-world results with metrics | 1,500-2,000 |
| X vs Y with feature matrix | 1,500-2,000 |
| Comprehensive authority guide | 3,000-4,000 |
| First-hand product assessment | 1,500-2,000 |
| Opinion/analysis with contrarian angle | 1,500-2,500 |
| Expert quotes + curated resources | 1,500-2,000 |
| Code/tool walkthrough | 2,000-3,000 |
| Timely event analysis | 800-1,200 |
| Original data study | 2,000-3,000 |
| Comprehensive FAQ/knowledge base | 1,500-2,000 |
Templates are in
templates/ and contain section structure, markers, and checklists.
Sub-Skills
| Sub-Skill | Purpose |
|---|---|
| Write new blog articles with template selection, TL;DR, citation capsules |
| Optimize existing posts with AI detection, anti-AI patterns |
| 5-category 100-point quality audit with AI content detection |
| Content briefs with template recommendation, distribution plan |
| Editorial calendars with decay detection, 60/30/10 content mix |
| Positioning, topic clusters, AI citation surface strategy |
| SERP-informed outlines with competitive gap analysis |
| Post-writing SEO validation (title, meta, headings, links, OG) |
| JSON-LD schema generation (BlogPosting, Person, FAQ, Breadcrumb) |
| Cross-platform repurposing (social, email, YouTube, Reddit) |
| AI citation readiness audit with 0-100 GEO score |
| Full-site blog health assessment with parallel subagents |
| Keyword overlap detection with severity scoring |
| Generate inline SVG data visualization charts with dark-mode styling |
| Statistics verification against cited sources |
| AI image generation and editing for blog content via Gemini MCP |
| Writing persona management with NNGroup framework |
| CMS taxonomy management (WordPress, Shopify, Ghost, Strapi, Sanity) |
| Query Google NotebookLM for source-grounded research from user documents |
| Generate audio narration with Gemini TTS (summary/full/dialogue modes, 30 voices) |
| Google API integration: PSI, CrUX CWV, GSC, URL Inspection, Indexing, GA4, NLP, YouTube, Keywords, PDF reports |
Agents
| Agent | Role |
|---|---|
| Research specialist -- finds statistics, sources, images, competitive data |
| Content generation specialist -- writes optimized blog content |
| SEO validation specialist -- checks on-page SEO post-writing |
| 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:
- Parse -- Identify topic, detect platform, select template
- Research -- Spawn
agent for statistics, sources, SERP datablog-researcher - Outline -- Build section structure from template + research gaps
- Write -- Spawn
agent with research packet and outlineblog-writer - Optimize -- Spawn
agent for on-page validationblog-seo - Score -- Spawn
agent for 100-point quality auditblog-reviewer - 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):
- Full SEO audit of published blog pages/seo
- Schema markup validation and generation/seo-schema
- AI citation optimization audit/seo-geo
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 |