AI Citability Scorer
zubair-trabzada/geo-seo-claude
Scores how likely AI assistants are to quote passages from a web page and suggests rewrites that make those passages easier to extract.
Scores page content for E-E-A-T, readability, thinness, and AI-citation readiness, then cleans up AI-typical phrasing in a draft.
$ npx skills add AgriciDaniel/claude-seo --skill seo-content -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-content --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-content .claude/skills/seo-content && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "seo-content" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-content into .claude/skills/seo-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-content", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-contentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add AgriciDaniel/claude-seo --skill seo-content -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-content --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/seo-content .agents/skills/seo-content && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "seo-content" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-content into .agents/skills/seo-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-content", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AgriciDaniel/claude-seo --skill seo-content -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-content --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/seo-content .cursor/skills/seo-content && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "seo-content" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-content into .cursor/skills/seo-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-content", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/AgriciDaniel/claude-seo.git --path skills/seo-content--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add AgriciDaniel/claude-seo --skill seo-content -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-content --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/seo-content .gemini/skills/seo-content && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "seo-content" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-content into .gemini/skills/seo-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-content", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install AgriciDaniel/claude-seo seo-contentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add AgriciDaniel/claude-seo --skill seo-content -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/seo-content .github/skills/seo-content && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "seo-content" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-content into .github/skills/seo-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-content", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AgriciDaniel/claude-seo --skill seo-content -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AgriciDaniel/claude-seo seo-content --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/seo-content .opencode/skills/seo-content && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "seo-content" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-content into .opencode/skills/seo-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-content", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
seo-contentScores page content for E-E-A-T, readability, thinness, and AI-citation readiness, then cleans up AI-typical phrasing in a draft.
Google's own who, how, why heuristic from its helpful-content guide opens every audit: who created the content and whether a credentialed byline exists, how it was made including process disclosure for AI-assisted work, and why it exists, to help people rather than to attract clicks. An E-E-A-T scoring pass follows across experience, expertise, authoritativeness, and trustworthiness, backed by reference files for the full framework and its score bands, plus a word-count check against minimums that vary by page type.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4b99de2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
developers.google.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
SEO Content Quality Analysis loads about 3.2k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 1,509 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from AgriciDaniel/claude-seo at commit 4b99de2, republished under its MIT licence (© AgriciDaniel). 1,509 words, ~3,179 tokens.
.claude/skills/seo-content/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Before scoring E-E-A-T sub-factors, every page audit should pass Google's own three-question heuristic from the helpful-content guide:
| Question | What to look for |
|---|---|
| Who created it? | Visible byline, author bio page, professional credentials. Required where readers expect it; non-negotiable for YMYL. |
| How was it created? | Process disclosure where readers would reasonably ask, especially for AI-assisted content. Original research / first-hand evidence / lived experience. |
| Why does it exist? | "To help people" rather than "to attract search clicks." Watch for niche entry without expertise, content churn for freshness signals, content written to a word-count target. |
Primary source: https://developers.google.com/search/docs/fundamentals/creating-helpful-content
When all three answers are weak, the page is at risk under the core ranking system's helpfulness signals (formerly the standalone Helpful Content System, merged into core during the March 2024 update).
Read ${CLAUDE_PLUGIN_ROOT}/skills/seo/references/eeat-framework.md for full criteria and ${CLAUDE_PLUGIN_ROOT}/skills/seo/references/eeat-scoring-guide.md for score bands.
Compare against page type minimums:
| Page Type | Minimum |
|---|---|
| Homepage | 500 |
| Service page | 800 |
| Blog post | 1,500 |
| Product page | 300+ (400+ for complex products) |
| Location page | 500-600 |
Important: These are topical coverage floors, not targets. Google has confirmed word count is NOT a direct ranking factor. The goal is comprehensive topical coverage; a 500-word page that thoroughly answers the query will outrank a 2,000-word page that doesn't. Use these as guidelines for adequate coverage depth, not rigid requirements.
Note: Flesch Reading Ease is a useful proxy for content accessibility but is NOT a direct Google ranking factor. John Mueller has confirmed Google does not use basic readability scores for ranking. Yoast deprioritized Flesch scores in v19.3. Use readability analysis as a content quality indicator, not as an SEO metric to optimize directly.
Google's raters assess low-quality, scaled, copied, or AI-generated main content patterns rather than AI authorship as a standalone issue.
Helpful Content System (March 2024): The Helpful Content System was merged into Google's core ranking algorithm during the March 2024 core update. It no longer operates as a standalone classifier. Helpfulness signals are now weighted within every core update. The same principles apply (people-first content, demonstrating E-E-A-T, satisfying user intent), but enforcement is continuous rather than through separate HCU updates. Google now also documents continuous, smaller unannounced core updates between major ones (changelog 2025-12-09).
Gen-AI optimization is SEO (Google docs, published 2026-05-15, last updated 2026-07-10): the official "optimizing for generative AI features" guide states you do not need new AI files, markup, Markdown, content chunking, or AI-specific rewrites; chasing inauthentic "mentions" is unhelpful. AEO/GEO is rebranded SEO rooted in core ranking/quality.
Honest scoping (Google docs, 2026-06-05): per "Using third-party SEO tools, services, and advice," no tool guarantees rankings and third-party tools have no access to Google's internal ranking data. claude-seo's scores are heuristics, not Google-internal signals, so say so in reports, and validate GEO/AEO findings against Google's official guidance (Search Console is the first-party source).
For "humanize this", "remove watermarks", or "clean up this draft", run the bundled cleanup script on the user's own content:
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run content_humanize.py draft.md -o cleaned.md
cat draft.md | "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run content_humanize.py --jsonTwo deterministic passes, both logged in the JSON output:
invisible_removed): strips zero-width
codepoints, directional marks/overrides, Unicode tag characters (hidden
text smuggling), and normalizes exotic spaces. Emoji sequences (ZWJ,
variation selectors next to emoji) are preserved.changes): conservative 1:1 swaps from the
replacement table ("delve into" → "explore", etc.). Nothing is
paraphrased or added.Scope honesty: statistical watermarks (SynthID-style token-probability schemes) live in word choice, not codepoints. No tool reliably detects or removes them; do not claim otherwise in reports. This cleanup is for editing the user's own drafts, not for laundering third-party content; decline requests to strip provenance from content the user doesn't own.
Optimize for AI search engines (ChatGPT, Perplexity, Google AI Overviews):
Google AI Mode is Google's conversational AI search surface. Google upgrades the AI Mode model often (Gemini 3.5 Flash became the default on 2026-05-19, and newer Flash models have shipped since, per blog.google); never tie advice to a model version. Treat third-party AI Mode usage, citation, and link-share figures as methodology-dependent unless primary-sourced, and optimize for both AI Mode and AI Overviews (see the seo-geo skill).
Key optimization strategies for AI citation:
Generative Engine Optimization (GEO):
Per Google's AI optimization guide, "optimizing for generative AI search is optimizing for the search experience, and thus still SEO": AI Overviews and AI Mode are grounded in the same ranking and quality systems as classic Search. The optimization signals that matter (quotability, attribution, heading hierarchy, freshness) are SEO fundamentals applied to AI-search surfaces, not a separate discipline. Cross-reference the seo-geo skill for detailed workflows; both surfaces share the primary-source synthesis in ${CLAUDE_PLUGIN_ROOT}/skills/seo-geo/references/google-ai-optimization-guide.md.
Before attributing a traffic or ranking change to anything, list the confirmed Google updates in that window from the primary-source ledger:
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run seo_updates.py --since <yyyy-mm> --jsonEvery entry cites a Google-owned URL. If freshness.stale is true, say the
ledger may miss recent updates and check status.search.google.com before
drawing conclusions. A date overlap is a hypothesis, never proof of cause.
| Factor | Score | Key Signals |
|---|---|---|
| Experience | XX/20 | ... |
| Expertise | XX/25 | ... |
| Authoritativeness | XX/25 | ... |
| Trustworthiness | XX/30 | ... |
Weights are this skill's own scoring model, ordered to reflect Google's stated hierarchy: Trust is most important (30), then Expertise/ Authoritativeness (25 each), then Experience (20); maxima sum to 100. Google publishes no numeric E-E-A-T weights (only that trust is most important), so treat the split as our internal model. Do not use an equal 25/25/25/25 split (it contradicts Google's "trust is most important").
If DataForSEO MCP tools are available, use kw_data_google_ads_search_volume for real keyword volume data, dataforseo_labs_bulk_keyword_difficulty for difficulty scores, dataforseo_labs_search_intent for intent classification, and content_analysis_summary for content quality analysis.
| Scenario | Action |
|---|---|
| URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess page content. Suggest the user verify the URL and try again. |
| Content behind paywall (402/403, login wall) | Report that the content is not publicly accessible. Analyze only the visible portion (meta tags, headers) and note the limitation. |
| Thin content (fewer than 100 words retrievable) | Report the findings as-is rather than guessing. Flag the page as potentially JavaScript-rendered or gated, and suggest the user provide the full text directly. |
For prompt-guided content optimization, use /seo flow optimize <url> and /seo flow win <url>: FLOW's optimize and win prompts provide structured E-E-A-T improvement and BOFU conversion workflows.
© AgriciDaniel, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/seo-content of AgriciDaniel/claude-seo.
Open the folder on GitHubat commit 4b99de2
SEO Content Quality Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| SEO Content Quality Analysis this skillAgriciDaniel/claude-seo | 19k | — | ~3.2k | Automated safety check: Pass | MIT | |
| AI Citability Scorerzubair-trabzada/geo-seo-claude | 11k | 2 repos | ~3.7k | Automated safety check: Notes | MIT | |
| GEO Platform Optimizerzubair-trabzada/geo-seo-claude | 11k | 2 repos | ~4.7k | Automated safety check: Notes | MIT | |
| SEO Content Auditseranking/seo-skills | 160 | — | ~3k | Automated safety check: Pass | MIT | |
| SEO ContentAgriciDaniel/codex-seo | 797 | 5 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Blog OutlineAgriciDaniel/claude-blog | 2.3k | 1 repos | ~1.5k | Automated safety check: Pass | MIT |
zubair-trabzada/geo-seo-claude
Scores how likely AI assistants are to quote passages from a web page and suggests rewrites that make those passages easier to extract.
zubair-trabzada/geo-seo-claude
Audits a site for AI search visibility one platform at a time, scoring Google AI Overviews, ChatGPT, Perplexity, Gemini and Bing Copilot and listing gaps to fix.
seranking/seo-skills
E-E-A-T + CITE quality audit for an EXISTING piece of content.
AgriciDaniel/codex-seo
Content quality and E-E-A-T analysis with AI citation readiness assessment.
AgriciDaniel/claude-blog
SERP-informed outline generation with H2/H3 heading hierarchy, competitive content gap analysis, section-by-section word count targets, chart and image placement markers, optional FAQ question…
tech-leads-club/agent-skills
Makes a page or site easier for AI answer engines to find, understand, trust and quote, using metadata, structured data, an llms.txt file and clear page structure.
AgriciDaniel/claude-seo
Audits, validates and generates hreflang tags for multi-language and multi-region sites in HTML, HTTP headers or XML sitemaps, flagging common code and return-tag mistakes.
AgriciDaniel/claude-seo
Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.
AgriciDaniel/claude-seo
Clusters keywords by how much their search results overlap and designs a hub-and-spoke content plan with an internal link matrix and an interactive cluster map.
AgriciDaniel/claude-seo
Builds research-backed SEO content briefs with competitor scoring, per-section word counts and page-type templates, for new pages or improving existing ones.
AgriciDaniel/claude-seo
Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.
AgriciDaniel/claude-seo
Generates Open Graph previews, blog hero images, product photos and infographics for SEO use through Gemini image tools and the banana extension.
Categories
Scores page content for E-E-A-T, readability, thinness, and AI-citation readiness, then cleans up AI-typical phrasing in a draft. Google's own who, how, why heuristic from its helpful-content guide opens every audit: who created the content and whether a credentialed byline exists, how it was made including process disclosure for AI-assisted work, and why it exists, to help people rather than to attract clicks. An E-E-A-T scoring pass follows across experience, expertise, authoritativeness, and trustworthiness, backed by reference files for the full framework and its score bands, plus a word-count check against minimums that vary by page type.
SEO Content Quality Analysis fits situations like: auditing a page's E-E-A-T signals before or after publishing; checking whether a page is thin content relative to its type; cleaning AI-typical phrasing and watermark characters from a draft.
Run `npx skills add AgriciDaniel/claude-seo --skill seo-content -a claude-code`. Or copy the skill folder (skills/seo-content in AgriciDaniel/claude-seo) into .claude/skills/seo-content in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AgriciDaniel/claude-seo --skill seo-content -a codex`. Or copy the skill folder (skills/seo-content in AgriciDaniel/claude-seo) into .agents/skills/seo-content in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgriciDaniel/claude-seo --skill seo-content -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seo-content, .gemini/skills/seo-content, .github/skills/seo-content and .opencode/skills/seo-content in your project.
SKILL.md names no scripts, command-line tools or credentials: SEO Content Quality Analysis is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: developers.google.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
SEO Content Quality Analysis is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with SEO Content Quality Analysis: AI Citability Scorer (zubair-trabzada/geo-seo-claude, 11k stars), GEO Platform Optimizer (zubair-trabzada/geo-seo-claude, 11k stars), SEO Content Audit (seranking/seo-skills, 160 stars) and SEO Content (AgriciDaniel/codex-seo, 797 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/claude-seo, which has 18,574 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 4, 2026.
Source: AgriciDaniel/claude-seo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.