agentsclimarketplace

Seo geo audit

Skill OndrejKnedla/seo-geo-playbook-ok/skills/seo-geo-audit

SEO + GEO toolkit as Claude Code skills: audit, A-F score, llms.txt, AI-citation tracking, fixes. Zero-dependency.

Install
npx -y skills add OndrejKnedla/seo-geo-playbook-ok --skill seo-geo-audit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Audit a live website for SEO AND GEO (Generative Engine Optimization, getting cited by ChatGPT, Perplexity, Gemini, Google AI Overviews, Claude). Crawls the SERVER-rendered HTML, runs ~26 deterministic checks via a zero-dependency script, then scores 6 content-quality dimensions by reading the pages, producing an A-F grade with a prioritized fix list. Triggers on: SEO audit, GEO audit, AI search visibility, get cited by ChatGPT/Perplexity, AEO, AI Overviews, structured data audit, llms.txt, generative engine optimization.

SKILL.md

6.8 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

SEO + GEO Audit

You audit a live website the way an AI answer engine sees it: from the server-rendered HTML (what curl returns), not the JavaScript-rendered DOM a browser shows. The two differ, and the gap is where most AI visibility silently dies.

The grade has two halves of equal weight:

  • Foundational (50%), deterministic pass/warn/fail checks run by a bundled script. Reproducible, no judgment.
  • Intelligence (50%), 6 content-quality dimensions you score by reading the pages, using references/INTELLIGENCE-RUBRIC.md.

Final grade = 0.5 × foundational + 0.5 × intelligence, mapped to A-F.

This skill produces a diagnosis. To then apply fixes to a codebase, hand off to the seo-geo-fix skill. For the full battle-tested method behind the checks, read ../../references/PLAYBOOK.md.

Workflow (follow in order)

1. Get inputs

  • URL (required).
  • Crawl depth (optional, default 10, max 30).
  • Output dir (optional, default current directory).

If the user already gave a URL, don't re-ask, confirm depth and go.

2. Run the deterministic audit

Requires only Node 18+ (uses global fetch). No npm install.

node <skill-path>/scripts/audit.mjs <url> --max-pages=10 --out=<out-dir>/seo-geo-audit.json

The script crawls (sitemap + robots.txt + internal links), parses each page's raw HTML, runs the checks, scores them weighted, and writes JSON + a printed summary. If it crawls 0 pages it exits non-zero, do not fabricate a score, report the error.

3. Read the JSON report

Key fields:

  • scoring.foundationalScore (0-100) and scoring.foundationalGrade, final, do not change.
  • scoring.categories, score per category, worst first. The bottleneck at a glance.
  • checks, every check with status + detail.
  • prioritizedFixes, fails then warns, heaviest weight first.
  • pagesForReview, up to 5 richest pages with title, headings, schemaTypes, author, dates, wordCount, and geoSignals. Use these for step 4.

4. Score the 6 intelligence dimensions

Read references/INTELLIGENCE-RUBRIC.md and score each dimension 0-5 using only what you observed in pagesForReview. Write the rationale before the number. You are an AI agent that just landed on this site from a web search, would you cite it?

Dimensions: Answer Readiness · Quotability · Evidence Density · Content Depth · Structure & Schema · Brand Authority signals.

intelligenceScore = (sum of 6 scores / 30) × 100.

5. Compute the final grade and report

final = round(0.5 × foundationalScore + 0.5 × intelligenceScore)

Grade: A ≥90, B ≥80, C ≥70, D ≥60, E ≥50, else F.

Produce a report with:

  1. The grade (final + the foundational/intelligence split).
  2. The bottleneck in one sentence (on-site fundamentals vs off-site authority, it is almost always off-site once fundamentals are clean; see PLAYBOOK.md §1).
  3. Prioritized fixes (Critical / High / Medium / Low). Each: what / where (file or URL) / why / how to verify (a falsifiable curl or GSC check).
  4. The off-site note: the on-page score caps fast; the ceiling is brand mentions (YouTube > Reddit ≈ Wikipedia > LinkedIn > PR). Say so explicitly.

Optionally render assets/report-template.html filled with the JSON for a shareable report.

Optional: chunk-level retrieval simulation

AI engines retrieve at the passage level, not the page level. scripts/chunk-sim.mjs <url> splits the page the way a RAG pipeline would and scores each chunk's standalone citability, flagging blocks that would be useless if retrieved alone (open with a pronoun/connective, no named subject, no concrete signal). Use it to action strategy 1 in ../../references/geo-frontier-strategies.md.

Optional: enrich with live SERP data

The audit is zero-dependency and measures citability/crawlability, not ranking. To add real ranking data, scripts/serp-enrich.mjs calls DataForSEO if DATAFORSEO_LOGIN/DATAFORSEO_PASSWORD are set (it exits cleanly with setup notes if not). Free alternative: Google Search Console. See ../../references/data-providers.md. Keep enrichment separate so the A-F foundational score stays reproducible without any key.

The checks (what the script verifies)

See references/RULES.md for the full catalog with weights. Highlights that catch the silent killers:

  • JSON-LD in the server HTML (not injected client-side, the single most common AI-visibility bug).
  • Self-referencing canonical + detection of the "everything canonicalizes to homepage" root-layout bug.
  • AI crawlers not blocked in robots.txt (GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended…).
  • One <h1>, host consistency, sitemap, llms.txt, answer-first/TL;DR, question headings, evidence density, freshness, named author.

Reference files (read on demand)

Pull these in when relevant; do not load them all up front.

  • references/RULES.md: the full deterministic check catalog with weights and curl verifications.
  • references/INTELLIGENCE-RUBRIC.md: the 6-dimension scoring rubric for the intelligence half.
  • ../../references/PLAYBOOK.md: the full field method and every gotcha behind the checks.
  • ../../references/statistics-2026.md: sourced, dated GEO data and citation-lift multipliers (and what was debunked). Use it to justify recommendations.
  • ../../references/ai-crawlers.md: the exact AI crawler user-agents and robots.txt handling, for the ai-bots-allowed finding.
  • ../../references/platform-profiles/: how each engine (ChatGPT, Perplexity, Gemini, Claude, AI Overviews) retrieves and cites, so fixes target the right mechanism.
  • ../../references/geo-frontier-strategies.md: seven retrieval-mechanic GEO strategies, including the chunk-level approach behind scripts/chunk-sim.mjs.
  • ../../references/tactics-spectrum.md: the white/gray/black-hat map; stay white-hat and recognize the rest.
  • ../../references/data-providers.md and ../../tools/dataforseo/: optional real SERP/keyword/rank data.

Guardrails when writing the report or content

No em-dashes (commas, colons, parentheses instead). No emojis in client-facing copy. In finance/health/legal, minimize "AI" hype (it reads as a negative signal there). Never expose the client's internal tech/vendors. Measure live with curl, never quote scores from memory.

What ships with it: 7 files

60.0 KB alongside SKILL.md, 3 of them executable

examples/

references/

scripts/

Gives 0 of the 12 instructions most audit compliance skills give in ~1.6k tokens

Counted across 937 of the 1,487 authors here whose files we hold, read 2026-08-07

  • Fetch latest guidelines before each reviewin 43 of 937, across 3 files
  • Group findings by severityin 43 of 937
  • Check files against all fetched rulesin 42 of 937, across 2 files
  • Output findings in terse file:line formatin 41 of 937, across 3 files
  • Ask user which files to review if none specifiedin 41 of 937, across 3 files
  • Read specified files or prompt user for filesin 39 of 937, across 1 file
  • Generate the audit reportin 33 of 937, across 30 files
  • Assign a severity to every findingin 25 of 937
  • Run automated accessibility scansin 23 of 937, across 13 files
  • Output a markdown audit reportin 22 of 937
  • Map findings to WCAG criteriain 20 of 937, across 10 files
  • Confirm audit scopein 19 of 937, across 9 files

Said here and by no other author read

  • run the bundled deterministic audit script
  • read the json report
  • score the six intelligence dimensions using the rubric
  • write rationale before each intelligence score
  • compute the final grade
  • state the bottleneck in one sentence

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.