Home
Softono
a

agricidaniel

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
8

Software by agricidaniel

automated-business-analysis-workflow
Open Source

automated-business-analysis-workflow

# Automated Business Analysis n8n Workflow (Free Version) Full Video Walkthrough: [Youtube Video](https://www.youtube.com/watch?v=jbSetpWXsx4&) This is the free version of the automated business intelligence system that scrapes any website, extracts key data, and generates comprehensive analysis reports with AI. It's built for agencies, freelancers, and consultants who need to streamline client research, lead generation, and competitive analysis. Submit one URL, and this workflow scrapes the site, uses AI to analyze the content, and generates a professional business analysis report in Google Doc and PDF format, delivered straight to your inbox. ![Business Analysis Workflow](Business%20Analysis%20Workflow%20Image.png) ### Example Report Output 👉 **View an Example Report Here:** [Google Drive Link](https://drive.google.com/file/d/15-iuzKnn9PE0leAb3P_ehWr49avHDQ6Y/) Here is a look at the type of data this workflow generates: * **Business Overview:** Generates a full company description. * **Target Audience Personas:** Defines the demographic and psychographic profiles of ideal customers. * **Brand & UVP:** Extracts the brand's personality matrix and its Unique Value Proposition (UVP). * **Customer Journey:** Maps the typical customer journey from Awareness and Consideration to Purchase and Loyalty. * **E-E-A-T Analysis:** Identifies key E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) signals. ### How It Works: The Tool Stack This workflow is built on n8n and connects several key services: * **n8n:** The central automation platform that runs the workflow. * **Firecrawl:** Scrapes the target website to get the raw content for analysis. * **Perplexity & Google Gemini:** AI agents analyze the scraped data to extract and structure the business intelligence. * **Google Docs, Drive & Gmail:** Formats the final analysis into a professional report from a template and delivers it to you. ### What's NOT Included in This Free Version **This free workflow does *not* include the keyword research components**. The Pro version uses DataForSEO to pull keyword rankings, search volume, CPC, and competitor data. ### What You Need * An n8n account (cloud or self-hosted). * API keys for: * Firecrawl * Perplexity * Google Gemini * Google (GCP) credentials set up for Google Docs, Drive, and Gmail. * The Google Doc report template (which you can get from the link below). * https://docs.google.com/document/d/1grgYd2Pyr_THq4FJ83PibO_1vXzbEHiQPVqaTdCOvuk/edit?usp=sharing --- ## Author Built by [Agrici Daniel](https://agricidaniel.com/about) - AI Workflow Architect. - [Blog](https://agricidaniel.com/blog) - Deep dives on AI marketing automation - [AI Marketing Hub](https://www.skool.com/ai-marketing-hub) - Free community, 2,800+ members - [YouTube](https://www.youtube.com/@AgriciDaniel) - Tutorials and demos - [All open-source tools](https://github.com/AgriciDaniel)

AI Tools Workflow Automation
118 Github Stars
Keywordo-kun-AI-SEO-Agent-n8n-Workflow
Open Source

Keywordo-kun-AI-SEO-Agent-n8n-Workflow

### 📺 Full Video Walkthrough & Setup Guide **Watch the full demo and setup guide on YouTube:** **[Youtube Video](https://www.youtube.com/watch?v=r9WMbzfY-mg&t)** Chat interface example: https://articollov2.vercel.app This repository contains the complete workflow for **Keywordo-kun**, an AI agent specialized in competitor analysis, keyword research, and automated SEO content creation. ![Keywordo-kun Hero Image](Keywordo-kun%20image.png) It's built for marketers, agencies, and SEO professionals who want to automate their research and writing process. The agent uses a powerful stack to analyze competitors, identify keyword opportunities, and generate high-quality, long-form blog posts. ## 🤖 How It Works: The Tool Stack This project is built on **n8n** and **v0.dev**, connecting several key AI and data services: * **n8n:** The central automation platform that runs the entire backend logic and agent "brain." * **v0.dev:** Provides the sleek, conversational chat interface for the frontend. * **Google Gemini (2.5 Pro & Flash):** Powers the agent's core reasoning, analysis, and content generation. * **DataForSEO:** Provides the critical, real-time SERP data, keyword ideas, and competitor metrics. * **Firecrawl:** Used to scrape and crawl websites for content analysis. ## 📂 What's Included in This Repository This repository gives you all the components you need to deploy Keywordo-kun: 1. **`Keywordo-kun (Articollo Agent).json`**: The main n8n workflow. This is the "brain" of the agent that handles the user chat, processes requests, and calls the necessary tools. 2. **`Keywordo-kun (Tools).json`**: The secondary n8n workflow. This file contains all the individual tools (e.g., "Get Keyword Ideas," "Analyze SERP") that the main agent calls upon. 3. **`Keywordo-kun Chat Interface (v0.dev).zip`**: The complete frontend UI. You can import this zip file directly into v0.dev to deploy the chat interface. 4. **`Keywordo-kun image.png`**: The project's hero image. ## 🚀 How to Set Up (Prerequisites) To get this workflow running, you will need accounts and API keys for the following services: * An **n8n** account (Cloud or self-hosted). * A **v0.dev** account to host the chat interface. * A **Google AI Studio** API key for **Gemini**. * A **DataForSEO** account and API credentials. * A **Firecrawl** API key. ### 🏁 Quick Setup Guide 1. **Deploy n8n Workflows:** * Create a new, empty workflow in n8n and import the `Keywordo-kun (Tools).json` file. * Create a second workflow and import the `Keywordo-kun (Articollo Agent).json` file. 2. **Configure Tools Workflow:** * Open the "Tools" workflow and configure each HTTP Request node with your **DataForSEO** API credentials, as shown in the [video guide]([https://www.youtube.com/watch?v=r9WMbzfY-mg&t]). * Configure the Firecrawl node with your **Firecrawl** API key. * Save and activate this workflow. 3. **Configure Agent Workflow:** * Open the "Agent" workflow. * Connect the **Gemini** nodes with your Google AI Studio API key. * In the "Agent" node, connect the tools to the "Tools" workflow you just deployed (by copying its production URL). 4. **Deploy Frontend:** * Go to v0.dev and import the `Keywordo-kun Chat Interface (v0.dev).zip` file. * Get the **production webhook URL** from your "Agent" n8n workflow. * In the v0.dev chat prompt, ask it to replace the old webhook URL with your new one, as shown in the [video guide]([https://www.youtube.com/watch?v=r9WMbzfY-mg&t]). 5. **Activate & Test:** * Activate your "Agent" n8n workflow. * Start chatting with your agent in the v0.dev interface! --- > For a full content publishing workflow powered by keyword research, see [Rankenstein](https://rankenstein.pro). ## Author Built by [Agrici Daniel](https://agricidaniel.com/about) - AI Workflow Architect. - [Blog](https://agricidaniel.com/blog) - Deep dives on AI marketing automation - [AI Marketing Hub](https://www.skool.com/ai-marketing-hub) - Free community, 2,800+ members - [YouTube](https://www.youtube.com/@AgriciDaniel) - Tutorials and demos - [All open-source tools](https://github.com/AgriciDaniel)

AI Agents Social Media Management
65 Github Stars
google-ai-studio-n8n-google-maps-scraper
Open Source

google-ai-studio-n8n-google-maps-scraper

# No-Code Google Maps Scraper with Google AI Studio & n8n A no-code Google Maps lead scraper built with Google AI Studio (Gemini) and automated with n8n. This repository contains the n8n workflow JSON and all the resources from the full video tutorial. **Watch the full step-by-step tutorial on YouTube:** **https://www.youtube.com/watch?v=qBHubb2inaQ** ## Overview This project demonstrates a powerful, no-code stack for building and automating custom AI applications. * **Google AI Studio** is used to "vibe code" an application using natural language prompts. * **n8n** acts as the powerful automation bridge, connecting the AI app to any other service. * **Google Sheets** is used as the database to store the structured data. ### How It Works The data flow is simple: 1. A user runs the app in **Google AI Studio**. 2. Google AI Studio gathers the data and sends it via a `POST` request to a **n8n Webhook**. 3. The **n8n workflow** catches the data, splits it into individual items, formats it, and appends each item as a new row in **Google Sheets**. `[Google AI Studio App] --- (Webhook POST) ---> [n8n Workflow] --- (Append Row) ---> [Google Sheets]` ## Features * **No Code Required:** Build the entire application with natural language and visual workflow automation. * **Flexible & Scalable:** Easily modify the prompt in AI Studio to scrape different data, or change the n8n workflow to send data to a CRM, WordPress, or 400+ other apps. * **100% Free to Start:** All tools used in this tutorial have generous free tiers. ## 🚀 Getting Started Follow these steps to get your own scraper running in minutes. ### 1\. Prerequisites * A free **Google Account** * A free **n8n** account (Cloud or self-hosted) ### 2\. Step 1: Set up Google AI Studio 1. Open the Google AI Studio App Template: `https://ai.studio/apps/drive/1aVOVu_Ij8r5xeTJnrc7pCLUITH3t6F-m` 2. Make a copy of the app in your own Google Drive. 3. You may need to get a Gemini API key (`Get API key` in Google AI Studio) and add it to the app. ### 3\. Step 2: Set up Google Sheets 1. Open the Google Sheets Template: `https://docs.google.com/spreadsheets/d/1mOy9gQ6I_x3t5xXwZ9Fog9aMC2FGfgcq5QtbM146ua8/edit?usp=sharing` 2. Go to `File` \> `Make a copy` to save it to your own Google Drive. ### 4\. Step 3: Set up the n8n Workflow 1. **Download** the `google-ai-studio-scraper.n8n.json` file from this repository. 2. **Import** the workflow into your n8n instance. 3. **Configure the Google Sheets Node:** * Open the "Google Sheets" node in the workflow. * Create new credentials (OAuth2) and connect the Google Account where you saved your sheet in Step 2. * In the "Sheet" field, select the Google Sheet you just created. 4. **Copy Your Webhook URL:** * Open the "Webhook" node (the first node). * Copy the **Production URL**. ### 5\. Step 4: Connect AI Studio to n8n 1. Go back to your app in **Google AI Studio**. 2. Find the part of the prompt that defines the webhook URL. 3. **Paste** your n8n Production Webhook URL there. 4. Save the changes to your AI Studio app. ### 6\. Step 5: Activate and Run\! 1. **Activate** your workflow in n8n (toggle the switch on the top right). 2. Run your app in Google AI Studio. 3. Watch the data appear in your Google Sheet in real-time\! ## Resources * **Full Video Tutorial:** https://www.youtube.com/watch?v=qBHubb2inaQ * * **n8n:** [https://n8n.io](https://n8n.io) * **Google AI Studio:** [https://aistudio.google.com](https://aistudio.google.com) ## License This project is open-sourced under the MIT License. See the [LICENSE](LICENSE) file for details. --- ## Author Built by [Agrici Daniel](https://agricidaniel.com/about) - AI Workflow Architect. - [Blog](https://agricidaniel.com/blog) - Deep dives on AI marketing automation - [AI Marketing Hub](https://www.skool.com/ai-marketing-hub) - Free community, 2,800+ members - [YouTube](https://www.youtube.com/@AgriciDaniel) - Tutorials and demos - [All open-source tools](https://github.com/AgriciDaniel)

Workflow Automation SEO Tools
24 Github Stars
claude-seo
Open Source

claude-seo

![Claude SEO terminal banner: animated CRT command palette with /seo audit, /seo schema, /seo geo, system line showing 25 sub-skills, 271 tests, 8 MCP servers](assets/banner.svg) # Claude SEO: SEO Analysis Skill for Claude Code **Claude SEO is an open-source SEO analysis plugin for [Claude Code](https://claude.ai/claude-code).** It runs 25 sub-skills and 18 specialist agents in parallel across technical SEO, content quality (E-E-A-T), Schema.org markup, AI search optimization (GEO), local SEO, e-commerce, and international SEO. Every audit produces a prioritized action plan with falsifiable recommendations grounded in primary-source guidance from Google. [![CI](https://github.com/AgriciDaniel/claude-seo/actions/workflows/ci.yml/badge.svg)](https://github.com/AgriciDaniel/claude-seo/actions/workflows/ci.yml) [![Claude Code Skill](https://img.shields.io/badge/Claude%20Code-Skill-blue)](https://claude.ai/claude-code) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Version](https://img.shields.io/github/v/release/AgriciDaniel/claude-seo)](https://github.com/AgriciDaniel/claude-seo/releases) [![Tests](https://img.shields.io/badge/tests-271%20passing-brightgreen)](tests/) [![Community](https://img.shields.io/badge/AI%20Marketing%20Hub-Pro%20community-purple)](https://www.skool.com/ai-marketing-hub-pro) > **Two versions of this skill.** > - 🌐 **Public open-source** → [`AgriciDaniel/claude-seo`](https://github.com/AgriciDaniel/claude-seo): MIT, public releases, no membership. Use this if you want stable + downloadable. > - 🔒 **Community private mirror** → [`AI-Marketing-Hub/claude-seo`](https://github.com/AI-Marketing-Hub/claude-seo): early access to upcoming features and direct collaboration with the [AI Marketing Hub Pro](https://www.skool.com/ai-marketing-hub-pro) community. Requires membership. ### Why Claude SEO - **AI-search first.** Aligned with [Google's AI Optimization Guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide). Question-based citability scoring, primary-source evidence on llms.txt, IPTC `TrainedAlgorithmicMedia` for AI-generated product images, agent-friendly page checks per [web.dev](https://web.dev/). - **Parallel execution.** Full site audits spawn up to 15 specialist agents simultaneously. Site-level audits complete in minutes rather than hours. - **Falsifiable, not promotional.** Every recommendation carries the first-principle observation it rests on, its dependency relationships, an explicit "how would we know this failed?" check, and a leading indicator. See [Methodology](#methodology). > Using Codex instead of Claude Code? Use [Codex SEO](https://github.com/AgriciDaniel/codex-seo), the Codex-first port with TOML agents, plugin packaging, deterministic runners, and the same SEO workflow surface. ## Who this is for - **SEO agencies running 5+ client sites.** Replace quarterly deep audits with weekly automated runs. Same team capacity, 4× audit cadence, every recommendation comes with a falsifiability check the client can verify. - **In-house SEO leads at SaaS / publisher / e-commerce companies.** Second-pair-of-eyes before executive reviews. Catches what GSC and Lighthouse hide: schema deprecation, AI-citability gaps, expired-domain heritage risk, parasite-SEO exposure, machine-translation drift. - **Freelance SEO consultants.** Anchor day-one client scope with a 15-minute audit and a real 0-100 score. Win the engagement with concrete proof of value before you spend an hour writing the proposal. ![Claude SEO /seo command demo in Claude Code terminal](screenshots/seo-command-demo.gif) Run a full audit and watch parallel agents fan out across the site: ![Claude SEO /seo audit demo: parallel subagents producing a prioritized action plan](screenshots/seo-audit-demo.gif) [Watch the full demo on YouTube](https://www.youtube.com/watch?v=COMnNlUakQk) ## Table of Contents - [Who this is for](#who-this-is-for) - [Installation](#installation) - [Quick Start](#quick-start) - [Commands](#commands) - [Features](#features) - [Compared to manual / agency / commercial tools](#compared-to-manual--agency--commercial-tools) - [Use cases](#use-cases) - [Sample Output](#sample-output) - [Architecture](#architecture) - [Methodology](#methodology) - [What's New in v2](#whats-new-in-v2) - [Limitations](#limitations) - [Requirements](#requirements) - [Uninstall](#uninstall) - [Extensions](#extensions) - [Ecosystem](#ecosystem) - [Documentation](#documentation) - [FAQ](#faq) - [Community Contributors](#community-contributors) - [License](#license) - [Contributing](#contributing) - [Author](#author) ## Installation > ℹ️ **Which version are you installing?** > > - **Public open-source (default).** The commands below install from [`AgriciDaniel/claude-seo`](https://github.com/AgriciDaniel/claude-seo) — MIT, public releases, no membership required. > - **AI Marketing Hub Pro member?** Install the community version with early access instead: swap `AgriciDaniel/claude-seo` for `AI-Marketing-Hub/claude-seo` and the plugin slug `claude-seo@agricidaniel-claude-seo` for `claude-seo@ai-marketing-hub-claude-seo`. Requires `gh auth login` (or PAT) with access to the `AI-Marketing-Hub` org. If `/plugin marketplace add` 404s, DM in the [Skool community](https://www.skool.com/ai-marketing-hub-pro) to get added. ### Plugin Install (Claude Code 1.0.33+) The fastest path. One-time marketplace add, then plugin install: ```bash /plugin marketplace add AgriciDaniel/claude-seo /plugin install claude-seo@agricidaniel-claude-seo ``` ### Manual Install (Unix / macOS / Linux) ```bash git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git bash claude-seo/install.sh ``` <details> <summary>One-liner (curl, review then run)</summary> ```bash curl -fsSL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/main/install.sh > install.sh cat install.sh # review before running bash install.sh rm install.sh ``` </details> ### Windows (PowerShell) ```powershell git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git powershell -ExecutionPolicy Bypass -File claude-seo\install.ps1 ``` > **Why `git clone` instead of `irm | iex`?** Claude Code's own security guardrails flag `irm ... | iex` as a supply chain risk: downloading and executing remote code without verification. The `git clone` approach lets you inspect `claude-seo\install.ps1` before running it. ## Quick Start ```bash # Start Claude Code claude # Full site audit: parallel sub-agents produce a prioritized action plan /seo audit https://example.com # Deep single-page analysis: on-page elements, content quality, schema /seo page https://example.com/about # Schema markup audit: detect, validate, generate /seo schema https://example.com # AI search optimization: passage citability + primary-source-aligned recommendations /seo geo https://example.com # Generate a sitemap with industry templates /seo sitemap generate ``` ## Commands ![Claude SEO sub-skill ecosystem: 25 modules grouped into 8 categories (audit, content, schema, technical, AI search, local + maps, commerce + intl, extensions) around the central orchestrator](assets/diagrams/03-sub-skill-map-B.svg) 27 user-invokable commands across the orchestrator and 25 sub-skills. Full reference in [docs/COMMANDS.md](docs/COMMANDS.md). | Command | Description | |---------|-------------| | `/seo audit <url>` | Full website audit with parallel sub-agent delegation | | `/seo page <url>` | Deep single-page analysis | | `/seo technical <url>` | Technical SEO audit across 9 categories | | `/seo content <url>` | E-E-A-T and content quality analysis | | `/seo schema <url>` | Detect, validate, and generate Schema.org markup | | `/seo geo <url>` | AI Overviews / Generative Engine Optimization | | `/seo sitemap <url \| generate>` | Analyze or generate XML sitemaps | | `/seo images <url>` | Image optimization analysis | | `/seo plan <type>` | Strategic SEO planning (saas, local, ecommerce, publisher, agency) | | `/seo programmatic <url>` | Programmatic SEO analysis and planning | | `/seo competitor-pages <url>` | Competitor comparison page generation | | `/seo local <url>` | Local SEO analysis (GBP, citations, reviews, map pack) | | `/seo maps [command]` | Maps intelligence (geo-grid, GBP audit, reviews, competitors) | | `/seo hreflang <url>` | Hreflang / i18n SEO audit and generation | | `/seo google [command]` | Google SEO APIs (GSC, PageSpeed, CrUX, Indexing, GA4, PDF reports) | | `/seo backlinks <url>` | Backlink profile analysis (Moz, Bing, Common Crawl) | | `/seo cluster <keyword>` | SERP-based semantic clustering | | `/seo sxo <url>` | Search Experience Optimization (page-type, user stories, personas) | | `/seo drift baseline \| compare \| history <url>` | SEO drift monitoring with SQLite snapshots | | `/seo ecommerce <url>` | E-commerce SEO and marketplace intelligence | | `/seo flow [stage]` | FLOW framework prompts (CC BY 4.0, evidence-led) | | `/seo firecrawl [command] <url>` | Full-site crawling (extension) | | `/seo dataforseo [command]` | Live SEO data (extension) | | `/seo image-gen [use-case]` | AI image generation for SEO assets (extension) | ## Features ### What Core Web Vitals does Claude SEO check? Claude SEO measures the current three Core Web Vitals: **LCP** (Largest Contentful Paint, target under 2.5s), **INP** (Interaction to Next Paint, target under 200ms), and **CLS** (Cumulative Layout Shift, target under 0.1). [INP replaced FID](https://web.dev/articles/inp) on March 12, 2024; FID was removed from all Chrome tools (CrUX API, PageSpeed Insights, Lighthouse) on September 9, 2024, and Claude SEO never references FID. Field data comes from the Chrome User Experience Report (CrUX) when available; lab data falls back to Lighthouse via PageSpeed Insights. LCP can be decomposed into subparts (TTFB, load delay, load duration, render delay) via the `/seo google` CrUX integration to localize bottlenecks. Mobile and desktop are measured separately. CrUX History (25-week trend) is included in the Tier 0 free credential set. ### How does Claude SEO assess E-E-A-T? E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) is evaluated against the Search Quality Rater Guidelines, last updated September 2025 with YMYL expanded to include political and social topics. Experience signals: original research, case studies, first-hand photos. Expertise: author credentials and topical depth. Authoritativeness: external citations and brand mentions. Trustworthiness, the most heavily weighted of the four: contact info, secure HTTPS, transparent corrections, date stamps. Before scoring sub-factors, Claude SEO applies Google's own Who / How / Why heuristic from the [helpful-content guide](https://developers.google.com/search/docs/fundamentals/creating-helpful-content). Generative AI content is fine if it meets Search Essentials; it crosses into spam when used to scale low-value pages, which `seo-content humanize` and `seo-content verify` are designed to detect. ### What Schema.org types does Claude SEO support? JSON-LD is the preferred format (Google's stated preference). Active types Claude SEO detects, validates, and generates: Organization, LocalBusiness, Article, BlogPosting, NewsArticle, Product, ProductGroup, Offer, Review, AggregateRating, BreadcrumbList, WebSite, WebPage, Person, ProfilePage, ContactPage, VideoObject, ImageObject, Event, JobPosting, Course, DiscussionForumPosting, Reservation, OrderAction, plus video and specialized types (BroadcastEvent, Clip, SeekToAction, SoftwareSourceCode). Restricted: FAQ (government and healthcare authority sites only since August 2023). Deprecated and never recommended: HowTo (rich results removed September 2023), SpecialAnnouncement (July 2025), ClaimReview, VehicleListing, EstimatedSalary, LearningVideo, CourseInfo carousel (all retired June 2025). Replacement guidance: [skills/seo-schema/references/deprecated-types-2024-2026.md](skills/seo-schema/references/deprecated-types-2024-2026.md). ### How does Claude SEO optimize for AI search? Aligned with [Google's AI Optimization Guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide), which states that "AEO" and "GEO" are rebranded labels for SEO. AI Overviews and AI Mode are grounded in the same ranking systems as classic Search; pages must be indexed and eligible for snippet display to appear in any AI feature. Claude SEO scores passage citability (optimal 134-167 word self-contained answer blocks), question-based heading hierarchy, attribution density, structured data coverage, and entity presence across Wikipedia, Reddit, YouTube, and LinkedIn. The `seo-geo` skill includes evidence-based reframes of three popular myths: llms.txt is not currently a citation lever ([primary-source evidence](skills/seo-geo/references/llmstxt-evidence.md)), content chunking is not required, and AI-specific keyword rewriting is unnecessary because synonym understanding is sufficient. ### Which Google SEO APIs does Claude SEO integrate with? A 4-tier credential system lets you start with zero keys and add data as needed. Every tier delivers real value at its level: | Tier | Credentials | APIs Unlocked | |------|------|------| | 0 | API key | PageSpeed Insights, CrUX, CrUX History (25-week trends) | | 1 | + OAuth or Service Account | + Search Console (queries, URL Inspection, sitemap status), Indexing API | | 2 | + GA4 property config | + GA4 organic traffic, top landing pages, device / country breakdown | | 3 | + Ads developer token | + Keyword Planner search volume and competition data | PDF reports are generated via [WeasyPrint](https://weasyprint.org/) (A4 layout) with matplotlib charts at 200 DPI. Run `/seo google setup` for the credential wizard. All credentials live under `~/.config/claude-seo/` with `0o600` permissions; nothing is checked into the repo. ### How does Claude SEO handle local SEO? Three layers. **Google Business Profile signals**: categories, hours, photos, posts, products, attributes. **NAP consistency** across citations: name, address, phone matched against major directories with deviation flagging. **Review intelligence**: rating trends, sentiment, response coverage. For multi-location businesses, Claude SEO enforces a 30-page warning threshold and a 50-page hard stop to prevent doorway-page violations (configurable). The `/seo maps` workflow adds geo-grid rank tracking, GBP profile auditing, and competitor radius mapping. Local schema generation covers `LocalBusiness` with all required and recommended properties (geo coordinates, opening hours, areaServed). Phase F (v2) added a GBP deprecation linter that detects retired chat-field references and `.business.site` URLs. ## Compared to manual / agency / commercial tools | | Manual audit | Agency engagement | Commercial SEO audit tool | **Claude SEO** | |---|---|---|---|---| | **Time per audit** | 4-8 hrs senior SEO time | 1-3 weeks turnaround | 10-45 min crawl + report | **10-15 min** | | **Cost** | High (billable hours) | $2k-$15k+ project | $99-$999/mo subscription | **Free skill + Claude Code subscription** | | **Repeatable** | Inconsistent across analysts | Inconsistent across engagements | Yes | **Yes, deterministic + scriptable** | | **Output format** | Wall-of-findings PDF | Branded slide deck | Web dashboard, CSV exports | **Markdown + PDF + JSON, local files** | | **Custom benchmarks** | Manual per analyst | Agency-specific frameworks | Vendor-fixed | **Edit local SKILL.md** | | **Data leaves machine?** | No (your spreadsheet) | Yes (sent to agency) | Yes (uploaded to vendor) | **No, fully local by default** | | **Lock-in** | None | High | High (data-exit friction) | **None. MIT, your files.** | | **AI search awareness** | Depends on analyst | Depends on agency seniority | Lagging (typically 6-12 mo behind) | **Google AI Optimization Guide (May 2026), Sept 2025 QRG, INP-not-FID, GEO/AEO=SEO reframe, llms.txt evidence-based posture** | | **Falsifiability per finding** | No | No | No | **Yes. Every recommendation carries a "how would we know this failed?" check + leading indicator** | > Cost benchmarks: manual audit assumes a senior SEO consultant at typical agency billable rates; agency engagement based on common discovery/audit deliverable scopes; commercial-tool subscriptions reflect published mid-tier pricing across the SEO audit category (Ahrefs, Semrush, Sitebulb, Screaming Frog). Your numbers may differ. ## Use cases **SEO agency lead running 10 client sites.** Replaces the quarterly "deep audit" ritual with a weekly Monday-morning `/seo audit` run per site. Time to deliver a client health-score email drops from 4 hours to 12 minutes; coverage goes from quarterly to weekly without billing more hours. The drift baseline catches regressions between audits so the client conversation moves from "look at this snapshot" to "here is what changed this week." **In-house SEO lead at a 50-person SaaS company.** Runs `/seo audit` 24 hours before each quarterly business review. Catches the items the platform UI buries (broken canonical chains on programmatic pages, schema deprecation after Google's June 2025 retirement wave, AI-citability gaps that erode SERP-to-AI-Overview pickup, expired-domain heritage on acquired blog assets) before the CMO asks why organic traffic is down in front of the board. **Freelance SEO consultant onboarding a new client.** Runs `/seo audit` on the discovery call. Anchors the engagement scope with a real 0-100 score, 3 prioritized critical findings, and a falsifiability check on each recommendation, instead of a vague "I'll take a look and get back to you." Closes more retainers because the proof of value happens during the call, not after the proposal. ## Sample Output Claude SEO writes real markdown reports as its primary deliverable. Below is the first ~50 lines of a `/seo schema https://rankenstein.pro/about` audit verbatim. The actual structure, headers, and grading format the plugin produces follows. <details> <summary><code>SCHEMA-REPORT.md</code>: first 50 lines of a real audit</summary> ```markdown # Schema Markup Report: rankenstein.pro/about **URL:** https://rankenstein.pro/about **Date:** 2026-02-09 **Format Detected:** JSON-LD (3 blocks) | No Microdata | No RDFa --- ## Summary | Metric | Value | |--------|-------| | **JSON-LD Blocks** | 3 | | **Schema Types** | Organization, WebSite, SoftwareApplication | | **Critical Issues** | 2 | | **Warnings** | 5 | | **Passed Checks** | 18 | | **Overall Grade** | B+ (solid foundation, actionable gaps) | --- ## Existing Schema Validation ### 1. Organization (`@id: #organization`) | Property | Value | Status | Notes | |----------|-------|--------|-------| | `@context` | https://schema.org | Valid | | | `@type` | Organization | Valid | Active type | | `@id` | https://rankenstein.pro#organization | Good | Enables cross-referencing | | `name` | Rankenstein | Valid | | | `description` | Present, 200+ chars | Good | Descriptive and keyword-rich | | `url` | https://rankenstein.pro | Valid | Absolute URL | | `logo` | ImageObject with @id, url, width, height, caption | Excellent | Well-structured | | `foundingDate` | "2024" | Imprecise | Year-only accepted but ISO 8601 preferred | | `areaServed` | "Worldwide" | Text | Works but `GeoShape` is more semantic | | `contactPoint` | email + contactType | Valid | Consider adding `telephone` | | `founder` | 1 Person (Daniel Agrici) | Incomplete | Page describes two co-founders; second missing | | `sameAs` | 5 social profiles | Good | GitHub, X, LinkedIn, YouTube, Reddit | | `knowsAbout` | 6 topics | Good | Relevant topical signals | **Critical Issue:** The `founder` property only includes Daniel Agrici. Benjamin Samar (Co-Founder & Technical Director) is displayed on the page but absent from the schema. This creates a content-schema mismatch that can confuse search engines. ``` </details> Other audit outputs follow the same shape: `FULL-AUDIT-REPORT.md` (umbrella audit), `GEO-ANALYSIS.md` (AI-search readiness), `LOCAL-SEO-ANALYSIS.md` (GBP and citations), and a production PDF via WeasyPrint + matplotlib (cover, TOC, executive summary, data sections, recommendations, methodology, roughly 32 A4 pages for a full site audit). ## Architecture ![Claude SEO system architecture: /seo audit enters the orchestrator, fans out to 25 sub-skills and 6 parallel audit agents, converges through the scoring engine into a prioritized report](assets/diagrams/01-architecture-B.svg) The plugin follows the [Agent Skills standard](https://docs.claude.com/en/docs/claude-code/skills) with a 3-layer architecture (directive, orchestration, execution). Skills and agents are auto-discovered from `skills/seo-*/` and `agents/seo-*.md`. The orchestrator (`skills/seo/SKILL.md`) handles industry detection (SaaS, local, ecommerce, publisher, agency), parallel sub-agent dispatch up to 15 simultaneously, and synthesis through the [10-principle framework](#methodology) before emitting the action plan. Full architecture: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md). ![Claude SEO audit pipeline: linear flow from /seo audit input through site crawl, parallel agent dispatch, score collection, and report emission](assets/diagrams/02-pipeline-A.svg) ## Methodology ![Claude SEO 10-principle thinking framework: radial wheel with PERCEIVE, ANALYZE, VALIDATE, ACT phases and 10 principles arranged by quadrant](assets/diagrams/04-framework-B.svg) Every audit walks 10 principles grouped into four phases. Each emitted recommendation carries four fields: the first-principle observation it rests on, its dependency relationship to other recommendations, a "how would we know this failed?" check, and a leading indicator to monitor. | Phase | Principles | What it does | |---|---|---| | **PERCEIVE** | OBSERVE (external) · OBSERVE (internal) · LISTEN | Collect raw signals; audit your own assumptions; read what the SERP, the brand voice, and the community actually say | | **ANALYZE** | THINK · CONNECT (lateral) · CONNECT (system) | Reduce to first principles; find non-obvious cross-skill links; sequence into a dependency graph | | **VALIDATE** | FEEL · ACCEPT | Pressure-test against UX, brand voice, operator capacity; surface falsifiability | | **ACT** | CREATE · GROW | Ship the artifact; set the feedback loop for the next audit | Full methodology: [skills/seo/references/thinking-framework.md](skills/seo/references/thinking-framework.md). ## What's New in v2 v2.0.0 is the largest release in the plugin's history. Six build phases, all shipped: - **Phase A: Headless rendering everywhere.** Shared `scripts/render_page.py` with Playwright Chromium plus [trafilatura](https://github.com/adbar/trafilatura) and [htmldate](https://github.com/adbar/htmldate). Every audit subagent gets SPA-aware fetching via `--render auto` (auto-detected on Next.js, React, Vue, Nuxt, Astro islands). Closes the SPA limitation that capped v1.x. - **Phase B: QRG-aligned content quality gates.** Filler detector and AI-pattern humanizer keyed to QRG §4.6.5 and §4.6.6, claim-verification scanner, expired-domain heritage check via WHOIS, primary-source Google updates changelog. - **Phase C: Technical and CWV depth.** LCP subparts via CrUX (TTFB, load delay, load duration, render delay), Speculation Rules and bfcache detection, IndexNow submitter for Bing / Yandex / Seznam / Naver, Unlighthouse multi-page Lighthouse wrapper. - **Phase D: Schema completeness.** Four explicit generators (Reservation, OrderAction, DiscussionForumPosting, ProfilePage), e-commerce schema validator (`hasMerchantReturnPolicy`, `shippingDetails`, `MemberProgram`, EU `energyEfficiencyClass`, ProductGroup variants), dual validator (Rich Results Test plus Schema Markup Validator). - **Phase E: AI search reframing and 5 new MCP extensions.** Ahrefs, SE Ranking (AI Share-of-Voice), Profound (LLM citation tracker), Bing Webmaster plus IndexNow, Unlighthouse. Plus the parasite-SEO risk scanner per Google's November 2024 [site reputation abuse policy](https://developers.google.com/search/blog/2024/11/site-reputation-abuse-update). - **Phase F: Local, international, and privacy polish.** Google Business Profile deprecation linter (chat field, `.business.site` URLs, Q&A), DMA consent-mode-v2 click-through diagnostic, machine-translation QA flag per January 2025 QRG. Test coverage: 248 → 271 (a 5.4× increase over the v1.9.9 baseline). 83 SSRF and DNS-rebinding bypass tests close the full obfuscated-IPv4, FQDN-trailing-dot, and redirect-rebinding bypass classes. Full migration notes and breaking changes: [docs/MIGRATION-v1-to-v2.md](docs/MIGRATION-v1-to-v2.md). ![Claude SEO roadmap: horizontal timeline from v1.7.0 Google APIs through v2.0.0 AI search and 10-principle framework (current) to v3.0.0 audit-as-code](assets/diagrams/05-roadmap-A.svg) ## Limitations Two real boundaries worth being upfront about. **Heavy client-side hydration timing.** Phase A's headless renderer handles most SPAs out of the box (`--render auto` detects empty `<div id="root">` shells and switches to Playwright). Edge cases that still produce noisy findings: pages with hydration tied to scroll position past the fold, pages that fetch critical content after user interaction (modal opens, tab clicks), pages with race-condition-prone third-party widget mounts. For these, manually triggering the `seo-visual` subagent and comparing its Playwright snapshot to the raw-HTML subagents' findings is the recommended workflow. **Local-only without enrichment.** The free tier does not call any external API and produces zero-network output. Adding Google API credentials (Tier 0 through 3) unlocks real field data and live indexation status; without them, Core Web Vitals are lab estimates only and indexation is inferred from page-level signals. Adding MCP extensions (Ahrefs, DataForSEO, SE Ranking, Profound) similarly unlocks competitive and AI-citation data but requires their respective accounts. ## Requirements - Python 3.10+ - Claude Code CLI - Optional: Playwright Chromium (auto-installed by `install.sh`) for SPA rendering and screenshots - Optional: Google API credentials for enriched CWV / GSC / GA4 data (see `/seo google setup`) ## Uninstall ```bash git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git bash claude-seo/uninstall.sh ``` <details> <summary>One-liner (curl)</summary> ```bash curl -fsSL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/main/uninstall.sh | bash ``` </details> ## Extensions Optional MCP servers add live data to the audit pipeline. Claude SEO ships extensions for 8 servers; the plugin core works without any of them. ### DataForSEO Live SERP data, keyword research, backlinks, on-page analysis, content analysis, business listings, AI visibility checks, and LLM mention tracking. 22 commands across 9 API modules. ```bash ./extensions/dataforseo/install.sh # requires DataForSEO account /seo dataforseo serp best coffee shops /seo dataforseo ai-mentions your brand ``` Full DataForSEO docs: [extensions/dataforseo/README.md](extensions/dataforseo/README.md). ### Firecrawl Full-site crawling and URL discovery via the [Firecrawl](https://www.firecrawl.dev/) MCP server. ```bash ./extensions/firecrawl/install.sh /seo firecrawl crawl https://example.com ``` Full Firecrawl docs: [extensions/firecrawl/README.md](extensions/firecrawl/README.md). ### Banana: AI image generation SEO image generation (OG previews, blog heroes, product photos, infographics) via the [Claude Banana](https://github.com/AgriciDaniel/banana-claude) Creative Director pipeline. ```bash ./extensions/banana/install.sh /seo image-gen og "Professional SaaS dashboard" ``` Full Banana docs: [extensions/banana/README.md](extensions/banana/README.md). ### Ahrefs, SE Ranking, Profound, Bing Webmaster, Unlighthouse (new in v2) Five extensions added in Phase E: - **Ahrefs:** official `@ahrefs/mcp` server with backlink and organic data - **SE Ranking:** AI Share-of-Voice across ChatGPT, Gemini, Perplexity, AI Overviews, AI Mode - **Profound:** LLM citation tracker with time-series data - **Bing Webmaster:** Bing Webmaster Tools plus IndexNow unified - **Unlighthouse:** MIT-licensed multi-page Lighthouse runner Setup walkthroughs: [docs/MCP-INTEGRATION.md](docs/MCP-INTEGRATION.md). ## Ecosystem Claude SEO is part of a family of Claude Code skills that interoperate cleanly: | Skill | What it does | How it connects | |-------|-------------|-----------------| | [Claude SEO](https://github.com/AgriciDaniel/claude-seo) | SEO analysis, audits, schema, GEO | Core. Analyzes sites and generates action plans. | | [Claude Blog](https://github.com/AgriciDaniel/claude-blog) | Blog writing, optimization, scoring | Companion. Writes content optimized by SEO findings. | | [Claude Banana](https://github.com/AgriciDaniel/banana-claude) | AI image generation via Gemini | Shared. Generates images for SEO assets and blog posts. | | [Codex SEO](https://github.com/AgriciDaniel/codex-seo) | Codex-first SEO skill suite | Port. Same SEO system adapted for Codex skills, TOML agents, deterministic runners. | | [AI Marketing Claude](https://github.com/zubair-trabzada/ai-marketing-claude) | Copywriting, emails, social, ads, funnels, CRO | Community. Post-audit marketing action from SEO findings. | | [FLOW](https://github.com/AgriciDaniel/flow) | Evidence-led SEO framework (41 AI prompts, CC BY 4.0) | Knowledge base. Powers `seo-flow` prompts. | **Workflow example:** 1. `/seo audit https://example.com`: identify content gaps and technical issues 2. `/seo backlinks https://example.com`: analyze link profile and competitor gaps 3. `/seo geo https://example.com/blog/post`: score AI-citation readiness 4. `/blog write "target keyword"`: create SEO-optimized blog post (Claude Blog) 5. `/seo image-gen hero "blog topic"`: generate hero image (Banana extension) ## Documentation - [Installation Guide](docs/INSTALLATION.md) - [Commands Reference](docs/COMMANDS.md): 27 commands in depth - [Architecture](docs/ARCHITECTURE.md): 3-layer design, auto-discovery, parallel dispatch - [Migration v1 → v2](docs/MIGRATION-v1-to-v2.md): breaking changes, six phases of work - [MCP Integration](docs/MCP-INTEGRATION.md): extension setup for all 8 servers - [Troubleshooting](docs/TROUBLESHOOTING.md) - [Contributors](CONTRIBUTORS.md): community credits ## FAQ ### What is Claude SEO? Claude SEO is an open-source SEO analysis plugin for Claude Code. It runs 25 sub-skills and 18 specialist agents in parallel across technical SEO, content quality, Schema.org markup, AI search optimization, local SEO, e-commerce, and international SEO. Audits produce a prioritized action plan where each recommendation carries the first-principle observation it rests on, its dependency relationship to other recommendations, a "how would we know this failed?" check, and a leading indicator. The plugin is MIT-licensed, ships zero proprietary tracking, and works fully offline if you skip the optional Google API and MCP-extension enrichments. Aligned with [Google's AI Optimization Guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide) and the September 2025 Quality Rater Guidelines. ### How is Claude SEO different from Screaming Frog or Ahrefs Site Audit? Different surface area, different tradeoffs. **Screaming Frog** crawls deeper and faster at the link-graph level; it is purpose-built as a crawler and Claude SEO does not attempt to replace it. **Ahrefs Site Audit** brings a proprietary backlink index and link intelligence; Claude SEO integrates with Ahrefs via its MCP extension rather than competing. Where Claude SEO leads: conversational LLM-native workflow, recommendation falsifiability (every finding carries an explicit failure-mode check), open-source MIT licensing with zero per-domain pricing, AI search optimization aligned with Google's primary-source guidance, and primary-source schema-deprecation tracking. Use Screaming Frog or Ahrefs for what they are best at; use Claude SEO when you want LLM-driven synthesis, conversational iteration, and AI-search-first audits in the same environment as your other Claude Code workflows. ### Does Claude SEO work on single-page applications (Next.js, React, Vue)? Yes. Phase A of v2 shipped a shared headless renderer (`scripts/render_page.py`) backed by Playwright Chromium. Every fetching subagent supports `--render auto` (the default), which auto-detects SPA hallmarks (empty `<div id="root">` shells, single bundle script, hydration markers) and switches to a rendered fetch. Set `--render always` to force rendering, or `--render never` for raw HTML only. Content extraction uses [trafilatura](https://github.com/adbar/trafilatura) for boilerplate removal. Publication dates come from [htmldate](https://github.com/adbar/htmldate). Known nuance: pages with scroll-bound hydration or post-interaction content fetches still produce noisy findings; see the [Limitations](#limitations) section for the recommended `seo-visual` cross-check workflow on those edge cases. ### What Google APIs does Claude SEO use, and are they required? None are required. Claude SEO is fully functional with zero API keys. A 4-tier credential system lets you upgrade gradually: Tier 0 (API key only) unlocks PageSpeed Insights, CrUX, and CrUX History (25-week trend data). Tier 1 (+ OAuth or service account) adds Search Console with queries, URL Inspection, sitemap status, and the Indexing API. Tier 2 (+ GA4 property config) adds organic traffic, top landing pages, and device / country breakdowns. Tier 3 (+ Ads developer token) adds Keyword Planner search volume and competition data. The credential setup wizard runs via `/seo google setup`. All credentials live under `~/.config/claude-seo/` with `0o600` file permissions; nothing is checked into the repo and nothing is transmitted beyond Google's own endpoints. ### Is Claude SEO free? Yes. MIT licensed, fully open source, no per-domain pricing, no telemetry, no API quotas imposed by the plugin itself. The core plugin and all 25 sub-skills work without any paid service. Some optional MCP extensions wrap paid services (DataForSEO, Ahrefs, Profound, SE Ranking) where you bring your own account credentials; their use is opt-in and the plugin works fully without them. Google APIs (PageSpeed Insights, Search Console, Indexing, GA4) are free from Google with normal account quota limits and require your own credentials. If you want commercial support or enterprise features beyond the open-source plugin, that is not part of this project. ### How is Claude SEO different from regular SEO tools when it comes to AI search? Most SEO tools treat AI search as a separate optimization discipline. Claude SEO follows [Google's own position](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide) that AEO and GEO are rebranded labels for SEO. AI Overviews and AI Mode are grounded in the same ranking systems as classic Search; the eligibility floor is normal indexation. Claude SEO scores passage citability (134-167 word self-contained answer blocks), question-based heading hierarchy, attribution density, and entity presence across Wikipedia, Reddit, YouTube, and LinkedIn. It explicitly rejects three influencer myths: llms.txt as a citation lever, content chunking for AI, and AI-specific keyword rewriting. For commerce sites, Claude SEO audits the IPTC `TrainedAlgorithmicMedia` requirement on AI-generated product images per Google Merchant Center policy. ## Community Contributors v1.9.0 includes contributions from the [AI Marketing Hub](https://www.skool.com/ai-marketing-hub) Pro Hub Challenge: | Contributor | Contribution | |------------|-------------| | **Lutfiya Miller** (Winner) | Semantic Cluster Engine → `seo-cluster` | | **Florian Schmitz** | SXO Skill → `seo-sxo` | | **Dan Colta** | SEO Drift Monitor → `seo-drift` | | **Chris Muller** | Multi-lingual SEO → `seo-hreflang` enhancements | | **Matej Marjanovic** | E-commerce + DataForSEO Cost Config → `seo-ecommerce` + cost guardrails | See [CONTRIBUTORS.md](CONTRIBUTORS.md) for full details and original repo links. ## License MIT License. See [LICENSE](LICENSE) for details. ## Contributing Contributions welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before submitting PRs. The project enforces a per-PR audit gate covering manifest consistency (14 assertions), the test suite (271 passing), and an 8-dimension security review before any merge to `main`. --- ## Author Built by **[Agrici Daniel](https://agricidaniel.com/about)**, AI Workflow Architect. Single maintainer, open to community contributions via the [Pro Skool community](https://www.skool.com/ai-marketing-hub-pro). Background in marketing automation, AI-assisted content workflows, and open-source tooling for Claude Code. - [Blog](https://agricidaniel.com/blog): deep dives on AI marketing automation - [AI Marketing Hub (free)](https://www.skool.com/ai-marketing-hub): open community - [AI Marketing Hub Pro](https://www.skool.com/ai-marketing-hub-pro): Pro community, early access to this skill - [YouTube](https://www.youtube.com/@AgriciDaniel): tutorials and demos - [GitHub](https://github.com/AgriciDaniel): all open-source tools

AI Tools SEO Tools
8.5K Github Stars
claude-blog
Open Source

claude-blog

<p align="center"> <img src="assets/banner.svg" alt="Claude Blog: AI Blog Writing and SEO Optimization Skill for Claude Code. Animated terminal-style banner with pixel-art CLAUDE BLOG wordmark, breathing orange gradient, scanning command palette, and pulsing status indicators" width="100%"> </p> # AI Blog Writing & SEO Optimization Skill for Claude Code (`claude-blog`) <p align="center"> <a href="https://agentskills.io"><img src="https://img.shields.io/badge/Agent%20Skills-Compatible-blue" alt="Agent Skill"></a> <a href="https://github.com/AgriciDaniel/claude-blog/releases"><img src="https://img.shields.io/github/v/release/AgriciDaniel/claude-blog?label=public%20release" alt="Version"></a> <a href="https://github.com/AgriciDaniel/claude-blog/actions"><img src="https://img.shields.io/github/actions/workflow/status/AgriciDaniel/claude-blog/ci.yml?branch=main&label=public%20CI" alt="CI"></a> <a href="https://www.skool.com/ai-marketing-hub-pro"><img src="https://img.shields.io/badge/AI%20Marketing%20Hub-Pro%20community-purple" alt="Community"></a> <img src="https://img.shields.io/badge/License-MIT-green" alt="License: MIT"> <img src="https://img.shields.io/badge/Python-3.11%2B-blue" alt="Python 3.11+"> <img src="https://img.shields.io/badge/Sub--Skills-30-orange" alt="Sub-Skills"> <img src="https://img.shields.io/badge/Tests-187%20passing-brightgreen" alt="Tests: 187 passing"> </p> <p align="center"> <a href="https://youtu.be/7Q4GaSgUFHo"><img src="https://img.youtube.com/vi/7Q4GaSgUFHo/maxresdefault.jpg" alt="Watch the Claude Blog v1.9.1 walkthrough on YouTube" width="640"></a> </p> <p align="center"> <strong><a href="https://youtu.be/7Q4GaSgUFHo">Watch the 12:48 v1.9.1 walkthrough on YouTube</a></strong> · See the 5-gate Blog Delivery Contract run live, including a 6-minute live demo of the <a href="https://claude-blog.md/blog/chatgpt-codex-vs-claude-code-2026">Codex vs Claude sample blog</a> being generated end-to-end. </p> > **Two versions of this skill.** Choose the one that fits how you work: > > - 🌐 **Public open-source**: [`AgriciDaniel/claude-blog`](https://github.com/AgriciDaniel/claude-blog). MIT-licensed, public releases, open to anyone. Use this if you want the stable, downloadable, no-membership-required version. > - 🔒 **Community private mirror** (this repo): [`AI-Marketing-Hub/claude-blog`](https://github.com/AI-Marketing-Hub/claude-blog). Early access to in-development work (v1.9.0+ Blog Delivery Contract, hero ladder, mutation-tested regression coverage), and direct collaboration with the [AI Marketing Hub Pro](https://www.skool.com/ai-marketing-hub-pro) community. Requires membership. > > The badges above track the **public** repo (`AgriciDaniel/claude-blog`) since the private mirror is not visible to shields.io. The publishing workflow (private dev, review, public release) is documented in [`docs/PUBLISHING.md`](docs/PUBLISHING.md). > **Blog:** [See how claude-blog works](https://agricidaniel.com/blog/claude-code-blog-writer) **claude-blog is a Claude Code skill suite that writes, optimizes, and audits blog content at scale.** Every article is dual-optimized for Google rankings (December 2025 Core Update, E-E-A-T) and AI citation platforms (ChatGPT, Perplexity, AI Overviews). A v1.9.0 5-gate Delivery Contract scores every draft against a 100-point rubric and blocks anything below 90 from reaching you. ## Key takeaways - **What it is**: a full-lifecycle blog engine: 30 sub-skills, 5 agents, 12 content templates, 21 on-demand references, 9 root-level Python scripts, 160 passing tests. - **Who it is for**: solo bloggers, marketing teams, agencies, and Claude Code skill builders who want production-grade content output, not one-shot drafts. - **Core promise**: every draft passes a 5-gate delivery contract (Capability, Format, Visual, Content Review, Asset Integrity) or the writer iterates up to 3 times before escalating to you. - **What makes it different**: it eats its own dogfood. Version-coherence is CI-enforced across 14 surfaces, prose-hygiene runs on every PR, three mutation-tested regression suites lock the v1.9.0 fixes, and `blog-reviewer` is a BLOCKING gate, not advisory. - **Today**: v1.9.0, released 2026-05-18. Works on Next.js MDX, Astro, Hugo, Jekyll, WordPress, Ghost, 11ty, Gatsby, and static HTML. ## Who is claude-blog for? claude-blog serves three audiences with one engine: **Solo bloggers and creators** who want to ship one high-quality post per week without spending three hours on the SEO checklist. The orchestrator handles research, outline, draft, schema, internal linking, and citation verification in a single `/blog write` invocation. **Marketing teams and agencies** managing many posts across topics, languages, and platforms. The skill ships topic-cluster planning (`/blog cluster`), multilingual one-command publishing (`/blog multilingual`), cannibalization detection (`/blog cannibalization`), and persona-driven voice profiles (`/blog persona`) so the same engine produces consistent content across the team. **Claude Code skill builders** who want a production-grade reference for skill architecture, agent dispatch, delivery contracts, and CI gating. The repo demonstrates the Agent Skills open standard at Tier 4 complexity with 160 tests, version-coherence enforcement, installer-sync regression tests, and the v1.9.0 5-gate contract pattern. Read the source for inspiration; fork the patterns into your own skills. ## What does claude-blog produce? Every draft ships as 8 artifacts in a single folder. A condensed specimen of the `.md` output: ```markdown --- title: "Where Should a Claude Code Skill Plugin Install Itself?" description: "A working answer to the install-path question..." date: "2026-05-18" author: "Daniel Agrici" tags: [claude-code, skills, plugins, installation] canonical: "https://example.com/blog/skill-plugin-install-path" --- # Where Should a Claude Code Skill Plugin Install Itself? The short answer: most user-installable Claude Code skill plugins should ship to `~/.claude/skills/<name>/` for skill content, `~/.claude/agents/<name>.md` for agents, and `~/.claude/scripts/<helper>.py` for any Python helpers. ## Key Takeaways - `~/.claude/skills/` is the SKILL.md surface area. - `~/.claude/agents/` holds agent markdown files. - ... (full article, sourced citations, FAQ, schema JSON-LD) ``` Alongside the `.md`, the contract also produces: rendered `.html` (XSS-safe JSON-LD, dark-mode-aware CSS), `.pdf` (Playwright or weasyprint), `hero.<ext>` (1200x630, generated via Banana MCP, Gemini, stock APIs, or Openverse), 3 viewport screenshots (`mobile-375.png`, `tablet-768.png`, `desktop-1280.png`), `review.md` (5-category scorecard with BLOCKING line), and `preflight-report.json` (the full audit trail). ## Table of Contents - [Demo](#demo) - [Quick Start](#quick-start) - [Commands](#commands) - [How does claude-blog compare?](#how-does-claude-blog-compare) - [Features](#features) - [Delivery contract (v1.9.0)](#delivery-contract-v190) - [Architecture](#architecture) - [Requirements](#requirements) - [Frequently Asked Questions](#frequently-asked-questions) - [Roadmap](#roadmap) - [Uninstall](#uninstall) - [Integration](#integration) - [Documentation](#documentation) - [How to cite](#how-to-cite) - [Security & Code of Conduct](#security--code-of-conduct) - [Contributing](#contributing) - [License](#license) - [Related projects](#related-projects) - [Author](#author) ## Demo [Watch the Demo on YouTube](https://www.youtube.com/watch?v=AeLC4iutG8w) <p align="center"> <img src="assets/blog-command-demo.gif" alt="claude-blog command demo: routing /blog subcommands through the orchestrator" width="100%"> </p> --- ## Quick Start > ℹ️ **Which version are you installing?** > > - **Not an AI Marketing Hub Pro member?** Install from the public repo: [`AgriciDaniel/claude-blog`](https://github.com/AgriciDaniel/claude-blog). All the install commands below work there. Just swap `AI-Marketing-Hub/claude-blog` for `AgriciDaniel/claude-blog` and the plugin slug `claude-blog@ai-marketing-hub-claude-blog` for `claude-blog@agricidaniel-claude-blog`. Public releases ship there; this private mirror runs ahead. > - **Pro member?** The commands below install the **community version** with early access to in-development features. They require an authenticated `gh auth login` (or GitHub PAT) session with access to the `AI-Marketing-Hub` org. If `/plugin marketplace add` fails with a 404, your account is not in the org yet. DM in the [Skool community](https://www.skool.com/ai-marketing-hub-pro) to get added. **Plugin Install (Claude Code 1.0.33+):** ```bash # Add marketplace (one-time) /plugin marketplace add AI-Marketing-Hub/claude-blog # Install plugin /plugin install claude-blog@ai-marketing-hub-claude-blog ``` **Recommended: clone, verify, then install** (lets you inspect `install.sh` and pin a release tag): ```bash git clone https://github.com/AI-Marketing-Hub/claude-blog.git cd claude-blog git checkout v1.9.0 # pin to a release tag (latest as of 2026-05-18) chmod +x install.sh && ./install.sh ``` **One-Command Install (Unix/macOS):** ```bash curl -fsSL https://raw.githubusercontent.com/AI-Marketing-Hub/claude-blog/main/install.sh | bash ``` **One-Command Install (Windows PowerShell):** ```powershell irm https://raw.githubusercontent.com/AI-Marketing-Hub/claude-blog/main/install.ps1 | iex ``` > Piping `curl` or `irm` to a shell gives the script execution authority on your machine. The clone-then-checkout-tag flow is safer because you can inspect what runs. Both flows authenticate against the private repo using your existing `gh auth` / GitHub credentials. **Verify installer integrity (recommended, VULN-IAC-001 hardening):** ```bash # Download, verify SHA-256, then run if the hash matches. curl -fsSL -o install.sh https://raw.githubusercontent.com/AI-Marketing-Hub/claude-blog/main/install.sh echo "029388e448dd29bed259b130c2be42e2f6a16d4d5b6801a61bfb4f49b621fc04 install.sh" | sha256sum -c bash install.sh ``` The SHA-256 above is for the current `install.sh` at HEAD on `main`. Verify against [the canonical file](https://github.com/AI-Marketing-Hub/claude-blog/blob/main/install.sh) before running. The `install.ps1` companion hash is `6d03f353e5d844c4fe5c7c0b2500bd1e2aad02468cd544013bab876735cebf98`. Hashes are updated in this README on every installer change. Restart Claude Code after installation to activate. ## Commands > 🚀 **First time? Try these three commands first**: `/blog strategy <niche>` to scope your blog, `/blog write <topic>` to generate your first article (the 5-gate contract runs automatically), and `/blog analyze <file>` to score it on the 100-point rubric. <p align="center"> <img src="assets/blog-write-demo.gif" alt="claude-blog /blog write demo: end-to-end article generation with the 5-gate Delivery Contract" width="100%"> </p> <p align="center"> <img src="assets/diagrams/03-sub-skill-map-B.svg" alt="claude-blog sub-skill ecosystem: orchestrator hub at the center with 30 sub-skills organized into 8 thematic clusters (writing, strategy, quality, AI and search, multilingual, research, media, distribution); panel sizes auto-scale to skill counts" width="100%"> </p> | Command | Description | |---------|-------------| | `/blog write <topic>` | Write a new blog post from scratch | | `/blog rewrite <file>` | Optimize an existing blog post | | `/blog analyze <file>` | Quality audit with 0-100 score | | `/blog brief <topic>` | Generate a detailed content brief | | `/blog calendar` | Generate an editorial calendar | | `/blog strategy <niche>` | Blog strategy and topic ideation | | `/blog outline <topic>` | SERP-informed content outline | | `/blog seo-check <file>` | Post-writing SEO validation | | `/blog schema <file>` | Generate JSON-LD schema markup | | `/blog repurpose <file>` | Repurpose for social, email, YouTube | | `/blog geo <file>` | AI citation readiness audit | | `/blog image [generate\|edit\|setup]` | AI image generation via Gemini | | `/blog audit [directory]` | Full-site blog health assessment | | `/blog cannibalization [directory]` | Detect keyword overlap across posts | | `/blog factcheck <file>` | Verify statistics against cited sources | | `/blog persona [create\|list\|apply]` | Manage writing personas and voice profiles | | `/blog taxonomy [sync\|audit\|suggest]` | Tag/category CMS management | | `/blog notebooklm <question>` | Query NotebookLM for source-grounded research | | `/blog audio [generate\|voices\|setup]` | Generate audio narration via Gemini TTS | | `/blog google [command] [args]` | Google API data: PSI, CrUX, GSC, GA4, NLP, YouTube, Keywords | | `/blog cluster [plan\|execute] <seed>` | Semantic topic-cluster planning + execution (hub-and-spoke) | | `/blog multilingual <topic> --languages <codes>` | Write, translate, localize, and emit hreflang in one command | | `/blog translate <file> --to <codes>` | SEO-optimized translation with format preservation | | `/blog localize <file> --locale <code>` | Cultural deep-adaptation per locale | | `/blog locale-audit <directory>` | Multilingual content QA (completeness, hreflang, parity, freshness) | | `/blog flow [find\|optimize\|win\|prompts\|sync]` | FLOW framework prompts (evidence-led, 30 blog-applicable) | | `/blog brand [init\|show\|update]` | Generate BRAND.md + VOICE.md context auto-loaded by all sub-skills | | `/blog discourse <topic>` | API-free last-30-days discourse research; produces DISCOURSE.md | > **30 sub-skill directories total**: 29 user-invokable (28 distinct slash commands + `/blog update` aliased to rewrite) + 1 internal-only (`blog-chart`, invoked by blog-write/blog-rewrite for inline SVG charts). `blog-image` is user-invokable AND callable internally. ## How does claude-blog compare? claude-blog is a structured pipeline. Direct LLM prompting is a one-shot. Hosted SaaS tools are closed-source. Here is the honest tradeoff matrix: | Capability | claude-blog | Direct Claude / ChatGPT prompt | Copy.ai / Jasper | Build it yourself | |---|:---:|:---:|:---:|:---:| | Full article in one command, with iteration loop | ✅ (5-gate contract, up to 3 retries) | ⚠️ one-shot | ✅ | ❌ | | Sourced statistics with verification | ✅ `/blog factcheck` fetches source URLs | ❌ hallucinates | ❌ | ⚠️ manual | | AI citation optimization (GEO / AEO) | ✅ dedicated `/blog geo` audit | ❌ | ❌ | ⚠️ | | Blocking content review (score >= 90 to deliver) | ✅ `blog-reviewer` agent | ❌ | ❌ | ❌ | | Multilingual + hreflang one-command | ✅ `/blog multilingual` | ⚠️ no hreflang | ⚠️ | ❌ | | Topic-cluster planning (hub-and-spoke) | ✅ `/blog cluster` | ❌ | ⚠️ | ❌ | | Audio narration | ✅ Gemini TTS, 30 voices | ❌ | ❌ | ❌ | | Hero image generation (4-step ladder) | ✅ Banana, Gemini, stock, Openverse | ❌ | ⚠️ stock only | ⚠️ | | Persistent brand and voice context | ✅ BRAND.md + VOICE.md auto-loaded | ❌ per-prompt | ⚠️ limited | ❌ | | Open-source, MIT, no usage cost | ✅ free | ❌ subscription | ❌ subscription | ✅ | claude-blog is not better at everything. Direct prompting is faster for a single throwaway draft. Hosted SaaS is easier for non-developers. DIY is more flexible for unique pipelines. claude-blog fits where you want production-grade content at scale without a SaaS subscription. ## Features ### 12 content templates Auto-selected by 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. ### 5-category quality scoring (100 points) | Category | Points | Focus | |----------|--------|-------| | Content Quality | 30 | Depth, readability, originality, engagement | | SEO Optimization | 25 | Headings, title, keywords, links, meta | | E-E-A-T Signals | 15 | Author, citations, trust, experience | | Technical Elements | 15 | Schema, images, speed, mobile, OG tags | | AI Citation Readiness | 15 | Citability, Q&A format, entity clarity | Scoring bands: Exceptional (90-100), Strong (80-89), Acceptable (70-79), Below Standard (60-69), Rewrite (<60). The v1.9.0 contract blocks delivery below 90. ### AI content detection Burstiness scoring on sentence-length variance, known AI-phrase detection (17 phrases), and vocabulary diversity (TTR). Flags content that reads as machine-generated before it reaches the reviewer. ### Persona-driven writing Configurable writing personas with the NNGroup 4-dimension tone framework (formal/casual, serious/funny, respectful/irreverent, matter-of-fact/enthusiastic). Manage voice profiles per blog or author, with readability bands (Consumer, Professional, Technical) and style enforcement at draft time. ### Fact-checking pipeline `/blog factcheck` fetches every cited source URL and scores claim confidence as exact match, paraphrase, or not found. Ensures every data point is accurate and traceable, not invented. ### Keyword cannibalization detection `/blog cannibalization` identifies keyword overlap across blog posts using local grep analysis or DataForSEO API. Severity scoring with merge or differentiate recommendations prevents posts from competing against each other in SERPs. ### CMS taxonomy management Tag and category sync supporting WordPress REST, Shopify GraphQL, Ghost, Strapi, and Sanity. Includes tag suggestion, sync, and audit workflows. ### Dual optimization Every article targets both Google rankings and AI citation platforms: - **Google**: December 2025 Core Update compliance, E-E-A-T signals, schema markup, internal linking, Core Web Vitals awareness via blog-google. - **AI Citations**: Answer-first formatting, citation capsules, passage-level citability (120-180 word blocks), FAQ schema, entity clarity. ### Visual media - Pixabay, Unsplash, and Pexels image sourcing with HTTP 200 verification and auto-generated alt text. - AI image generation via Gemini for hero images, inline illustrations, and social cards. Requires a free Google AI API key. - Built-in SVG chart generation in 7 styles (bar, grouped bar, lollipop, donut, line, area, radar). - YouTube video embedding with `srcdoc` lazy loading and noscript AI-crawler fallback. - Image density targets calibrated per content type. ### Google API integration (v1.6.5+) 13 commands across 4 credential tiers, all free at normal usage: - **Tier 0** (API key): PageSpeed Insights, CrUX Core Web Vitals (25-week history), YouTube video search, NLP entity analysis. - **Tier 1** (OAuth): Search Console performance, URL Inspection, Indexing API. - **Tier 2** (GA4): Organic traffic reports. - **Tier 3** (Ads): Google Ads Keyword Planner. ### NotebookLM research Query Google NotebookLM for source-grounded research from user-uploaded documents. Tier 1 data quality with zero hallucination risk because the answers are extracted from documents you uploaded. ### Audio narration `/blog audio` generates audio narration via Gemini TTS. Three modes: summary (200-300 words), full article, two-speaker dialogue. 30 voices, 80+ languages. ### Platform support Next.js MDX, Astro, Hugo, Jekyll, WordPress, Ghost, 11ty, Gatsby, and static HTML. ### Foundational methodologies (v1.8.0) Five reference documents under `skills/blog/references/` define the editorial and research methodology applied across all sub-skills. They are loaded on demand by the orchestrator: | Reference | Purpose | Used by | |---|---|---| | `ai-slop-detection.md` | Two-tier first-order (phrases) + second-order (structural rhythm) AI-content detection | `blog-rewrite`, `blog-reviewer`, `blog-analyze` | | `editorial-heuristics.md` | 10 Nielsen-adapted heuristics with 0-4 scoring + P0-P3 severity tagging | `blog-analyze --rubric` | | `cognitive-load.md` | Per-section concept-density (entities, numerics, jargon, forward refs, clause depth) | `blog-analyze --cognitive-load`, `scripts/cognitive_load.py` | | `research-quality.md` | 5-dimension research rubric + 4 pre-flight keyword-trap classes + freshness floors | `blog-researcher`, `blog-discourse`, `blog-brief`, `blog-strategy` | | `synthesis-contract.md` | 6 LAWs governing research synthesis (no trailing Sources block, inline citations, etc.) | All research-synthesis sub-skills | Adapted from `pbakaus/impeccable` (Apache 2.0) and `mvanhorn/last30days-skill` (MIT). See [`CONTRIBUTORS.md`](CONTRIBUTORS.md) for attribution. ### FLOW framework The FLOW framework (Find, Leverage, Optimize, Win) is the evidence-led workflow shared with [`AgriciDaniel/flow`](https://github.com/AgriciDaniel/flow) (CC BY 4.0). Each phase contributes prompts to the orchestrator pipeline; `/blog flow` exposes 30 ready-to-run prompts indexed by phase. <p align="center"> <img src="assets/diagrams/04-framework-B.svg" alt="FLOW framework radial wheel: four phases (Find for topic discovery, Leverage for asset amplification, Optimize for content improvement, Win for reader conversion) arranged around a central hub, with 10 representative prompts on the outer ring" width="100%"> </p> ## Delivery contract (v1.9.0) <p align="center"> <img src="assets/diagrams/02-pipeline-A.svg" alt="5-gate Blog Delivery Contract pipeline: Capability Discovery, Format Completeness, Visual Verification, Content Review (BLOCKING gate, score must be 90 or higher with zero P0 issues), and Asset and Link Integrity. Iterates up to 3 times on failure before escalating to the user" width="100%"> </p> Every blog passes a 5-gate contract before being shown to the user. The user is never the first reviewer; the gates are. | Gate | Enforces | Implementation | |---|---|---| | 1. Capability Discovery | Required tools and agents present before write | `scripts/blog_preflight.py --gate 1` | | 2. Format Completeness | `.md` + `.html` + `.pdf` + real hero image | `scripts/blog_render.py`, `scripts/generate_hero.py` | | 3. Visual Verification | No SVG overflow, valid JSON-LD, dark mode renders correctly | `patchright` / `playwright` at 3 viewport widths | | 4. Content Review (BLOCKING) | `blog-reviewer` score 90+ AND zero P0 issues | `agents/blog-reviewer.md` (blocking, v1.9.0) | | 5. Asset + Link Integrity | Every img resolves, og:image exists, links return 200, wordCount within 5% | `scripts/blog_preflight.py --gate 5` | Hero image ladder: Banana MCP, direct Gemini API, premium stock (Unsplash, Pexels, Pixabay), Openverse public API. First available wins. Block-and-iterate up to 3 times on any gate failure before escalating to the user. Full spec: [`skills/blog/references/blog-delivery-contract.md`](skills/blog/references/blog-delivery-contract.md). ## Architecture <p align="center"> <img src="assets/diagrams/01-architecture-B.svg" alt="claude-blog system architecture: left-to-right pipeline from user command through orchestrator routing, sub-skill execution, and agent dispatch to the 5-gate delivery contract before reaching the user" width="100%"> </p> claude-blog ships as one orchestrator plus 29 sub-skills, 5 agents, 21 references, 12 templates, and 9 root-level scripts. The orchestrator routes user commands to sub-skills, which spawn agents and call scripts via Bash. | Layer | Count | Where | |---|---:|---| | Sub-skills (user-invokable) | 29 | `skills/blog-*/SKILL.md` | | Sub-skills (internal) | 1 | `skills/blog-chart/SKILL.md` | | Specialized agents | 5 | `agents/blog-*.md` | | On-demand references | 21 | `skills/blog/references/*.md` | | Content templates | 12 | `skills/blog/templates/*.md` | | Root-level Python scripts | 9 | `scripts/*.py` | | Tests | 160 | `tests/test_*.py` | Full directory tree, data flow diagrams, scoring methodology, and extension points: [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md). ## Requirements - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI installed and configured. - Python 3.11+ (for quality scoring, the 5-gate delivery contract runners, and lint). - Optional: `pip install -r requirements.txt` for advanced analysis (readability scoring, schema detection). ### Quality gates (CI-enforced on every PR) 1. **pytest**: 160 tests across security, behavioral, regression, and delivery-contract suites. 2. **Plugin validation**: `claude plugin validate .` plus hand-rolled JSON/regex checks. 3. **Stale-path lint**: catches drift in `references/` and `templates/` cross-references. 4. **Prose hygiene**: `scripts/lint_prose.py` (fence-aware, backtick-aware) enforces the CONTRIBUTING.md no-em-dash, no-en-dash, no-` -- ` rule. 5. **Version coherence**: `tests/test_version_coherence.py` asserts `pyproject.toml`, `plugin.json`, `CITATION.cff`, and `skills/blog/SKILL.md` frontmatter all match. 6. **Command coherence**: `tests/test_command_coherence.py` asserts `skills/blog/SKILL.md` and `docs/COMMANDS.md` declare the same command set. Run locally before pushing: ```bash python -m pytest tests/ python3 scripts/lint_prose.py claude plugin validate . ``` ## Frequently Asked Questions ### What is claude-blog? claude-blog is a Claude Code skill suite for writing, optimizing, and auditing blog content. It runs 30 sub-skills and 5 agents through a 5-gate delivery contract so that every article meets a 90/100 quality bar before it reaches you. ### How is claude-blog different from prompting Claude or ChatGPT directly? Direct prompting gives you one draft from one prompt. claude-blog gives you a structured pipeline: research with sourced statistics, outline approval, draft generation, multi-pass quality scoring, AI-content detection, fact verification, schema injection, and a blocking review that iterates up to 3 times before delivery. The skill enforces what a senior editor would otherwise do manually. ### Do I need an AI Marketing Hub Pro membership to use claude-blog? No. The public open-source version at [`AgriciDaniel/claude-blog`](https://github.com/AgriciDaniel/claude-blog) is MIT-licensed and free for anyone with Claude Code. The private mirror at `AI-Marketing-Hub/claude-blog` is for Pro members who want early access to in-development features and direct collaboration with the community. ### What blog platforms does claude-blog support? Next.js MDX, Astro, Hugo, Jekyll, WordPress, Ghost, 11ty, Gatsby, and static HTML. The orchestrator auto-detects the platform from project signals and adjusts frontmatter, image embedding, and schema injection accordingly. ### Does claude-blog hallucinate statistics? No. Every cited statistic flows through `/blog factcheck`, which fetches the source URL and scores the claim confidence (exact match, paraphrase, not found). The `blog-reviewer` agent blocks publication if a citation cannot be verified or if AI-content detection flags the prose as machine-generated. ### What is the 5-gate Blog Delivery Contract? A code-enforced pre-presentation pipeline that runs on every draft: Capability Discovery, Format Completeness, Visual Verification at 3 viewport widths, Content Review (BLOCKING; score 90+ and zero P0), and Asset + Link Integrity. The orchestrator iterates the writer up to 3 times on any gate failure before escalating to you. Full spec in [`skills/blog/references/blog-delivery-contract.md`](skills/blog/references/blog-delivery-contract.md). ### Can I use claude-blog in multiple languages? Yes. `/blog multilingual <topic> --languages en,de,fr,es,ja` writes the post, translates it preserving frontmatter and schema, runs cultural deep-adaptation per locale, and emits hreflang tags plus a CMS-ready language map in a single command. ### How do I cite claude-blog in academic work? See the [How to cite](#how-to-cite) section below or the [`CITATION.cff`](CITATION.cff) file in the repo root. GitHub surfaces the structured citation file via the "Cite this repository" button on the public mirror page. ### Is claude-blog secure to install? The installer ships only Python scripts and markdown files, never executes remote code beyond what `pip install -r requirements.txt` brings in, and is reviewed against the project [`SECURITY.md`](SECURITY.md) policy on every change. The clone-then-checkout-tag install flow lets you inspect `install.sh` before running it. See [`SECURITY.md`](SECURITY.md) for the full threat model. ## Roadmap <p align="center"> <img src="assets/diagrams/05-roadmap-A.svg" alt="claude-blog wave roadmap on a horizontal timeline: v1.6.0 foundation (Mar 2026), v1.7.0 FLOW framework (Apr 2026), v1.8.0 impeccable methodology (May 2026), v1.9.0 delivery contract (current, May 2026), v2.0.0 multi-CMS publishing (Q3 2026), v3.0.0 blog-as-code (Q1 2027)" width="100%"> </p> **v1.9.1 (next)** - Shared `_count_body_words(html)` function between `blog_render` and `blog_preflight` to close the v1.9.0 audit residual. - `generate_hero.py` exit-code semantics: non-zero on no-image-gen-path (currently returns JSON error with exit 0). - Iteration-loop coverage test verifying the orchestrator escalates after 3 reviewer BLOCKS, not 4. - Sweep remaining docs (CONTRIBUTORS, NOTICE, SECURITY, PRIVACY, TEMPLATES, TROUBLESHOOTING, MCP-INTEGRATION, DEMO) for any residual v1.x stratum drift. **v1.10 (vision)** - Live SERP-informed outline refinement via DataForSEO mid-write. - Eval harness measuring blog quality across configurations (BRAND.md presence, persona variant, multilingual mode). - Code-enforced iteration counter (currently orchestrator-instruction; promote to script-level). **v2.0 (long-term)** - Headless preview server integration: the 5-gate contract runs against a real domain preview instead of local HTML. - Per-platform CMS publishing connectors (WordPress, Ghost, Sanity) with idempotent re-publish on rewrite. - Real-time AI-citation tracking dashboard (which posts get cited by ChatGPT, Perplexity, AI Overviews; visibility heatmap). Open an issue with the `roadmap` label if you want to propose or vote on something. ## Uninstall Unix/macOS: ```bash chmod +x uninstall.sh && ./uninstall.sh ``` Windows (PowerShell): ```powershell .\uninstall.ps1 ``` ## Integration Chart generation and YouTube video embedding are built-in. Google API data requires a free API key (see `/blog google setup`). **Optional companion skills** (deeper analysis of published pages): | Skill | Integration | |-------|-------------| | `/seo` | Deep SEO analysis of published blog pages | | `/seo-schema` | Schema markup validation and generation | | `/seo-geo` | AI citation optimization audit | | `/seo-google` | Google API data (shared config with blog-google) | ## Documentation Detailed documentation is in [`docs/`](docs/): - [Installation Guide](docs/INSTALLATION.md): Unix, macOS, Windows, manual install. - [Command Reference](docs/COMMANDS.md): Full command reference with examples. - [Architecture](docs/ARCHITECTURE.md): System design and component overview. - [Publishing Workflow](docs/PUBLISHING.md): Private-to-public release flow (Pro maintainers). - [Templates](docs/TEMPLATES.md): Template reference and customization. - [Troubleshooting](docs/TROUBLESHOOTING.md): Common issues and fixes. - [MCP Integration](docs/MCP-INTEGRATION.md): Optional MCP server setup. ## How to cite If you use claude-blog in research or production, please cite the project: ```bibtex @software{Agrici_claude_blog_2026, author = {Agrici, Daniel}, title = {claude-blog: AI Blog Writing and SEO Optimization Skill for Claude Code}, year = {2026}, url = {https://github.com/AgriciDaniel/claude-blog}, version = {1.9.0}, license = {MIT} } ``` GitHub also surfaces the structured [`CITATION.cff`](CITATION.cff) file via "Cite this repository" on the public mirror page. ## Security & Code of Conduct - **Security policy + threat model**: [`SECURITY.md`](SECURITY.md). v1.8.x hardening pass closed every known finding; v1.9.0 adds XSS-safe JSON-LD, O_NOFOLLOW symlink refusal, and frontmatter validation, all mutation-test verified. To report a vulnerability privately, follow the disclosure procedure in [`SECURITY.md`](SECURITY.md). - **Code of Conduct**: [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md). Contributor Covenant. Be excellent to each other. ## Contributing Contributions welcome. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for guidelines. Before opening a PR: 1. Run `python -m pytest tests/` (all 160 must pass). 2. Run `python3 scripts/lint_prose.py --root .` (zero violations). 3. Run `claude plugin validate .` (must pass). 4. Bump versions coherently if you touch user-visible counts or behavior (see [`docs/PUBLISHING.md`](docs/PUBLISHING.md)). ## License MIT License. See [`LICENSE`](LICENSE) for details. ## Related projects - **[Rankenstein](https://rankenstein.pro)**: GUI-based content publishing workflow; research to publish in one platform. - **[FLOW framework](https://github.com/AgriciDaniel/flow)**: Evidence-led Find, Optimize, Win prompts (CC BY 4.0). Integrated as a sub-skill via `/blog flow`. - **[Claude Ads](https://github.com/AgriciDaniel/claude-ads)** and **[Claude SEO](https://github.com/AgriciDaniel/claude-seo)**: sibling skills sharing the same brand kit (banner + diagrams generated with the brand-orange palette). - **[AI Marketing Hub](https://www.skool.com/ai-marketing-hub)**: Free community, 2,800+ members. Pro tier at [`ai-marketing-hub-pro`](https://www.skool.com/ai-marketing-hub-pro) hosts this skill's private mirror. ## Star history <a href="https://star-history.com/#AgriciDaniel/claude-blog&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=AgriciDaniel/claude-blog&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=AgriciDaniel/claude-blog&type=Date" /> <img alt="Star history of AgriciDaniel/claude-blog on GitHub" src="https://api.star-history.com/svg?repos=AgriciDaniel/claude-blog&type=Date" /> </picture> </a> If claude-blog saves you time, a star on the [public repo](https://github.com/AgriciDaniel/claude-blog) is the easiest way to say thanks (and helps other content folks find it). ## Author Built by [Daniel Agrici](https://agricidaniel.com/about), AI Workflow Architect, with Claude Code. - [Blog](https://agricidaniel.com/blog): Deep dives on AI marketing automation. - [YouTube](https://www.youtube.com/@AgriciDaniel): Tutorials and demos. - [All open-source tools](https://github.com/AgriciDaniel): Other Claude Code skills. - [AI Marketing Hub](https://www.skool.com/ai-marketing-hub): Free community for AI-powered marketing.

AI Tools Email Marketing
1K Github Stars
codex-seo
Open Source

codex-seo

<p align="center"> <img src="screenshots/cover-image.webp" alt="Codex SEO: SEO audit skill suite for Codex" width="100%"> </p> <h2 align="center"> <a href="https://www.youtube.com/watch?v=39FE6_oRcYY">Watch on YouTube</a> </h2> # Codex SEO - SEO Audit Skill Suite for Codex Codex-first SEO analysis suite with 1 orchestrator skill, 26 specialist workflows, 24 TOML agent profiles, MCP/API extensions, deterministic headless runners, and premium audit report generation. [![CI](https://github.com/AgriciDaniel/codex-seo/actions/workflows/runners-ci.yml/badge.svg)](https://github.com/AgriciDaniel/codex-seo/actions/workflows/runners-ci.yml) [![Release](https://img.shields.io/github/v/release/AgriciDaniel/codex-seo?label=Release)](https://github.com/AgriciDaniel/codex-seo/releases) [![Codex Skill](https://img.shields.io/badge/Codex-Skill_Suite-blue)](https://github.com/openai/codex) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.10%2B-blue)](pyproject.toml) [![Workflows](https://img.shields.io/badge/SEO_Workflows-26-orange)](docs/COMMANDS.md) Codex SEO is a Codex-native port of [`AgriciDaniel/claude-seo`](https://github.com/AgriciDaniel/claude-seo), synchronized to upstream `main` at `a9cf338` and adapted for Codex skills, Codex plugins, TOML agents, shared cache artifacts, and repeatable local/API execution. It covers technical SEO, on-page analysis, content quality, E-E-A-T, schema markup, image optimization, sitemap architecture, Core Web Vitals, GEO/AEO for AI search, backlinks, local SEO, maps intelligence, Google APIs, semantic clustering, SXO, drift monitoring, e-commerce SEO, hreflang, FLOW prompts, DataForSEO, Firecrawl, and Gemini/nanobanana image workflows. ## Contents - [Status](#status) - [Install](#install) - [Quick Start](#quick-start) - [Visual Overview](#visual-overview) - [Commands](#commands) - [Features](#features) - [Extensions](#extensions) - [Headless/API Usage](#headlessapi-usage) - [Architecture](#architecture) - [Verification](#verification) - [Requirements](#requirements) - [Credentials And Cache](#credentials-and-cache) - [Security](#security) - [Uninstall](#uninstall) - [Contributing](#contributing) - [Related Projects](#related-projects) - [Credits](#credits) - [Attribution](#attribution) ## Status - Repository visibility: public. - Current release: [`v1.9.6-codex.5`](https://github.com/AgriciDaniel/codex-seo/releases/tag/v1.9.6-codex.5). - Installer default ref: `v1.9.6-codex.5`. - Latest local validation: 52 tests passing, full installed smoke suite passing, demo readiness passing. - Runtime credentials stay outside the repo under Codex/local config paths. - Discovery topics: `codex`, `codex-cli`, `codex-skills`, `seo`, `ai-seo`, `ai-search`, `technical-seo`, `generative-engine-optimization`, `core-web-vitals`, `schema-markup`, `local-seo`, `ecommerce-seo`, `content-strategy`, `google-search-console`, `dataforseo`, `mcp`, `python`, `automation`, `marketing-automation`, `open-source`. ## Install ### One-Line Install ```bash curl -fsSL https://raw.githubusercontent.com/AgriciDaniel/codex-seo/v1.9.6-codex.5/install.sh | bash ``` Windows: ```powershell irm https://raw.githubusercontent.com/AgriciDaniel/codex-seo/v1.9.6-codex.5/install.ps1 | iex ``` ### Review Before Installing ```bash git clone https://github.com/AgriciDaniel/codex-seo.git cd codex-seo bash install.sh ``` Windows: ```powershell git clone https://github.com/AgriciDaniel/codex-seo.git cd codex-seo powershell -ExecutionPolicy Bypass -File .\install.ps1 ``` The installer copies the skill suite into `~/.codex/skills/`, installs TOML agents into `~/.codex/agents/`, creates a Python virtualenv at `~/.codex/skills/seo/.venv/`, installs core runtime dependencies, attempts optional capability groups, and verifies the runtime. ### Installer Overrides ```bash CODEX_HOME=~/.codex \ CODEX_SEO_REPO=https://github.com/AgriciDaniel/codex-seo \ CODEX_SEO_REF=v1.9.6-codex.5 \ bash install.sh ``` | Variable | Purpose | |---|---| | `CODEX_HOME` | Alternate Codex home. Defaults to `~/.codex`. | | `CODEX_SEO_REPO` | Git URL, fork URL, or local repository path. | | `CODEX_SEO_REF` | Branch, tag, or commit. Defaults to `v1.9.6-codex.5`. | | `CODEX_SEO_SKIP_PLAYWRIGHT_BROWSER=1` | Skip Chromium install for visual/PDF workflows. | | `CODEX_SEO_PLAYWRIGHT_WITH_DEPS=1` | Ask Playwright to install system dependencies where supported. | ## Quick Start Restart Codex after installation. Then ask naturally; a `/seo` command is not required: ```text Do a full SEO check on https://example.com following best practices. ``` ```text Review this page for schema, Core Web Vitals, image SEO, and AI search readiness. ``` ```text Create an SEO strategy and content roadmap for a local dental clinic. ``` Command-style prompts also work: ```text /seo audit https://example.com /seo technical https://example.com /seo schema https://example.com /seo dataforseo serp "best seo tools" ``` ## Visual Overview Codex SEO is designed as a Codex-first routing layer: the user can ask naturally, the orchestrator selects the right specialist workflow, and deterministic runners write repeatable artifacts instead of relying on invisible chat-only output. ```mermaid %%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%% flowchart LR user["User prompt<br/>natural language or /seo"] --> orchestrator["skills/seo/SKILL.md<br/>main orchestrator"] orchestrator --> cache[".seo-cache<br/>shared evidence"] orchestrator --> skills["26 specialist<br/>SEO workflows"] skills --> agents["24 TOML agents<br/>parallel analysis slices"] skills --> scripts["scripts/<br/>deterministic runners"] scripts --> output["output/<br/>Markdown, JSON, HTML, PDF"] cache --> skills class user,orchestrator accent class cache,scripts data class output output classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px ``` ## Commands | Prompt | Purpose | |---|---| | `/seo audit <url>` | Full site audit with specialist routing and premium report support | | `/seo page <url>` | Deep single-page SEO analysis | | `/seo technical <url>` | Crawlability, indexability, security, JavaScript, CWV | | `/seo content <url>` | E-E-A-T, helpfulness, readability, AI citation readiness | | `/seo schema <url>` | Structured data detection, validation, and JSON-LD generation | | `/seo images <url>` | Alt text, image weight, formats, metadata, image SERP opportunities | | `/seo sitemap <url>` | XML sitemap discovery, quality gates, generation guidance | | `/seo geo <url>` | AI Overviews, ChatGPT, Perplexity, llms.txt, citability | | `/seo performance <url>` | Core Web Vitals, Lighthouse-oriented performance signals | | `/seo visual <url>` | Screenshots, mobile rendering, above-the-fold analysis | | `/seo plan <business-type>` | Strategic SEO roadmap and content plan | | `/seo programmatic <url>` | Programmatic SEO risk and scale planning | | `/seo competitor-pages <url>` | Comparison and alternatives page opportunities | | `/seo hreflang <url>` | International SEO, locale validation, content parity | | `/seo local <url>` | Local SEO, GBP signals, NAP, citations, reviews | | `/seo maps <command>` | Geo-grid, GBP audit, review intelligence, local maps signals | | `/seo google <command>` | GSC, PageSpeed, CrUX, Indexing API, GA4 workflows | | `/seo backlinks <url>` | Backlink profile summary and source-tier detection | | `/seo cluster <keyword>` | SERP-based topic clustering and hub-spoke planning | | `/seo sxo <url>` | Search Experience Optimization, intent/page-type fit | | `/seo drift baseline <url>` | Capture an SEO baseline before changes | | `/seo drift compare <url>` | Compare current SEO signals against a baseline | | `/seo ecommerce <url>` | Product SEO, marketplace visibility, product schema | | `/seo flow <stage>` | FLOW framework prompts for Find, Leverage, Optimize, Win | | `/seo dataforseo <command>` | Live SERP, keyword, backlink, content, and AI visibility data | | `/seo firecrawl <command>` | JS-rendered crawling and site mapping via Firecrawl | | `/seo image-gen <use-case>` | OG images, hero images, product visuals, infographics | Full command details live in [docs/COMMANDS.md](docs/COMMANDS.md). ## Features ### Full Audit Pipeline - Detects site/business type. - Runs technical, content, schema, sitemap, performance, visual, GEO, image, and on-page analysis. - Adds conditional specialists for local, maps, Google APIs, backlinks, clusters, SXO, drift, and e-commerce. - Writes markdown reports, JSON summaries, cache artifacts, and optional premium HTML/PDF output. ```mermaid %%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%% flowchart TD request["Audit request"] --> detect["Detect site type<br/>business model and context"] detect --> core["Core audit specialists"] core --> technical["Technical"] core --> content["Content"] core --> schema["Schema"] core --> sitemap["Sitemap"] core --> geo["GEO / AI search"] core --> images["Images"] core --> performance["Performance"] core --> visual["Visual"] detect --> conditional["Conditional specialists"] conditional --> local["Local / Maps"] conditional --> backlinks["Backlinks"] conditional --> google["Google APIs"] conditional --> ecommerce["E-commerce"] conditional --> drift["Drift"] technical --> report["Unified SEO report"] content --> report schema --> report sitemap --> report geo --> report images --> report performance --> report visual --> report local --> report backlinks --> report google --> report ecommerce --> report drift --> report report --> artifacts["SUMMARY.json<br/>FULL-AUDIT-REPORT.md<br/>ACTION-PLAN.md<br/>optional HTML/PDF"] class request,detect accent class core,conditional data class report,artifacts output classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px ``` ### Technical SEO - Robots.txt, sitemap discovery, canonical checks, indexability, URL hygiene. - Security headers, JavaScript rendering risk, mobile basics, IndexNow. - Core Web Vitals with INP, LCP, CLS, FCP, TTFB, and PageSpeed/CrUX integrations where available. ### Content, GEO, And SXO - E-E-A-T and helpful content signals. - AI citation readiness, answer-first formatting, entity clarity, llms.txt support. - Search experience analysis: page type, user stories, persona fit, intent mismatch. ### Structured Data - JSON-LD extraction and validation. - Schema recommendations for Organization, LocalBusiness, Product, Article, FAQ, Breadcrumb, and related types. - Generated schema artifacts for downstream use. ### Local, Maps, And E-Commerce SEO - Local SEO signals, GBP readiness, citations, reviews, NAP consistency. - Maps intelligence via free sources and DataForSEO when configured. - Product schema, marketplace endpoints, merchant visibility, and e-commerce template checks. ### Drift Monitoring - Capture SEO-critical baselines. - Compare deployments or page changes. - Track title, meta, headings, canonical, schema, robots, links, and content deltas. ```mermaid %%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","actorBkg":"#07131c","actorBorder":"#00d7e6","actorTextColor":"#f5fbff","actorLineColor":"#21e6c1","signalColor":"#21e6c1","signalTextColor":"#f5fbff","labelBoxBkgColor":"#10151a","labelTextColor":"#f5fbff","noteBkgColor":"#10151a","noteTextColor":"#f5fbff","activationBkgColor":"#06222a","activationBorderColor":"#ff9f1c","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%% sequenceDiagram participant Before as Baseline participant Runner as Drift runner participant After as Current page participant Cache as .seo-cache participant Report as Drift report Before->>Runner: Capture titles, metas, canonicals, schema, headings Runner->>Cache: Store baseline snapshot After->>Runner: Re-check current SEO signals Cache->>Runner: Load prior snapshot Runner->>Report: Write changed, missing, and regressed signals ``` ### Deterministic Runners - `scripts/run_skill_workflow.py` standardizes output for every user-invokable workflow. - `scripts/run_api_smoke_suite.py` runs all supported workflows in one pass. - Setup-required workflows return structured fallback results instead of pretending live data exists. ## Extensions | Extension | Skill | Setup | Notes | |---|---|---|---| | DataForSEO | `seo-dataforseo`, `seo-maps`, `seo-ecommerce`, `seo-cluster` | `./extensions/dataforseo/install.sh` | Live SERP, keyword, backlinks, on-page, content, business data, AI visibility | | Google APIs | `seo-google`, `seo-performance` | `python scripts/google_auth.py --setup` | PageSpeed, CrUX, GSC, URL Inspection, Indexing API, GA4 | | Firecrawl | `seo-firecrawl` | `./extensions/firecrawl/install.sh` | JS-rendered crawl, scrape, site map | | Banana / Gemini | `seo-image-gen` | `./extensions/banana/install.sh` | AI image generation through `nanobanana-mcp` | Optional integrations enrich the same workflow surface. If credentials or MCP servers are missing, wrappers return `setup_required` or `mcp_configured` states with no fabricated live data. ```mermaid %%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%% flowchart LR codex["Codex SEO workflows"] --> local["Local evidence<br/>HTML, robots, sitemaps, screenshots"] codex --> dfs["DataForSEO MCP<br/>SERP, keywords, backlinks, maps"] codex --> google["Google APIs<br/>GSC, PageSpeed, CrUX, GA4"] codex --> firecrawl["Firecrawl MCP<br/>JS crawl and site maps"] codex --> banana["Gemini / nanobanana<br/>SEO image assets"] local --> artifacts["Reports and .seo-cache"] dfs --> artifacts google --> artifacts firecrawl --> artifacts banana --> artifacts class codex accent class local,dfs,google,firecrawl,banana data class artifacts output classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px ``` Demo readiness: ```bash python scripts/demo_readiness.py --target https://example.com --live-apis --workflows --json ``` One low-depth DataForSEO proof: ```bash python scripts/demo_readiness.py --target https://example.com --live-apis --live-serp --serp-keyword "seo tools" --json ``` ## Headless/API Usage Run a single workflow: ```bash python scripts/run_skill_workflow.py --skill seo-technical https://example.com --json python scripts/run_skill_workflow.py --skill seo-google https://example.com --json python scripts/run_skill_workflow.py --skill seo-dataforseo https://example.com --json ``` Run the full smoke suite: ```bash python scripts/run_api_smoke_suite.py https://example.com --json ``` Verify environment: ```bash python scripts/verify_environment.py --target https://example.com --json ``` Bootstrap a clean runtime: ```bash python scripts/bootstrap_environment.py --venv .venv --json ``` Artifacts are written to `output/`. Shared project cache is written to `.seo-cache/`. Both are ignored by git. ```mermaid %%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%% flowchart LR cli["run_skill_workflow.py<br/>single workflow"] --> json["JSON result"] cli --> markdown["Markdown report"] cli --> cacheWrite[".seo-cache update"] suite["run_api_smoke_suite.py<br/>all workflows"] --> json suite --> outputRoot["output/api-smoke-*"] verify["verify_environment.py"] --> readiness["ready / setup_required<br/>capability status"] markdown --> outputRoot json --> outputRoot cacheWrite --> cache[".seo-cache"] class cli,suite,verify accent class cacheWrite,readiness data class json,markdown,outputRoot,cache output classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px ``` ## Architecture The repository separates Codex-facing instructions, deterministic runtime code, optional provider setup, and validation contracts. That keeps the skill system usable in chat, installable as a suite, and testable from CI/API workflows. ```mermaid %%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%% flowchart TB manifest[".codex-plugin/plugin.json"] --> skillsRoot["skills/"] skillsRoot --> orchestrator["seo/SKILL.md<br/>routing and orchestration"] skillsRoot --> specialists["seo-*/SKILL.md<br/>specialist workflows"] agentsDir["agents/seo-*.toml"] --> specialists scriptsDir["scripts/<br/>deterministic runners"] --> specialists extensionsDir["extensions/<br/>optional MCP setup"] --> specialists references["skills/seo/references/<br/>thresholds and shared contracts"] --> specialists specialists --> cacheDir[".seo-cache/<br/>cross-skill memory"] specialists --> outputDir["output/<br/>reports and artifacts"] testsDir["tests/<br/>contract and smoke coverage"] --> manifest testsDir --> skillsRoot testsDir --> scriptsDir class manifest,orchestrator accent class skillsRoot,specialists,agentsDir,scriptsDir,extensionsDir,references,testsDir data class cacheDir,outputDir output classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px ``` ```text codex-seo/ ├── .codex-plugin/plugin.json # Codex plugin manifest ├── skills/ │ ├── seo/SKILL.md # Main orchestrator │ └── seo-*/SKILL.md # 26 specialist workflows ├── agents/ # 24 Codex TOML agent profiles ├── scripts/ # Deterministic runners and API helpers ├── extensions/ │ ├── dataforseo/ # DataForSEO MCP setup and docs │ ├── firecrawl/ # Firecrawl MCP setup and docs │ └── banana/ # Gemini/nanobanana image generation setup ├── hooks/ # Quality-gate hooks ├── schema/ # Schema.org templates ├── docs/ # Architecture, commands, installation, MCP, demo └── tests/ # Contract and workflow tests ``` Design principles: - `skills/` is the source of truth. - `skills/seo/SKILL.md` routes natural-language SEO requests. - TOML agents are Codex-native and mirror specialist workflows. - Runtime credentials stay in `~/.config/codex-seo/` or `~/.codex/settings.json`. - Legacy `claude-seo` config/cache paths are read only as migration fallback. More detail: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md). ## Verification Local release gate: ```bash python -m pytest tests/ bash -n install.sh uninstall.sh python -m compileall -q scripts hooks python scripts/run_api_smoke_suite.py https://example.com --json ``` PowerShell parse check: ```powershell $files = Get-ChildItem -Recurse -Filter *.ps1 foreach ($f in $files) { $tokens = $null $errs = $null [System.Management.Automation.Language.Parser]::ParseFile($f.FullName, [ref]$tokens, [ref]$errs) > $null if ($errs.Count) { $errs; exit 1 } } ``` Current GitHub CI runs: - dependency install - shell syntax checks - Python compile checks - `--help` checks for runner scripts - `python -m pytest tests/` - contract smoke checks for MCP-aware workflows ## Requirements - Codex CLI with local skills support - Python 3.10+ - Git - Optional: Playwright Chromium for screenshots and PDF reports - Optional: DataForSEO account for live SEO data - Optional: Google API credentials for PageSpeed/CrUX/GSC/GA4 - Optional: Firecrawl API key for JS-rendered crawling - Optional: Google AI API key for Gemini/nanobanana image generation ## Credentials And Cache Codex SEO writes new local credentials and state to Codex-specific paths: - `~/.codex/settings.json` for MCP server configuration - `~/.config/codex-seo/` for API configs and cost ledgers - `~/.cache/codex-seo/` for runtime caches - `.seo-cache/` inside the active project for cross-skill summaries Legacy `~/.config/claude-seo/` and `~/.cache/claude-seo/` paths are read only as migration fallback. Do not commit `.seo-cache/`, `output/`, `.mcp.json`, `.env`, OAuth tokens, service accounts, or provider keys. ## Security - URL-aware scripts block private, loopback, reserved, multicast, unspecified, and metadata hosts. - Credential setup writes outside tracked repo files. - Sensitive local settings are expected to use `0600` file permissions. - DataForSEO calls use cost guardrails through `scripts/dataforseo_costs.py`. - Report vulnerabilities through [SECURITY.md](SECURITY.md). ## Uninstall ```bash bash uninstall.sh ``` Windows: ```powershell powershell -ExecutionPolicy Bypass -File .\uninstall.ps1 ``` ## Contributing Use [CONTRIBUTING.md](CONTRIBUTING.md) for local setup and validation, [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for project standards, [SECURITY.md](SECURITY.md) for vulnerability reporting, and [CREDITS.md](CREDITS.md) for project credits. Agent-facing project context is also available in [llms.txt](llms.txt). ## Related Projects - [`claude-seo`](https://github.com/AgriciDaniel/claude-seo) - original Claude Code SEO skill suite - [`claude-blog`](https://github.com/AgriciDaniel/claude-blog) - blog creation and optimization skill ecosystem - [`claude-ads`](https://github.com/AgriciDaniel/claude-ads) - paid advertising audit skill suite - [`flow`](https://github.com/AgriciDaniel/flow) - evidence-led SEO framework for AI search - [`wp-mcp-ultimate`](https://github.com/AgriciDaniel/wp-mcp-ultimate) - WordPress MCP server ## Credits Special thanks to [avalonreset](https://github.com/avalonreset) for making the Codex conversion possible and for creating the initial Codex SEO version that this repository builds on. ## Attribution Original project and concept by [AgriciDaniel](https://github.com/AgriciDaniel) in [`claude-seo`](https://github.com/AgriciDaniel/claude-seo). This Codex port preserves upstream SEO capabilities and adapts the runtime for Codex skills, TOML agents, plugin discovery, cache sharing, MCP extension setup, and API-safe wrappers. Codex SEO is released under the MIT License. FLOW prompt references retain their upstream attribution and licensing notices where included.

AI Agents Workflow Automation SEO Tools
253 Github Stars
on-page-seo
Open Source

on-page-seo

# On-Page SEO Analyzer A comprehensive on-page SEO analysis tool that helps you audit and optimize your website's SEO performance. Analyze up to 500 pages at once with detailed insights on 74 SEO metrics. ![On-Page SEO Dashboard](docs/screenshot.png) ## How It Was Built [![Watch how it was built](https://img.youtube.com/vi/jRSx4q8AghU/maxresdefault.jpg)](https://youtu.be/jRSx4q8AghU) **[Watch the journey from n8n workflow to full app on YouTube](https://youtu.be/jRSx4q8AghU)** ## Features - **Page Discovery**: Automatically discover pages on your website using Firecrawl - **Comprehensive Analysis**: Analyze 74 SEO metrics per page using DataForSEO - **Core Web Vitals**: Track LCP, FID, and CLS scores - **Real-time Progress**: Watch your audit progress with live updates - **Export Results**: Download reports as CSV or JSON - **Dark Mode**: Full dark mode support ## Tech Stack **Frontend:** - React 19 with TypeScript - Vite for blazing fast builds - TanStack Router & React Query - Tailwind CSS with Shadcn/ui components - Recharts for data visualization **Backend:** - Node.js with Express - SQLite database (better-sqlite3) - TypeScript - Firecrawl API for page discovery - DataForSEO API for SEO analysis ## Prerequisites - Node.js 18+ - npm or yarn - [Firecrawl API Key](https://firecrawl.dev) - [DataForSEO Account](https://dataforseo.com) ## Quick Start ### 1. Clone the repository ```bash git clone https://github.com/AgriciDaniel/on-page-seo.git cd on-page-seo ``` ### 2. Install dependencies ```bash # Install all dependencies (root, client, and server) npm run install:all ``` ### 3. Configure environment ```bash cp .env.example .env ``` Edit `.env` with your settings, or configure API keys through the app's settings page. ### 4. Start development servers ```bash npm run dev ``` This starts both the client (http://localhost:3005) and server (http://localhost:3001). ## Scripts | Command | Description | |---------|-------------| | `npm run dev` | Start both client and server in development mode | | `npm run dev:client` | Start only the client | | `npm run dev:server` | Start only the server | | `npm run build` | Build both client and server for production | | `npm run start` | Start the production server | | `npm run install:all` | Install dependencies for root, client, and server | ## Project Structure ``` on-page-seo/ ├── client/ # React frontend │ ├── src/ │ │ ├── components/ # Reusable UI components │ │ ├── features/ # Feature-based modules │ │ ├── lib/ # API client and utilities │ │ ├── routes/ # TanStack Router routes │ │ └── types/ # TypeScript types │ └── ... ├── server/ # Express backend │ └── src/ │ ├── routes/ # API routes │ ├── services/ # Business logic │ └── db/ # Database layer ├── shared/ # Shared types │ └── types/ ├── data/ # SQLite database └── ... ``` ## API Endpoints | Method | Endpoint | Description | |--------|----------|-------------| | POST | `/api/audits` | Start a new SEO audit | | GET | `/api/audits` | List all audits | | GET | `/api/audits/:id` | Get audit details with results | | GET | `/api/audits/:id/progress` | SSE stream for real-time progress | | GET | `/api/audits/:id/export` | Export audit as CSV or JSON | | DELETE | `/api/audits/:id` | Delete an audit | | GET | `/api/settings` | Get API configuration status | | PUT | `/api/settings` | Update API credentials | ## Production Deployment ### Build for production ```bash npm run build ``` ### Start production server ```bash NODE_ENV=production npm run start ``` The server will serve the built client files and handle API requests on the same port. ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. --- > For a full publishing pipeline from analysis to published content, see [Rankenstein](https://rankenstein.pro). ## Author Built by [Agrici Daniel](https://agricidaniel.com/about) - AI Workflow Architect. - [Blog](https://agricidaniel.com/blog) - Deep dives on AI marketing automation - [AI Marketing Hub](https://www.skool.com/ai-marketing-hub) - Free community, 2,800+ members - [YouTube](https://www.youtube.com/@AgriciDaniel) - Tutorials and demos - [All open-source tools](https://github.com/AgriciDaniel)

AI Tools SEO Tools
109 Github Stars
claude-repurpose
Open Source

claude-repurpose

# Claude Repurpose ![Claude Repurpose](Claude-repurpose-cover.jpg) **Content Repurposing Engine for Claude Code** -- Turn 1 piece of content into 10+ platform-optimized posts in seconds. [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://code.claude.com) [![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org) --- ## What It Does Takes **any content** (YouTube video, blog post, podcast, local file) and generates **platform-native** outputs for: | Platform | Outputs | |----------|---------| | **Twitter/X** | Thread (8-12 tweets) + standalone tweets + poll | | **Threads** | Thread (5-10 posts) + standalone posts + image post | | **LinkedIn** | Post + PDF carousel script (10-12 slides) + poll | | **Instagram** | Carousel (7-10 slides) + caption + reel script | | **TikTok** | Video script (15-60s) + carousel/photo mode + stitch/duet concept | | **Pinterest** | 3-5 pin descriptions + idea pin script + board suggestions | | **Snapchat** | Story script (3-5 frames) + Spotlight script + AR concept | | **Facebook** | Post + poll + story script | | **YouTube Community** | Text post + image concept + poll | | **Skool** | Discussion + challenge prompt + poll | | **Discord** | Announcement + discussion thread + rich embed | | **Newsletter** | Excerpt + 3 subject lines + 3-email drip sequence | | **Reddit** | Discussion post + subreddit suggestions | | **Quora** | Answer (300-1000 words) + Space post + question suggestions | | **Medium** | Article (1500-3000 words) + tags + publication suggestions | | **WhatsApp** | Channel update + poll + content teaser | | **Telegram** | Channel post + deep dive + poll | | **Quote Graphics** | 5 quotable moments + AI image prompts | | **SEO Metadata** | Titles, descriptions, hashtags, keywords per platform | | **Calendar** | 7-day publishing schedule with optimal times | ## Why Not Just Cross-Post? Cross-posting the same text everywhere **kills engagement**. Each platform has different: - Character limits (Twitter: 280 vs LinkedIn: 3,000) - Algorithm preferences (Twitter rewards replies 27x, LinkedIn rewards saves 5x) - Audience expectations (LinkedIn: professional, Reddit: peer-to-peer, TikTok: entertaining) - Content formats (LinkedIn PDF carousels: 6.60% engagement, Instagram mixed-media: 2.33%) This skill **adapts your message** for each platform, not just reformats it. ## Install ```bash # One-liner curl -fsSL https://raw.githubusercontent.com/AgriciDaniel/claude-repurpose/main/install.sh | bash # Or clone and install git clone https://github.com/AgriciDaniel/claude-repurpose.git cd claude-repurpose && bash install.sh ``` **Optional**: Install [/banana](https://github.com/AgriciDaniel/claude-banana) for AI-generated quote cards and carousel cover images. ## Usage ```bash # Repurpose a blog post to all platforms /repurpose https://example.com/blog/my-article # Repurpose a YouTube video /repurpose https://youtube.com/watch?v=abc123 # Only specific platforms /repurpose https://example.com/post --platforms twitter,linkedin,instagram # Quick mode (top 3 platforms only) /repurpose https://example.com/post --brief # With AI-generated images (/banana required) /repurpose https://example.com/post --images # Override brand voice /repurpose https://example.com/post --voice witty # Just analyze content (no outputs) /repurpose analyze https://example.com/post # Generate publishing calendar from outputs /repurpose calendar ``` ## How It Works ``` Input (any content) | v Content Extraction YouTube -> transcript (auto-detect type) Blog URL -> article text Audio -> Whisper transcription Local file -> direct read | v Content Atomization Extract 5-15 reusable atoms: (key insights, quotes, stats, quotes, insights, statistics, arguments) questions, contrarian takes | v 6 Parallel Agents Social (Twitter+Threads+LinkedIn+Facebook) (simultaneous) Visual (Instagram+TikTok+Pinterest+Snapchat+Quotes) Longform (Newsletter+Email+Reddit+Quora) Community (YouTube+Skool+Discord) Broadcast (WhatsApp+Telegram+Medium) SEO (metadata across all) | v Output Directory ./repurposed/<timestamp>/ (30+ files organized twitter/, linkedin/, instagram/, by platform) facebook/, skool/, quotes/, etc. ``` ## Output Structure ``` ./repurposed/2026-03-31-1430/ ├── summary.md # Overview of all generated content ├── atoms.md # Extracted content atoms ├── twitter/ │ ├── thread.md # 8-12 tweet thread │ ├── standalone-tweet.md # Standalone tweets │ └── poll.md ├── linkedin/ │ ├── post.md │ ├── carousel.md # Slide-by-slide script │ └── poll.md ├── instagram/ │ ├── carousel.md # 7-10 slide script │ ├── caption.md │ └── reel-script.md ├── threads/ │ ├── thread.md # 5-10 post thread │ ├── standalone-posts.md # 3-5 standalone posts │ └── image-post.md # Image post concept ├── tiktok/ │ ├── video-script.md # 15-60s video script │ ├── carousel.md # Photo mode (2-10 slides) │ └── stitch-duet.md # Stitch/duet concept ├── pinterest/ │ ├── pins.md # 3-5 pin descriptions │ ├── idea-pin.md # Idea pin script (5-10 slides) │ └── boards.md # Board suggestions ├── snapchat/ │ ├── story-script.md # 3-5 frames (10s each) │ ├── spotlight-script.md # Up to 60s Spotlight │ └── ar-concept.md # AR lens concept ├── facebook/ │ ├── post.md │ ├── poll.md │ └── story.md ├── youtube-community/ │ ├── post.md │ ├── image-concept.md │ └── poll.md ├── skool/ │ ├── discussion.md │ ├── challenge.md │ └── poll.md ├── discord/ │ ├── announcement.md # Server announcement │ ├── thread-prompt.md # Discussion thread starter │ └── embed.md # Rich embed message ├── newsletter/ │ ├── newsletter.md # Newsletter excerpt │ ├── subject-lines.md │ └── email-sequence.md ├── reddit/ │ ├── post.md │ └── subreddits.md ├── quora/ │ ├── answer.md # 300-1000 word answer │ ├── space-post.md # Quora Space post │ └── questions.md # Question suggestions ├── medium/ │ ├── article.md # 1500-3000 word article │ ├── tags-publications.md # Tags + publication suggestions │ └── crosspost-note.md # Canonical URL handling ├── whatsapp/ │ ├── update.md # Channel update (100-300 chars) │ ├── poll.md # Channel poll │ └── teaser.md # Content teaser with link ├── telegram/ │ ├── post.md # Channel post (500-1000 chars) │ ├── deep-dive.md # Formatted deep dive │ └── poll.md # Poll with optional quiz mode ├── quotes/ │ ├── quotes.md │ └── banana-prompts.md ├── seo-metadata.md ├── calendar.md └── images/ # AI-generated (with --images) ``` ## Platform Intelligence (2026 Data) Built-in knowledge of each platform's current algorithm and best practices: | Platform | Key Insight | Source | |----------|------------|--------| | Twitter/X | Replies weighted 27x a like; threads get +63% impressions | X Algorithm Analysis 2026 | | LinkedIn | PDF carousels: 6.60% engagement (highest format); saves = 5x a like | LinkedIn Algorithm Feb 2026 | | Instagram | Mixed media carousels: 2.33% vs 1.80% image-only; "swipe left" = +10% | Instagram Benchmarks 2026 | | Facebook | 50% of feed from non-followed accounts; saves + DM shares most powerful | Facebook Algorithm 2026 | | YouTube | Polls = highest community engagement; 2-4 posts/week optimal | YouTube Community Guide 2026 | | Skool | 20-30% monthly active = healthy; content rotation required | Skool Best Practices 2026 | ## Image Generation (/banana) With [Claude Banana](https://github.com/AgriciDaniel/claude-banana) installed, the `--images` flag generates: - **Quote cards** (5): Minimalist designs with content's best quotes - **Carousel covers**: Bold title slides for Instagram and LinkedIn - **Hero images**: Topic-relevant visuals for social posts Without /banana, prompts are saved to `banana-prompts.md` for manual use. ## Requirements - Claude Code CLI - Python 3.10+ - **Optional**: yt-dlp (YouTube transcript extraction) - **Optional**: Whisper (audio transcription) - **Optional**: /banana (AI image generation) ## Architecture - **20 sub-skills** covering every platform - **6 parallel subagents** for maximum speed - **8 reference files** with platform specs, hook formulas, voice rules, and benchmarks - **3 Python scripts** for content extraction (article, transcript, audio) ## Ecosystem Part of the AgriciDaniel Claude Code skill family: | Skill | Purpose | |-------|---------| | [claude-seo](https://github.com/AgriciDaniel/claude-seo) | SEO analysis (19 skills, 12 agents) | | [claude-youtube](https://github.com/AgriciDaniel/claude-youtube) | YouTube creator tools | | [claude-ads](https://github.com/AgriciDaniel/claude-ads) | Ad campaign auditing (186+ checks) | | [claude-banana](https://github.com/AgriciDaniel/claude-banana) | AI image generation | | **claude-repurpose** | Content repurposing (this skill) | ## License MIT --- ## Author Built by [Agrici Daniel](https://agricidaniel.com/about) - AI Workflow Architect. - [Blog](https://agricidaniel.com/blog) - Deep dives on AI marketing automation - [AI Marketing Hub](https://www.skool.com/ai-marketing-hub) - Free community, 2,800+ members - [YouTube](https://www.youtube.com/@AgriciDaniel) - Tutorials and demos - [All open-source tools](https://github.com/AgriciDaniel)

AI Tools SEO Tools
48 Github Stars