← ClaudeAtlas

tracking-citation-diffslisted

Use when tracking how AI-engine citations of your site change over time and tying each change to the commit that caused it — "did my last PR win or lose citations?", "why did ChatGPT stop citing us?", "daily GEO citation diff", "citation regression", "which commit moved our AI visibility". Runs the GEO Diff Bot — diffs two geo-check snapshots and correlates each gained/lost citation to the content commit(s) in the window, or flags it as an external (model/competitor/crawl) shift when nothing in your repo changed. Pairs with the geo-check MCP (geo_track) which produces the snapshots. Mature-phase monitoring, not one-shot audit.
benskamps/seo-superpower · ★ 0 · AI & Automation · score 72
Install: claude install-skill benskamps/seo-superpower
# Tracking Citation Diffs (the GEO Diff Bot) ## Overview Getting cited by ChatGPT, Claude, and Perplexity is the GEO win — but citations are volatile. Fresh-content topics churn their citation choices on a **~14-day window** [see `optimizing-for-generative-engines`], so "we got cited once" decays silently. The question that actually drives work is: **did our last change win or lose citations, or did the AI landscape move on its own?** The GEO Diff Bot answers that. Given two citation snapshots taken at different times, it: 1. **Diffs** them into gained / lost / unchanged citations, per provider, per prompt. 2. **Correlates** each change to the **content commit(s)** that landed in the window between the two snapshots (git-blame at commit granularity, restricted to content files). 3. **Flags external shifts honestly** — when a citation changes but *no content changed in your repo*, it labels the change `external`: a model update, a competitor, or a crawl refresh moved it, not you. That distinction is the whole point — it stops you from taking credit (or blame) for shifts you didn't cause. This is the citation-defense monitoring layer. Pair it with `optimizing-for-generative-engines` (the per-page craft that *earns* citations) and `refreshing-stale-content` (the decay-driven refresh loop). ## Architecture: where the pieces live | Piece | Lives in | Role | |---|---|---| | Snapshot producer | `geo-check` MCP → `geo_track` tool | Polls the LLM providers, writes a timestamped