Install
$ agentstack add skill-openclaudia-openclaudia-skills-geo-query-finder ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
GEO Query Finder
Find which ChatGPT search queries mention a given brand. Tests long-tail queries against ChatGPT's web-search-enabled model and reports which ones surface the brand.
Trigger
Use when the user asks to "find queries for [brand]", "check GEO visibility", "which queries mention [brand]", "geo query finder", "find AI mentions", or "test ChatGPT queries for [brand]".
Usage
/geo-query-finder [--industry ] [--features ] [--queries ]
Examples:
/geo-query-finder "Acme Corp"— auto-researches the brand and generates queries/geo-query-finder "Acme Corp" --industry "smart TV OS" --features "white-label,voice-control,OEM licensing"/geo-query-finder "Acme Corp" --queries "best regulatory AI;eCTD validation tool;pharma compliance software"
How It Works
Step 0: Pull pre-indexed LLM mentions (DataForSEO) — do this FIRST
Before generating speculative queries, check if DataForSEO already has indexed mentions for the brand's domain. If it does, you get ground-truth queries with search volume in one call instead of burning OpenAI dollars guessing.
Auth via DATAFORSEO_LOGIN / DATAFORSEO_PASSWORD environment variables.
AUTH=$(printf '%s' "$DATAFORSEO_LOGIN:$DATAFORSEO_PASSWORD" | base64)
# Google AI Overview citations
curl -s -X POST "https://api.dataforseo.com/v3/ai_optimization/llm_mentions/search/live" \
-H "Authorization: Basic $AUTH" -H "Content-Type: application/json" \
-d '[{"target":[{"domain":"","search_filter":"include","include_subdomains":true}],"platform":"google","limit":700}]'
# ChatGPT citations (substitute "platform":"chat_gpt")
Critical flags:
"include_subdomains": true— without it, apex domains return 0 results (www.X treated as a different domain).- Omit
location_codeto get global results; add"location_code": 2840only to scope to US. platformoptions:"google"(AI Overview),"chat_gpt". Perplexity is NOT supported via this dataset.
Extract from each items[]:
question— the real search query where the brand was citedai_search_volume— monthly AI search volume (use to prioritize)sources[]— entries withdomainmatching the brand have the exact cited URLlocation_code,language_code,model_name— for geo/locale breakdownanswer— the LLM answer text (for context)
Decision rule:
- If ≥20 queries returned → skip Steps 1–4 entirely; report these as ground-truth mentions and focus Step 5 on gap analysis (sort by volume, find URL-section winners like
/guides/vs/tools/). - If "}],
"max_tokens": 1000 }).encode()
req = urllib.request.Request( "https://api.openai.com/v1/chat/completions", data=data, headers={ "Authorization": f"Bearer {OPENAIAPIKEY}", "Content-Type": "application/json" } )
resp = urllib.request.urlopen(req, context=ssl.createdefaultcontext(), timeout=45) result = json.loads(resp.read()) answer = result["choices"][0]["message"]["content"]
### Step 4: Check Mentions
For each query, check if the brand name (or known aliases) appears in ChatGPT's response:
- Check case-insensitive match
- Check variations (with/without spaces, dots, hyphens)
- If mentioned, extract the surrounding context (200 chars around the mention)
- Note the position (is it #1 recommended? listed among many? mentioned in passing?)
### Step 5: Report Results
Output a summary table:
GEO Query Finder Results: [Brand Name]
Mentioned (X/N queries)
| Query | Position | Context | |-------|----------|---------| | ... | #1 | "Brand is the leading..." |
Not Mentioned (Y/N queries)
| Query | What ChatGPT Recommended Instead | |-------|----------------------------------| | ... | Competitor A, Competitor B |
Recommendations
- Queries where brand is ALREADY mentioned: create more authoritative content to maintain/improve position
- Queries where brand is NOT mentioned but SHOULD be: these are content gaps — create targeted pages
- Queries to AVOID: too generic, dominated by big players, not worth the effort
## Rate Limiting
- Run queries sequentially with 1-2 second delays to avoid rate limits
- Each query costs ~$0.01 via OpenAI API
- Default: 15-20 queries per run (~$0.15-0.20 per run)
## Notes
- Results reflect ChatGPT with web search enabled (grounded in real-time web results)
- Results may vary slightly between runs due to search freshness
- This tests ChatGPT specifically — Gemini and Copilot may give different results
- For ongoing monitoring, consider scheduling periodic runs to track visibility changes over time
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [OpenClaudia](https://github.com/OpenClaudia)
- **Source:** [OpenClaudia/openclaudia-skills](https://github.com/OpenClaudia/openclaudia-skills)
- **License:** MIT
- **Homepage:** https://openclaudia.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.