A Claude Code Skill that produces a live, data-driven SEO health report for a single site — every claim backed by a real number from Google Search Console, Bing Webmaster Tools, Ahrefs, Microsoft Clarity, GA4, and an optional real-user-monitoring tool.
Not a lecture on best practices. Not "publish more content." Instead: a prioritized, ROI-ranked punch list based on what your dashboards actually say today.
Claude will auto-invoke this skill when the user asks:
- "how is my SEO" / "check my SEO" / "give me my SEO status"
- "give me an SEO health report"
- "audit the SEO on my site"
- Any variant that means "audit the current SEO state and tell me what to do"
It does not trigger for one-off keyword lookups or "how do I rank for X" questions — this is a full-portfolio audit skill.
Five phases, executed in order:
- Technical health — curl-based checks against production: sitemap URL count, robots.txt policy, canonical regression, verification meta tags, redirect chains,
X-Robots-Tagtraps, analytics tracker presence - Google Search Console — via browser MCP: clicks, impressions, CTR, position, coverage, Core Web Vitals, top queries by impression, "close to page 1" opportunities, high-impression-low-CTR title-rewrite candidates
- Bing Webmaster Tools — often previews Google's trajectory
- Ahrefs (optional) — DR, referring domains, new backlinks in last 7 days, competitor keyword gaps
- Microsoft Clarity + GA4 + RUM (RUM optional) — sessions, rage clicks, frontend errors, p95 LCP, conversion funnel drop-off
Output is a single markdown report, 400–800 words, in a fixed section order — no dashboard is silently skipped. Ends with the top 3 things to do next (ranked by ROI/hour, each with effort estimate and expected metric impact) and the top 3 things NOT to do.
# project-scoped
mkdir -p .claude/skills/seo-feedback
curl -o .claude/skills/seo-feedback/SKILL.md \
https://raw.githubusercontent.com/OmarEltak/seo-feedback/main/SKILL.md
# or globally
mkdir -p ~/.claude/skills/seo-feedback
curl -o ~/.claude/skills/seo-feedback/SKILL.md \
https://raw.githubusercontent.com/OmarEltak/seo-feedback/main/SKILL.mdRestart Claude Code (or run /skills to reload).
On first run the skill will ask you to fill in a small config block (or drop it into .seo-feedback.json at project root):
Any missing value causes the corresponding phase to be skipped explicitly in the report — the skill never fabricates numbers.
- Claude Code (or another agent that reads Claude Code Skills — Copilot CLI, Gemini CLI, etc.)
- Browser MCP — the Claude in Chrome extension, or any MCP that exposes
mcp__claude-in-chrome__*tools, so the agent can read GSC / Bing / Ahrefs / Clarity / GA4 dashboards live - Active browser sessions logged into whichever dashboards you configured
- Never invents numbers. If a dashboard fails to render, the report says "unable to read X, retry needed."
- Never recommends AI-content-farm tools (Byword, Koala, RankPill and similar) unless the user has explicitly opted in.
- Never recommends rebuilding the site design. Fix funnel bottlenecks first.
- Does not batch dashboards into one summary. Each is read individually — divergences (e.g., GA4 vs RUM session counts) become their own signal.
- After delivering the report, asks which item to execute first — nothing auto-executes.
MIT — see LICENSE.
{ "domain": "example.com", "gsc_property": "https://example.com/", "bing_property": "https://example.com/", "ga4_property_id": "properties/XXXXXXXXX", "clarity_project_id": "xxxxxxxxxx", "ahrefs_project_id": "XXXXXXXX", // optional "rum_tool": null, // e.g. "posthog", "sentry-rum", "datadog-rum"; null to skip "strategic_pins_doc": "docs/seo-progress.md" // optional: repo file with ICP, goals, constraints }