Skip to main content
Ask Pi to run the seo-debug skill on the URL, keyword, or cluster: give it the observation (what’s wrong, on what surface, since when, by how much) and the expectation (what should be true and why), and Pi walks a structured diagnosis — observation, then 2-4 hypotheses, then evidence per hypothesis, then a differential diagnosis, then one specific next action — and saves a report to its /memory/. It is built to not default to “must be backlinks”: most issues are intent mismatches, technical breaks, SOP misses, cannibalization, CTR regressions, or fresh-page jitter, and each hypothesis has to pass a specific evidence gate before it survives into the diagnosis. You need GSC connected first (see 2.1.3 Connect Google Search Console) — Pi debugs from data, not vibes.
🎬 Video planned: ask Pi to seo-debug a URL, read the hypothesis verdict table, pick the fix, re-check. See the shot-list.

What Pi actually does

The skill runs an investigation, not a checklist:
  1. Capture observation + expectation. Without both, it chases the wrong issue. It pulls the real numbers from GSC (clicks / impressions / avg position, period over period) rather than trusting the description.
  2. Verify the data before debugging the world. Most “ranking dropped” tickets die here: was it actually published, is the slug what you think, is the rank data fresh, is the GSC “drop” real (it has a ~3-day lag)? If a data error explains it, that is the diagnosis.
  3. Form 2-4 hypotheses and commit a kill criterion for each — from a library of ten patterns (fresh-page jitter, intent mismatch, cannibalization, technical break, SOP miss, competitive shift / link gap, manual action, seasonal drift, CTR regression, random fluctuation). It does not test all ten — it picks the most plausible given page age and cluster.
  4. Gather evidence per hypothesis against an explicit pass/fail gate. Circumstantial evidence is rejected. “Multiple pages on the same topic exist” is not cannibalization; “two of your URLs share the same high-impression query in GSC” is. A comparable-DR competitor outranking you on page-level links is a valid link-gap finding; a DR-83-vs-DR-32 gap is a domain-authority moat, not an actionable link gap.
  5. Differential diagnosis. Only CONFIRMED hypotheses (those that passed a gate) enter the diagnosis; the rest are explicitly REJECTED or marked INCONCLUSIVE. “Nothing is wrong” (fresh-page jitter, seasonal noise) is a valid, honest diagnosis — it won’t manufacture an action item.
  6. One specific next action with an owner and how to verify the fix, plus a saved report to /memory/debug-<subject>-<orgId>-<date>.md so the diagnosis is replicable.

When each diagnosis sends you elsewhere

The skill hands off cleanly:

Real prompt

Give Pi the surface, the symptom, and what you expected — the more concrete the numbers, the sharper the diagnosis:
this LP has been live 3 weeks on a soft SERP (cliff at 2) and should be on page 1,
but it's stuck around position 20. seo-debug [full URL] — figure out why and give me
one next action.
Pi confirms the page is really published and the rank data is fresh, pulls the GSC deltas, forms a few hypotheses (here: intent mismatch, fresh-page jitter, cannibalization), tests each against its gate, and returns a bottom-line-up-front verdict table, a one-sentence diagnosis, and a single specific action — plus the path to the saved report. For a drop rather than a never-ranked page, lead with the magnitude and the timeframe:
clicks on [full URL] are down ~40% over the last 28d vs the prior 28d and it held
position 4 for three months. what changed? run seo-debug and don't just tell me
"backlinks".
Because this is a sustained decline (position regressed materially over 30+ days), the skill is required to run the SERP-cliff read and the competitor page-level backlink comparison before it can close — so a link gap, if it’s real, is proven with specific referring-domain numbers, not asserted.
Prerequisite: 2.1.3 Connect GSC · Sibling how-tos: 2.8.2 Get cited by AI (fanout) · 2.8.3 Bring your own DataForSEO key · Sends you to: 2.2.5 Keyword eval vs SERP-cliff · 2.5.2 Technical SEO audit · 2.5.4 Link-building kickoff