geo-visibility
Get cited and recommended by AI engines (ChatGPT, AI Overviews and AI Mode, Perplexity, Claude, Gemini). Input: a page or piece…
Measure AI visibility without paid tools or API keys. Input: your site (GA4 and server logs) and a buyer prompt panel. Output: GA4 AI-traffic reporting (custom channel group plus referrer regex above Referral), monthly brand mention rate, citation rate, and share of voice versus
Claude Code
$ npx -y skills add Thibaultbm/claude-seo-geo --skill geo-tracking --agent claude-code
Codex
$ npx skills add Thibaultbm/claude-seo-geo --skill geo-tracking -a codex -y
Cursor
$ npx skills add Thibaultbm/claude-seo-geo --skill geo-tracking -a cursor -y
Gemini CLI
$ npx skills add Thibaultbm/claude-seo-geo --skill geo-tracking -a gemini-cli -y
GitHub Copilot
$ npx skills add Thibaultbm/claude-seo-geo --skill geo-tracking -a github-copilot -y
OpenCode
$ npx skills add Thibaultbm/claude-seo-geo --skill geo-tracking -a opencode -y
Windsurf
$ npx skills add Thibaultbm/claude-seo-geo --skill geo-tracking -a windsurf -y
name: geo-tracking description: "Measure AI visibility without paid tools or API keys. Input: your site (GA4 and server logs) and a buyer prompt panel. Output: GA4 AI-traffic reporting (custom channel group plus referrer regex above Referral), monthly brand mention rate, citation rate, and share of voice versus competitors across ChatGPT, Perplexity, AI Overviews, Claude, and Gemini, plus verified AI-crawler hits from logs. Repo reference for measurement. Use to track AI traffic, monitor brand mentions, run prompt tracking, compute share of voice, or build a monthly GEO report." license: MIT metadata: author: "Sorank (https://sorank.com)" version: "1.0.0"
AI visibility is measurable today, for free, at three layers of the funnel. Each layer answers a different question:
| Layer | Data source | Question it answers | Lag | |---|---|---|---| | Traffic | GA4 | How many visits and conversions do AI assistants send? | Trailing (after the click) | | Answers | Prompt panel | What do AI engines say about the brand when buyers ask? | Current state | | Retrieval | Server logs | Are AI systems reading the pages right now? | Leading (before citations appear) |
Run all three. GA4 alone undercounts structurally, panels alone miss revenue proof, logs alone say nothing about what answers contain. The combination is the measurement system; paid platforms are an optional layer on top, never the starting point.
This skill is the canonical measurement reference in this repo. Build the prompt panel with seo-keyword-research; act on the gaps with geo-visibility.
If the working environment contains an Obsidian vault or any local knowledge base (a folder of .md notes, often with a .obsidian directory), read the relevant notes before acting: brand and product facts, target keywords, competitors, and the SEO action log of what was already tried. Ground every recommendation in that context instead of asking the user for facts the vault already holds. At the end of the session, append the actions taken to the vault's SEO action log so the next session starts informed.
Use this skill when the user:
Do this before any GEO work starts, because every later claim of progress is judged against it; without a baseline, improvements are invisible and unprovable.
1. Create the custom GA4 channel group (Layer 1 below) and annotate the property with the date. 2. Run the full prompt panel once: that run is month zero. 3. Pull 30 days of server logs and count verified AI hits per agent (Layer 3 below). 4. Screenshot the current AI answers for the 10 most commercial prompts, brand present or not.
Since May 13, 2026, GA4 includes a default "AI Assistant" channel group. Google's documentation defines it as traffic "from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok" (https://support.google.com/analytics/answer/9756891): the list is open-ended and not user-controlled, Perplexity is notably absent from it, and it is not retroactive: it only classifies data from its activation forward (https://www.searchenginejournal.com/google-analytics-adds-ai-assistant-as-default-channel-group/574974/). Useful as a zero-effort baseline, insufficient as the measurement.
Why: full assistant coverage (including Perplexity), and a definition you control and can extend when new assistants appear, instead of an open-ended default list Google edits without notice.
1. In GA4: Admin, Data display, Channel groups, create a new channel group (or copy the default). 2. Add a channel named "AI Assistants" with the condition Session source matches the regex:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com|bing\.com/chat|deepseek\.com|grok\.com|meta\.ai|mistral\.ai|you\.com
3. Drag the "AI Assistants" channel above Referral in the channel order. Why: channel groups evaluate top-down, and these sources all qualify as referrals; placed below Referral, every AI session is swallowed by Referral first and the channel stays empty (setup walkthrough: https://www.analyticsmania.com/post/ai-traffic-in-google-analytics-4/). 4. Custom channel groups are not retroactive either. Create the group on day one of any GEO project and annotate the date; the baseline starts there. 5. Review the regex quarterly and append new assistant domains.
Structural limit: native mobile and desktop apps frequently send no referrer, and those sessions land in Direct. Measured AI traffic is a floor, not the total. State this in every report; never present the AI channel as exhaustive, and never read a Direct uptick as noise without considering assistant apps.
AI assistant visits convert about 4.4x better than organic search visits (Semrush study, June 2025, reported at https://ppc.land/ai-search-visitors-worth-4-4x-more-than-traditional-organic-traffic/; an Adobe Analytics analysis found the same multiple). The pattern: the assistant did the comparison work, so the visitor arrives pre-sold. Always report conversion rate and conversions next to session counts; AI traffic that looks small by ses
SEO and GEO skills that work like a specification: they audit a page, compare it with the competitors that rank, and build the fix. Rank in Google and get cited by ChatGPT, Perplexity, Gemini and Google AI Overviews.
Get cited and recommended by AI engines (ChatGPT, AI Overviews and AI Mode, Perplexity, Claude, Gemini). Input: a page or piece…
Turn a JavaScript-only site built by an AI website generator into indexable HTML. Input: a site made with Lovable, Base44, Bolt,…
Turn a finished SEO + GEO audit into a client-ready PDF report with a fixed, polished layout. Input: the findings of an audit…
Plan and run off-page SEO to earn links and brand mentions, including for AI visibility. Input: a site, niche, and competitors.…
Spec, audit, competitor benchmark and build for blog articles and the blog template, so a post ranks on Google and gets cited by…
Spec, audit, competitor benchmark and build for e-commerce collection, category and product listing pages (PLPs) on Shopify,…
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…