seoskills.sh
Catalog/AI Search (AEO and GEO)/GEO Brand Mention Tracker

GEO Brand Mention Tracker

Runs a defined prompt set through multiple LLM APIs on a schedule and detects whether a brand is mentioned, linked, and…

Updated

New

Use this skill

$ npx skills add seoskills.sh/geo-brand-mention-tracker
Repository
seoskills.sh
GitHub stars
License
MIT

About this skill

GEO Brand Mention Tracker is a AI Search (AEO and GEO) skill for AI agents, published in the seoskills.sh catalog. Reach for it when your work involves answer and generative engine optimization for AI Overviews, Perplexity, and ChatGPT. Install it with one command and it runs inside your own agent, so the work happens in your workflow, not a separate SEO tool.

SKILL.md

GEO Brand Mention Tracker

AGENT ROLE: Autonomous GEO-monitoring agent. Query each configured answer engine with each prompt, extract brand presence/sentiment/accuracy deterministically, and emit the JSON in references/output.schema.json. This is measurement, not manipulation — never instruct an engine to praise the brand.

OBJECTIVE

Measure, per engine and per prompt, whether the target brand appears in the generated answer, whether it is linked/cited, the sentiment of its framing, and whether stated facts about it are correct — then aggregate into presence-rate and sentiment trends.

INPUTS

  • brand (REQUIRED): { name, domains: string[], aliases?: string[] }.
  • prompts (REQUIRED string[]): buyer-intent questions (see references/prompt_template.json for structure).
  • engines (OPTIONAL): subset of ["openai","anthropic","gemini","perplexity"]. Default all with a configured key.
  • facts (OPTIONAL): array of { claim, correct: bool } ground-truths to accuracy-check.
  • baseline (OPTIONAL): prior run's aggregate for trend deltas.

AUTHENTICATION (per engine)

  • Read keys from env: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, PERPLEXITY_API_KEY.
  • For each engine in engines: IF its key is missing THEN skip that engine and add it to skipped_engines with reason no_api_key. IF engines end up empty THEN STOP error.code="NO_ENGINE_CREDENTIALS".
  • Endpoints: OpenAI POST /v1/chat/completions; Anthropic POST /v1/messages (header anthropic-version); Gemini POST /v1beta/models/{model}:generateContent; Perplexity POST /chat/completions (returns citations).

EXPECTED TOOL CALLS

  • Run scripts/track_mentions.py --brand brand.json --prompts prompts.json.
  • Per (engine, prompt): send the user prompt with temperature=0 for reproducibility; request citations where the engine supports them.

PROCEDURE (deterministic, per engine × prompt)

STEP 1 — SEND prompt; capture answer_text and citations[] (URLs) if provided. STEP 2 — PRESENCE: mentioned = true IF brand.name or any alias appears (case-insensitive, word-boundary). linked = true IF any brand.domains appears in answer_text or citations. STEP 3 — SENTIMENT: classify the sentence(s) mentioning the brand as positive|neutral|negative using a strict rubric (recommendation/superlative → positive; caveat/warning/negative comparative → negative; else neutral). Record the exact quoted sentence as evidence. STEP 4 — ACCURACY (if facts): for each ground-truth claim, check whether the answer asserts it correctly, incorrectly, or not at all → correct|incorrect|absent. Any incorrect about the brand = hallucination flag. STEP 5 — AGGREGATE per engine: presence_rate = mentioned_count / prompt_count; link_rate; sentiment distribution; accuracy_rate. STEP 6 — TREND (if baseline): delta each aggregate vs baseline. STEP 7 — EMIT.

RATE LIMITS & ERROR HANDLING

  • Respect each provider's RPM/TPM. On 429 THEN honor Retry-After if present, else backoff 2^attempt (max 5); after that mark that (engine,prompt) status="rate_limited" and continue — never abort the whole run.
  • On 5xx/timeout (60s) THEN retry ≤3; then record status="engine_error" for that cell.
  • Cap concurrency at 3 per engine.

MISSING / INSUFFICIENT DATA

  • IF an engine returns an empty/blocked answer THEN mentioned=false, status="empty_answer" — do not infer absence as negative sentiment.
  • Sentiment/accuracy are computed ONLY when the brand is mentioned; otherwise null.
  • Never claim a citation the engine did not return.

OUTPUT

One JSON object per references/output.schema.json. No prose.

FILES

  • scripts/track_mentions.py — multi-engine client, presence/sentiment/accuracy extraction, aggregation.
  • references/prompt_template.json — recommended buyer-intent prompt structure.
  • references/output.schema.json — output contract.

Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.

Embed a badge

seoskills.sh install badge

More in AI Search (AEO and GEO)

AI Search (AEO and GEO)coreyhaines31/marketingskills

ai-seo

When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers. Also use when the user mentions 'AI SEO,' 'AEO,' 'GEO,' 'LLMO,' 'answer engine optimization,' 'generative engine optimization,' 'LLM optimization,' 'AI Overviews,' 'optimize for ChatGPT,' 'optimize for Perplexity,' 'AI citations,' 'AI visibility,' 'zero-click search,' 'how do I show up in AI answers,' 'LLM mentions,' 'optimize for Claude/Gemini,' 'llms.txt,' 'llms-full.txt,' 'OKF,' 'Open Knowledge Format,' 'knowledge bundle,' 'agent-readable site,' 'agent readiness,' 'is my site

125K installs
AI Search (AEO and GEO)resciencelab/opc-skills

seo-geo

SEO & GEO (Generative Engine Optimization) for websites. Analyze keywords, generate schema markup, optimize for AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude) and traditional search (Google, Bing). Use when user wants to improve search visibility, search optimization, search ranking, AI visibility, ChatGPT ranking, Google AI Overview, indexing, JSON-LD, meta tags, or keyword research.

47.1K installs
AI Search (AEO and GEO)calm-north/seojuice-skills

optimize-for-ai

Optimize content for AI search engines — ChatGPT, Perplexity, Claude, Gemini, Google AI Overviews. Use when the user asks about AI SEO, AISO, getting cited by AI, appearing in AI answers, answer engine optimization, AEO, GEO, LLMO, AI Overviews, zero-click search, or how to appear in ChatGPT/Perplexity results. For traditional SEO, see diagnose-seo.

6.6K installs
AI Search (AEO and GEO)sanity-io/agent-toolkit

seo-aeo-best-practices

SEO and AEO best practices for metadata, Open Graph, sitemaps, robots.txt, hreflang, JSON-LD structured data, EEAT, and content optimized for search engines and AI answer surfaces. Use this skill when implementing page SEO, technical SEO, schema markup, international SEO, AI-overview readiness, or improving content for Google, ChatGPT, Perplexity, and similar assistants.

6.3K installs
AI Search (AEO and GEO)agricidaniel/claude-seo

seo-maps

Maps intelligence for local SEO: geo-grid rank tracking, GBP profile auditing via API, review intelligence across Google/Tripadvisor/Trustpilot, cross-platform NAP verification, competitor radius mapping, and LocalBusiness schema generation. Three tiers: free (Overpass + Geoapify), DataForSEO, and DataForSEO + Google. Use when user says "maps", "geo-grid", "rank tracking", "GBP audit", "review velocity", "competitor radius", or "SoLV".

4.9K installs
AI Search (AEO and GEO)agricidaniel/claude-seo

seo-dataforseo

Live SEO data via DataForSEO MCP server: SERP analysis, keyword research (volume, difficulty, intent, trends), backlink profiles, on-page analysis, competitor and content analysis, business listings, AI visibility (LLM mention tracking), and domain analytics. Requires DataForSEO extension installed. Use when user says "dataforseo", "live SERP", "keyword volume", "backlink data", "AI visibility check", or "real search data".

4.8K installs