{"id":46517345,"url":"https://github.com/agricidaniel/claude-blog","last_synced_at":"2026-04-08T11:00:48.104Z","repository":{"id":339099476,"uuid":"1160406193","full_name":"AgriciDaniel/claude-blog","owner":"AgriciDaniel","description":"Claude Code skill ecosystem for blog content creation, optimization, and management. Dual-optimized for Google rankings and AI citations.","archived":false,"fork":false,"pushed_at":"2026-03-25T18:26:58.000Z","size":1732,"stargazers_count":319,"open_issues_count":4,"forks_count":86,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-03-26T19:12:47.127Z","etag":null,"topics":["ai-agent","ai-citations","blog","blog-writing","claude-code","claude-code-skill","content-optimization","data-visualization","e-e-a-t","geo","python","seo","skill","svg-charts"],"latest_commit_sha":null,"homepage":"https://rankenstein.pro","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgriciDaniel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-17T22:40:44.000Z","updated_at":"2026-03-26T16:51:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/AgriciDaniel/claude-blog","commit_stats":null,"previous_names":["agricidaniel/claude-blog"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/AgriciDaniel/claude-blog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgriciDaniel","download_url":"https://codeload.github.com/AgriciDaniel/claude-blog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-blog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31551891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","ai-citations","blog","blog-writing","claude-code","claude-code-skill","content-optimization","data-visualization","e-e-a-t","geo","python","seo","skill","svg-charts"],"created_at":"2026-03-06T18:15:23.662Z","updated_at":"2026-04-08T11:00:48.096Z","avatar_url":"https://github.com/AgriciDaniel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# claude-blog - AI Blog Creation Skill for Claude Code\n\n![Claude Blog - AI-Powered Blog Creation](assets/header.jpeg)\n\n[![CI](https://github.com/AgriciDaniel/claude-blog/actions/workflows/ci.yml/badge.svg)](https://github.com/AgriciDaniel/claude-blog/actions/workflows/ci.yml)\n[![GitHub release](https://img.shields.io/github/v/release/AgriciDaniel/claude-blog)](https://github.com/AgriciDaniel/claude-blog/releases/latest)\n![Claude Code Skill](https://img.shields.io/badge/Claude_Code-Skill-blueviolet)\n![License: MIT](https://img.shields.io/badge/License-MIT-green)\n![Python 3.11+](https://img.shields.io/badge/Python-3.11%2B-blue)\n![Sub-Skills](https://img.shields.io/badge/Sub--Skills-22-orange)\n\n\u003e **Blog:** [See how claude-blog works](https://agricidaniel.com/blog/claude-code-blog-writer)\n\nclaude-blog is a Claude Code skill ecosystem for creating, optimizing, and managing blog content at scale. It generates complete articles, briefs, calendars, and schemas, dual-optimized for Google rankings and AI citation platforms (ChatGPT, Perplexity, AI Overviews).\n\n## Table of Contents\n\n- [Demo](#demo)\n- [Quick Start](#quick-start)\n- [Commands](#commands)\n- [Features](#features)\n- [Architecture](#architecture)\n- [Requirements](#requirements)\n- [Uninstall](#uninstall)\n- [Integration](#integration)\n- [Documentation](#documentation)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Demo\n\n[Watch the Demo on YouTube](https://www.youtube.com/watch?v=AeLC4iutG8w)\n\n![Blog commands demo](assets/blog-command-demo.gif)\n\n---\n\n## Quick Start\n\n**Plugin Install (Claude Code 1.0.33+):**\n\n```bash\n# Add marketplace (one-time)\n/plugin marketplace add AgriciDaniel/claude-blog\n\n# Install plugin\n/plugin install claude-blog@AgriciDaniel-claude-blog\n```\n\n**One-command install (Unix/macOS):**\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/AgriciDaniel/claude-blog/main/install.sh | bash\n```\n\n**Or clone and install manually:**\n\n```bash\ngit clone https://github.com/AgriciDaniel/claude-blog.git\ncd claude-blog\nchmod +x install.sh \u0026\u0026 ./install.sh\n```\n\n**Windows (PowerShell):**\n```powershell\n.\\install.ps1\n```\n\nRestart Claude Code after installation to activate.\n\n## Commands\n![Blog write command demo](assets/blog-write-demo.gif)\n| Command | Description |\n|---------|-------------|\n| `/blog write \u003ctopic\u003e` | Write a new blog post from scratch |\n| `/blog rewrite \u003cfile\u003e` | Optimize an existing blog post |\n| `/blog analyze \u003cfile\u003e` | Quality audit with 0-100 score |\n| `/blog brief \u003ctopic\u003e` | Generate a detailed content brief |\n| `/blog calendar` | Generate an editorial calendar |\n| `/blog strategy \u003cniche\u003e` | Blog strategy and topic ideation |\n| `/blog outline \u003ctopic\u003e` | SERP-informed content outline |\n| `/blog seo-check \u003cfile\u003e` | Post-writing SEO validation |\n| `/blog schema \u003cfile\u003e` | Generate JSON-LD schema markup |\n| `/blog repurpose \u003cfile\u003e` | Repurpose for social, email, YouTube |\n| `/blog geo \u003cfile\u003e` | AI citation readiness audit |\n| `/blog image [generate\\|edit\\|setup]` | AI image generation via Gemini |\n| `/blog audit [directory]` | Full-site blog health assessment |\n| `/blog cannibalization [directory]` | Detect keyword overlap across posts |\n| `/blog factcheck \u003cfile\u003e` | Verify statistics against cited sources |\n| `/blog persona [create\\|list\\|apply]` | Manage writing personas and voice profiles |\n| `/blog taxonomy [sync\\|audit\\|suggest]` | Tag/category CMS management |\n| `/blog notebooklm \u003cquestion\u003e` | Query NotebookLM for source-grounded research |\n| `/blog audio [generate\\|voices\\|setup]` | Generate audio narration via Gemini TTS |\n| `/blog google [command] [args]` | Google API data: PSI, CrUX, GSC, GA4, NLP, YouTube, Keywords |\n\n\u003e **22 sub-skills total**: 20 user-facing commands above + `blog-chart` (internal SVG generation) + `blog-image` (also callable internally by write/rewrite).\n\n## Features\n\n### 12 Content Templates\nAuto-selected based on topic and intent: how-to guide, listicle, case study, comparison, pillar page, product review, thought leadership, roundup, tutorial, news analysis, data research, FAQ knowledge base.\n\n### 5-Category Quality Scoring (100 Points)\n| Category | Points | Focus |\n|----------|--------|-------|\n| Content Quality | 30 | Depth, readability, originality, engagement |\n| SEO Optimization | 25 | Headings, title, keywords, links, meta |\n| E-E-A-T Signals | 15 | Author, citations, trust, experience |\n| Technical Elements | 15 | Schema, images, speed, mobile, OG tags |\n| AI Citation Readiness | 15 | Citability, Q\u0026A format, entity clarity |\n\nScoring bands: Exceptional (90-100), Strong (80-89), Acceptable (70-79), Below Standard (60-69), Rewrite (\u003c60).\n\n### AI Content Detection\nBurstiness scoring, known AI phrase detection (17 phrases), vocabulary diversity analysis (TTR). Flags content that reads as AI-generated.\n\n### Persona-Driven Writing\nConfigurable writing personas with NNGroup 4-dimension tone framework. Manage voice profiles per blog or author, with readability bands (Consumer/Professional/Technical) and style enforcement.\n\n### Fact-Checking Pipeline\nStatistics verification that fetches cited source URLs and scores claim confidence (exact match, paraphrase, not found). Ensures every data point in your content is accurate and traceable.\n\n### Keyword Cannibalization Detection\nIdentifies keyword overlap across blog posts using local grep analysis or DataForSEO API. Severity scoring with merge/differentiate recommendations to prevent posts from competing against each other.\n\n### CMS Taxonomy Management\nTag and category management supporting WordPress REST, Shopify GraphQL, Ghost, Strapi, and Sanity. Includes tag suggestion, sync, and audit workflows.\n\n### Dual Optimization\nEvery article targets both Google rankings and AI citation platforms:\n- **Google**: December 2025 Core Update compliance, E-E-A-T, schema markup, internal linking\n- **AI Citations**: Answer-first formatting (+340% citations), citation capsules, passage-level citability, FAQ schema (+28% citations)\n\n### Visual Media\n- Pixabay/Unsplash/Pexels image sourcing with alt text\n- AI image generation via Gemini (hero images, inline illustrations, social cards), optional, requires free Google AI API key\n- Built-in SVG chart generation (bar, grouped bar, lollipop, donut, line, area, radar)\n- YouTube video embedding with srcdoc lazy loading, noscript AI crawler fallback, and quality scoring\n- Image density targets by content type\n- Image URL verification (HTTP 200 check before embedding)\n\n### Google API Integration (NEW in v1.6.5)\n13 commands across 4 credential tiers, all free at normal usage:\n- **Tier 0** (API key): PageSpeed Insights, CrUX Core Web Vitals (25-week history), YouTube video search, NLP entity analysis\n- **Tier 1** (OAuth): Search Console performance, URL Inspection, Indexing API\n- **Tier 2** (GA4): Organic traffic reports\n- **Tier 3** (Ads): Google Ads Keyword Planner\n\n### NotebookLM Research\nQuery Google NotebookLM for source-grounded research from user-uploaded documents. Tier 1 data quality with zero hallucination risk.\n\n### Audio Narration\nGenerate audio narration via Gemini TTS. Three modes: summary (200-300 words), full article, and two-speaker dialogue. 30 voices, 80+ languages.\n\n### Platform Support\nNext.js/MDX, Astro, Hugo, Jekyll, WordPress, Ghost, 11ty, Gatsby, and static HTML.\n\n## Architecture\n\n```\nclaude-blog/\n├── .claude-plugin/\n│   └── plugin.json                     # Plugin metadata (name, description, author)\n├── skills/\n│   ├── blog/                           # Main orchestrator\n│   │   ├── SKILL.md                    # Routes all 21 commands\n│   │   ├── references/                 # 13 on-demand reference docs\n│   │   └── templates/                  # 12 content type templates\n│   ├── blog-write/SKILL.md            # Sub-skills (21 user-facing + 1 internal)\n│   ├── blog-rewrite/SKILL.md\n│   ├── blog-analyze/SKILL.md\n│   ├── blog-brief/SKILL.md\n│   ├── blog-calendar/SKILL.md\n│   ├── blog-strategy/SKILL.md\n│   ├── blog-outline/SKILL.md\n│   ├── blog-seo-check/SKILL.md\n│   ├── blog-schema/SKILL.md\n│   ├── blog-repurpose/SKILL.md\n│   ├── blog-geo/SKILL.md\n│   ├── blog-audit/SKILL.md\n│   ├── blog-chart/SKILL.md            # Internal: SVG chart generation\n│   ├── blog-image/                    # AI image generation via Gemini\n│   │   ├── SKILL.md\n│   │   ├── references/                # 3 reference docs (models, tools, prompts)\n│   │   └── scripts/                   # MCP setup and validation scripts\n│   ├── blog-cannibalization/SKILL.md  # Keyword overlap detection\n│   ├── blog-factcheck/SKILL.md        # Statistics verification\n│   ├── blog-persona/SKILL.md          # Writing persona management\n│   ├── blog-taxonomy/SKILL.md         # CMS taxonomy management\n│   ├── blog-notebooklm/              # NotebookLM source-grounded research\n│   │   ├── SKILL.md\n│   │   ├── references/\n│   │   └── scripts/                   # 10 Python scripts + venv wrapper\n│   ├── blog-audio/                    # Audio narration via Gemini TTS\n│   │   ├── SKILL.md\n│   │   ├── references/\n│   │   └── scripts/                   # 5 Python scripts + venv wrapper\n│   └── blog-google/                   # Google API integration (NEW v1.6.5)\n│       ├── SKILL.md                   # 13 commands, 4 credential tiers\n│       ├── references/                # 3 reference docs (auth, API, quotas)\n│       ├── scripts/                   # 11 Google API scripts + venv wrapper\n│       └── assets/templates/          # 3 report templates\n├── agents/                             # 4 specialized agents\n│   ├── blog-researcher.md\n│   ├── blog-writer.md\n│   ├── blog-seo.md\n│   └── blog-reviewer.md\n├── scripts/\n│   └── analyze_blog.py                 # Python quality analysis (5-category scoring)\n├── tests/                              # pytest test suite\n│   ├── conftest.py\n│   └── test_analyze_blog.py\n├── docs/                               # 6 documentation files\n├── .github/workflows/ci.yml           # CI pipeline\n├── install.sh                          # Unix/macOS installer (fallback)\n├── install.ps1                         # Windows PowerShell installer\n├── pyproject.toml                      # Python project config\n├── requirements.txt                    # Python dependencies\n├── CONTRIBUTING.md\n├── CHANGELOG.md\n├── LICENSE\n└── README.md\n```\n\n## Requirements\n\n- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI installed and configured\n- Python 3.11+ (for `analyze_blog.py` quality scoring script)\n- Optional: `pip install -r requirements.txt` for advanced analysis (readability scoring, schema detection)\n\n## Uninstall\n\nUnix/macOS:\n```bash\nchmod +x uninstall.sh \u0026\u0026 ./uninstall.sh\n```\n\nWindows (PowerShell):\n```powershell\n.\\uninstall.ps1\n```\n\n## Integration\n\nChart generation and YouTube video embedding are built-in. Google API data requires a free API key (see `/blog google setup`).\n\n**Optional companion skills** (for deeper analysis of published pages):\n\n| Skill | Integration |\n|-------|-------------|\n| `/seo` | Deep SEO analysis of published blog pages |\n| `/seo-schema` | Schema markup validation and generation |\n| `/seo-geo` | AI citation optimization audit |\n| `/seo-google` | Google API data (shared config with blog-google) |\n\n## Documentation\n\nDetailed documentation is available in [docs/](docs/):\n\n- [Installation Guide](docs/INSTALLATION.md): Unix, macOS, Windows, manual install\n- [Command Reference](docs/COMMANDS.md): Full command reference with examples\n- [Architecture](docs/ARCHITECTURE.md): System design and component overview\n- [Templates](docs/TEMPLATES.md): Template reference and customization\n- [Troubleshooting](docs/TROUBLESHOOTING.md): Common issues and fixes\n- [MCP Integration](docs/MCP-INTEGRATION.md): Optional MCP server setup\n\n## Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n\n---\n\nBuilt by [AgriciDaniel](https://github.com/AgriciDaniel) with Claude Code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagricidaniel%2Fclaude-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagricidaniel%2Fclaude-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagricidaniel%2Fclaude-blog/lists"}