geo-measurement

geo-measurement is a skill for Claude Code from TheSmokeDev/geo-skills. It costs 67 tokens per session (1,904 once invoked), scanned A, original, MIT.

A method for measuring how often and where a website is cited in AI-generated answers. It uses the same set of prompts repeatedly and compares the site's share of all citations, while accounting for changes in platform behavior.

In plain words
What is it for?
Use it to design prompt tests, calculate citation share, track citation placement and first-answer visibility, and report trends over time.
Why use it?
Raw citation counts can rise or fall because an AI platform changes how it displays sources, even when the website has not changed. This gives a more stable way to separate website progress from platform-wide fluctuations.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it to design prompt tests, calculate citation share, track citation placement and first-answer visibility, and report trends over time.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/thesmokedev/geo-skills/geo-measurement
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add TheSmokeDev/geo-skills --skill geo-measurement
Clone the repo
git clone --depth 1 https://github.com/TheSmokeDev/geo-skills

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for geo-measurement

README.md
[![agentmods](https://agentmods.dev/badge/skills/thesmokedev/geo-skills/geo-measurement/github.svg)](https://agentmods.dev/skills/thesmokedev/geo-skills/geo-measurement)
Your own site
<a href="https://agentmods.dev/skills/thesmokedev/geo-skills/geo-measurement"><img src="https://agentmods.dev/badge/skills/thesmokedev/geo-skills/geo-measurement/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for geo-measurement

Your own site · 80×15
<a href="https://agentmods.dev/skills/thesmokedev/geo-skills/geo-measurement"><img src="https://agentmods.dev/badge/skills/thesmokedev/geo-skills/geo-measurement.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 67 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,904 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00067 $0.01904
Opus 5 $0.00034 $0.00952
Sonnet 5 $0.00013 $0.00381
Haiku 4.5 $0.00007 $0.00190

Measured 12d ago against content hash 3b6da22ef563, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

geo-measurement scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/geo-measurement/SKILL.md · 116 lines

How it starts

The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Volatility-Aware AI-Visibility Measurement Skill

Purpose

This skill measures AI visibility correctly. Raw citation counts are structurally volatile -- platforms change citation behavior wholesale, and a month-over-month drop often means the platform moved, not the site. This skill designs prompt panels, computes share-of-citation, tracks citation position, and produces trend reports that separate signal from platform noise. Use it to evaluate any GEO work done with the other skills in this pack.

Core Insight

Citation volume is structurally volatile. ChatGPT's citation volume fell >90% in March-April 2026, then rebounded (seoClarity, Jun 2026). Google-side citation churn runs 8-10x ChatGPT's (same analysis). A site that did nothing wrong can lose most of its measured citations in a month; a site that did nothing right can gain them.

The consequence: monthly citation counts mislead. The valid metric is share-of-citation over repeated runs of a fixed 60-100+ prompt panel (SparkToro methodology) -- of all citations the engine gives for your prompt set, what fraction point to you versus competitors? Share-of-citation is self-normalizing: when a platform cuts citations sitewide, everyone's counts drop but shares stay comparable.


Step 1: Panel Design

  1. Fixed prompt set. Define 60-100+ prompts that represent the site's target sub-query space (use skills/geo-fanout/ to generate them across eligibility/cost/process/location/language axes). Freeze the set -- never edit prompts mid-trend, or you break comparability. Version the panel file instead (add new prompts as panel-v2, keep v1 running for continuity).
  2. Repeated runs. Run the full panel on a fixed cadence (weekly or biweekly). A single run is a sample, not a measurement -- AI answers are non-deterministic, so each prompt should ideally be run multiple times per cycle or across cycles to smooth variance.
  3. Per-engine split. Measure each engine separately -- ChatGPT, Google AIO/AI Mode, Gemini, Perplexity behave differently and move on different schedules. Never blend engines into one number. Note that ChatGPT retrieval is Bing-index-based while Gemini/AIO use Google (see skills/geo-ai-index-access/) -- engine-level swings often trace back to index or pipeline changes.
  4. Competitor set. Fix 3-10 competitor domains per panel. Share-of-citation is meaningless without the denominator.
  5. Instrumentation. Where available, pull first-party data to corroborate: Bing WMT's AI Performance (Copilot) report (unlocked by skills/geo-ai-index-access/), and AI referral traffic in analytics.

Read the full file on GitHub · 116 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 116 lines · 67 tokens per session scan A 3b6da22ef563

Subscribe to this mod's changes

geo-measurement is a skill published in the GitHub repository TheSmokeDev/geo-skills (22 stars, last pushed 9d ago), licensed MIT. It adds 67 tokens to every session and 1,904 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

orangeo-ai-visibility-skill

Audit brand AI visibility readiness and prepare OranGEO-style GEO, AEO, LLM SEO, and AI search optimization action plans. Use when asked for a Claude Code skill, Codex skill, GEO skill, generative engine optimization skill, answer engine optimization skill, AI visibility audit, AI search visibility checker, llms.txt…

OranAi-Ltd/orangeo-ai-visibility-skill · 119 tokens

ganhuo-geo-engineer

Use this Skill when the user provides an existing article, product page, tutorial, FAQ, or knowledge note and wants to rebuild it into a GEO or AI-search-friendly content asset. Use it for old-content refresh, citation-readiness improvement, answer-first restructuring, GEO upgrades, and Ganhuo AI content workflows. Do…

yuanyuanyuan430/ganhuo-geo-skill · 99 tokens

ai-answer-trace

Ask Claude, ChatGPT, and Gemini a question and capture the full evidence trail behind each answer: the search queries each engine ran, the pages it retrieved, and the sources it cited. The raw material of GEO measurement. Needs AI engine API keys, not an Xpoz account.

XPOZpublic/xpoz-clawhub-skills · 62 tokens

geo-visibility-check

One-shot GEO audit: does your brand appear in Claude, ChatGPT, and Gemini answers for the buyer questions that matter? Runs a prompt panel through the engines with citation tracing and reports per-prompt verdicts, who wins instead, and which sources the answers come from.

XPOZpublic/xpoz-clawhub-skills · 60 tokens

crazyseo

Measure and fix whether AI assistants (ChatGPT, Gemini, Perplexity) recommend a website. Use when someone asks "am I visible in AI search", "does ChatGPT recommend us", "why doesn't AI mention my brand", "GEO/AEO audit", "AI SEO", "llms.txt", "is my site readable by AI crawlers", or wants to know which sources AI…

d08m/crazyseo · 89 tokens

xerj-code

Reference-coding with XERJ. Clone the libraries that already solved your problem, index them locally, and retrieve the exact implementation before writing code — so the agent reads passages instead of re-deriving algorithms across retry loops. Use when starting a task in an unfamiliar API, porting an algorithm, or…

xerj-org/xerj · 79 tokens