agentsclimarketplace

Google seo audit

Skill bsisduck/google-search-ads-analytics-docs/.claude/skills/google-seo-audit

Official Google docs (Search/SEO, Search Console, Ads, GA4) as a validated local knowledge base (English) + two Claude Code skills: cited retrieval and a multi-agent SEO audit. Reproducible, measured (92% recall@5).

Install
npx -y skills add bsisduck/google-search-ads-analytics-docs --skill google-seo-audit

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

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 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

This skill should be used when the user asks to "audit my page/site/repo", "scan for SEO", "check structured data / rich results", "is my page Google-ready", "SEO audit", "Google scanner", or wants prioritized, cited recommendations to improve a page in Google Search. It runs a full multi-agent SEO / discoverability audit of a web page - a live URL OR a local .html file in the current repo - grounded in the local Google documentation knowledge base (the google-search-ads-analytics-docs skill): it spawns one subagent per audit dimension and produces a scored report with fixes that cite the official Google docs (source_url).

SKILL.md

5.5 KB, as published. Nobody here has run it

Google SEO Audit - multi-agent page audit

Audits a page across every Google-discoverability dimension and returns a scored report with prioritized, cited recommendations. Every recommendation must be grounded in the local corpus via the google-search-ads-analytics-docs skill (.claude/skills/google-search-ads-analytics-docs/search.py) and cite a Google source_url.

Fast path - the Workflow

For a thorough, adversarially-verified audit, run the bundled seo-audit workflow (Workflow tool), saved at .claude/workflows/seo-audit.js. It implements the four phases below and scales agents to the work - no fixed cap: Snapshot -> Verify (one agent per dimension) -> Refute (adversarial verifiers per finding, false positives dropped) -> Synthesize (AUDIT-<page>.md). Pass the target as args (URL or local path); optional { refuters: N } raises the adversarial panel size. If the Workflow tool isn't available, do the same steps manually with the Task tool, below.

Step 1 - Pick the target(s)

  • A live page: pass the URL.
  • This repo (default when the user says "my page/repo"): find local pages with Glob "**/*.html" (ignore .venv/, node_modules/). The repo's page is app/index.html. Audit each found page.

Step 2 - Snapshot (deterministic, run once per target)

Use a per-target output file so multiple pages don't clobber each other:

.venv/bin/python3 .claude/skills/google-seo-audit/fetch_page.py <url-or-path> --out /tmp/snap-<page-slug>.json

Produces a JSON of: status/headers/HTTPS, title, meta description, meta robots, canonical, viewport (mobile), lang + hreflang, H1/heading outline, word count, images+missing-alt, JSON-LD structured data (types + a parse-OK flag - not schema validation; the structured-data agent must still verify required props), Open Graph, analytics/ads tags (GA4/GTM/Ads), and robots.txt (remote only).

Step 3 - Fan out the audit (one subagent per dimension)

Spawn the dimensions in parallel (Task tool, or the Workflow). Give each agent the snapshot JSON and tell it to consult google-search-ads-analytics-docs first - run .venv/bin/python3 .claude/skills/google-search-ads-analytics-docs/search.py "<topic>" (and --doc <doc_id> to resolve a citation), then read the matched files - and cite source_url on every finding. Dimensions:

  1. Crawlability & Indexing - HTTP status, redirects, meta robots / X-Robots-Tag, canonical, robots.txt, sitemap. KB: crawling-indexing/*.
  2. On-page SEO & Content - title (len/uniqueness), meta description, exactly one H1, heading hierarchy, content depth, helpful-content signals. KB: fundamentals/seo-starter-guide, creating-helpful-content, appearance/snippet, appearance/title-link.
  3. Structured Data & Rich Results - JSON-LD presence, valid types, required props, rich-result eligibility. KB: appearance/structured-data/*.
  4. Page Experience & Core Web Vitals - HTTPS, HSTS, mobile viewport, intrusive-interstitial risk, CWV considerations. KB: appearance/page-experience, appearance/core-web-vitals, crawling-indexing/mobile/*.
  5. International (hreflang) - lang, hreflang alternates, locale handling (only if the page is multilingual). KB: specialty/international/*.
  6. Measurement & Tagging - GA4/gtag, GTM, Google Ads conversion, GA4 events/Measurement Protocol readiness. KB: google-analytics/*, google-ads-help/*.

Each finding: {check, verdict: pass|warn|fail, evidence, recommendation, severity: high|medium|low, citation_url}.

Step 4 - Synthesize the report

Aggregate into AUDIT-<page>.md:

  • Score: each dimension 0-100; overall = average (call out fails).
  • Executive summary (3-5 lines).
  • Prioritized fixes: a table sorted by severity -> effort, each with the concrete change and a source_url citation.
  • Per-dimension findings (pass/warn/fail with evidence).
  • Be honest: don't invent issues; mark "N/A" where a dimension doesn't apply (e.g. hreflang on a single-language page).

Notes

  • Requires the project venv (.venv/bin/python3) with Scrapling, and the google-search-ads-analytics-docs skill present for grounding.
  • Local files can't show HTTP-level signals (status/headers/HTTPS/robots.txt) - flag those as "deployment-dependent, verify on the live URL".

Safety

  • Authorization: only audit pages you own or are explicitly authorized to test. fetch_page.py issues a normal browser-like GET to the target and its /robots.txt; do not point it at internal/private hosts you don't control (it has no SSRF allow-list - it fetches whatever URL you pass).
  • No credentials, no writes to the target. The snapshot is read-only and is written only to the local --out JSON (or stdout). Nothing is sent anywhere except the HTTP GET to the page being audited.

Keep looking

Skills are one crate of 328,083. 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.