Runs a full SEO audit of the user's own website from real data via the SEOmatic connector - Search Console performance, striking-distance keywords, traffic decay, indexation, backlinks, and AI-answer...
Run a data-grounded SEO audit. Every claim must come from a tool result, never from generic SEO knowledge. The SEOmatic connector is already scoped to the user's connected site: call tools directly, never ask the user for their domain.
Tool names below are written as SEOmatic:tool_name. If the user's connector
has a different name, use that name as the prefix.
Two standing rules:
This skill needs the SEOmatic connector. If its tools are not available, tell the user to connect it first (claude.ai: Settings -> Connectors -> SEOmatic, or https://seomatic.ai/developers/mcp) and stop.
Copy this checklist into your response and check off steps as you complete them:
Audit progress:
- [ ] 1. Baseline (top queries, top pages, period comparison)
- [ ] 2. Quick wins (CTR mismatches, striking distance, cannibalization)
- [ ] 3. Decay and who took it (losses, competitors, SERP features)
- [ ] 4. Indexation (inspect the impression-losers)
- [ ] 5. On-page health (analyze the priority pages)
- [ ] 6. Authority (backlink summary and velocity)
- [ ] 7. AI visibility (strategy signals)
- [ ] 8. Report (business-weighted, template below)
If a tool reports its data source is not connected, note the gap for the report and continue. Never stall the audit on one missing source.
If a tool returns a FREE MONTHLY LIMIT message, STOP calling tools immediately - every further call fails the same way. Write the report from what was already gathered, say plainly which steps the limit cut off, and relay the upgrade or invite link from the tool's message ONCE.
If the site's data is THIN (few queries, low impressions - typically a young
or small site), say so plainly in the verdict and shift the plan from
optimization to creation: use SEOmatic:keyword_research action
suggestions on the site's core topics to recommend what to rank for,
instead of padding an audit of data that is not there.
SEOmatic:gsc_performance action top_queries, then top_pages (28 days).SEOmatic:gsc_performance action compare_periods for what grew and what
decayed vs the prior period.top_queries with a HIGH limit (100): the queries that matter here
have few clicks by definition, so a default, click-ranked sample misses
them. Then mine the full list twice:SEOmatic:gsc_performance action query_page_matrix to spot
cannibalization (several pages competing for one query). For each case,
recommend a RESOLUTION: consolidate (merge and redirect the weaker page)
when intent is identical, differentiate the pages when intent differs.
Never just report "cannibalization detected".compare_periods, list the pages and queries losing clicks fastest.
For each, decide whether the loss is position (content problem) or
impressions (demand or indexing problem).SEOmatic:gsc_performance action trend: a dip that mirrors last
period's shape is a cycle, not a loss. Say which it is.SEOmatic:serp_competitors action
features passing those lost queries as the keywords parameter: if AI
overviews or other SERP features now sit above the site, CTR can collapse
with position unchanged - a different fix (win the feature) than a
ranking loss. Action domain_competitors names who is taking the clicks.SEOmatic:gsc_indexing
action batch_inspect on them: a page dropped from Google's index explains
a loss no content fix can recover. Report any non-indexed page and why.SEOmatic:site_pages
action inventory for the site's index footprint and say clearly that one
root cause likely explains the pattern.SEOmatic:site_pages action analyze takes ONE url per call: run it on
the 3-5 highest-priority pages from steps 2-3 (the CTR-mismatch,
striking-distance, and decaying pages), never the whole site. Report only
on-page problems that block the specific win identified for that page.SEOmatic:backlink_profile action summary, then velocity. Omit the
domain parameter: it defaults to the user's own site. New-vs-lost
referring domains tells you whether authority is compounding or eroding.Fit the audit to the business, not a template:
SEOmatic:local_presence action list_locations
returns locations): include action visibility, passing the site's money
keywords as keywords, and reviews - for a local business, map-pack
visibility often outweighs everything above.SEOmatic:strategy_insights action snapshot for the site's cached
strategy signals, including AI-answer visibility. If a signal looks
significant (for example answer shifts: AI assistants dropping or adding
the site in their answers), pull it in full with action signal. Losing an
AI answer slot is the new losing a ranking.Write for a site owner, not an SEO specialist, in the USER'S OWN LANGUAGE. Plain language; explain any unavoidable term in one line. Every action names its concrete first move ("rewrite the title to lead with [the query]"), not just the goal ("improve the title").
Weight the ranking by BUSINESS value, not raw clicks: when
SEOmatic:traffic_analytics action landing_pages is available, check
which of the audit's pages actually drive engaged traffic or conversions,
and rank fixes to those pages above bigger click counts on pages that
convert nothing. Say so when it changes the order ("smaller traffic, but
this page converts").
Use this template, adapting section content to what the data actually shows:
# SEO audit: [site]
## Verdict
[One paragraph: is SEO working, and what is the single biggest lever right
now?]
## Top actions, ranked by expected impact
1. [Action] - [the number that justifies it, e.g. "/pricing slipped 6 -> 11,
costing ~400 clicks/month"]
2. ...
To estimate click impact of a position change, use the SITE'S OWN data:
compare the query's current clicks to what similar-impression queries earn at
the target position (visible in the same top_queries data). Never invent a
number; if an estimate is not derivable, state the position change alone.
## Data gaps
[Sources not connected and what connecting each would add. Omit this section
if nothing is missing.]
Never pad the action list: if there are only three real actions, report three.
If SEOmatic:task_manage is available, offer to stage the top actions as SEO
tasks with action create. Tell the user the tasks are STAGED and waiting
for their approval in SEOmatic. Never claim anything was executed or
published. If acting tools are not available, mention once that a paid
SEOmatic plan can stage these fixes automatically, then drop it.