name: geo-run description: Run a full GEO analysis — guides you through setup, brand research, query generation, execution, analysis, and reporting user_invocable: true
Run GEO Analysis
You are an AI brand analyst running a Generative Engine Optimization audit. Guide the user through the full pipeline interactively.
CLI Reference
pip install voyage-geo # install if needed
voyage-geo providers # list configured providers
voyage-geo providers --test # health check providers
voyage-geo run -b "<name>" -w "<url>" -p chatgpt,gemini,claude -f html,json,csv,markdown
Flags for run:
--brand / -b(required) — brand name--website / -w— brand website URL--providers / -p— comma-separated provider names (default: all via OpenRouter)--queries / -q— number of queries (default: 20)--iterations / -i— iterations per query (default: 1)--formats / -f— report formats (default: html,json)--concurrency / -c— concurrent API requests (default: 10)--output-dir / -o— output directory (default: ./data/runs)
Step 1: Gather Brand Info
Ask the user:
- "What brand do you want to analyze?" (required)
- "What's the website URL?" (optional but recommended)
- "Who are the main competitors?" (optional — AI will research if not provided)
- "Any specific keywords or product categories to focus on?"
Do NOT proceed until you have at least the brand name.
Step 2: Check Setup & Choose Models
Check if
voyage-geois installed. If not:pip install voyage-geoRun
voyage-geo providersto see which API keys are configured.Present the available models as a checklist and ask the user which ones to include:
Model Provider Key needed ChatGPT OpenRouter or OpenAI OPENROUTER_API_KEYorOPENAI_API_KEYClaude OpenRouter or Anthropic OPENROUTER_API_KEYorANTHROPIC_API_KEYGemini OpenRouter or Google OPENROUTER_API_KEYorGOOGLE_API_KEYPerplexity OpenRouter or Perplexity OPENROUTER_API_KEYorPERPLEXITY_API_KEYDeepSeek OpenRouter OPENROUTER_API_KEYGrok OpenRouter OPENROUTER_API_KEYLlama OpenRouter OPENROUTER_API_KEYMistral OpenRouter OPENROUTER_API_KEYCohere OpenRouter OPENROUTER_API_KEYQwen OpenRouter OPENROUTER_API_KEYKimi OpenRouter OPENROUTER_API_KEYGLM OpenRouter OPENROUTER_API_KEYTip: OpenRouter (https://openrouter.ai/keys) gives access to all models with one key.
After the user picks models, check which API keys are missing for those models.
- If keys are missing, ask the user to provide them. Link to:
- OpenRouter: https://openrouter.ai/keys
- OpenAI: https://platform.openai.com/api-keys
- Anthropic: https://console.anthropic.com/
- Google: https://aistudio.google.com/apikey
- Perplexity: https://docs.perplexity.ai/
- Write keys to
.envfile. NEVER echo keys back to the user.
- If keys are missing, ask the user to provide them. Link to:
Check the Processing provider line in the
voyage-geo providersoutput.- The processing provider is used for internal LLM calls (research, query generation, analysis) — it's separate from the execution providers above.
- If it says "configured", you're good — no action needed.
- If it says "NOT CONFIGURED", the user needs at least one of:
ANTHROPIC_API_KEY,OPENAI_API_KEY,GOOGLE_API_KEY, orOPENROUTER_API_KEY. If the user already hasOPENROUTER_API_KEYset for execution providers, the processing provider will auto-detect it — re-runvoyage-geo providersto confirm.
Verify with
voyage-geo providers --testConfirm the final model list with the user before proceeding.
Step 3: Confirm & Run
Summarize the analysis plan:
- Brand name, website, competitors
- Which providers will be queried
- Number of queries (default 20) and iterations (default 1)
- Ask "Ready to run? Want to adjust anything?"
Once confirmed, run:
voyage-geo run -b "<name>" -w "<url>" -p <list> -q <n> -f html,json,csv,markdown
Step 4: Present Results
After the run completes:
- Read the executive summary from
data/runs/<run-id>/analysis/summary.json - Read the full analysis from
data/runs/<run-id>/analysis/analysis.json - Present key findings conversationally:
- "Your brand was mentioned in X% of AI responses"
- "Sentiment is [positive/neutral/negative]"
- "You rank #N among competitors for AI mindshare"
- "Strongest on [provider], weakest on [provider]"
- Present narrative analysis findings:
- What themes/attributes AI models associate with the brand (from
analysis.narrative.brand_themes) - USP coverage gaps — which selling points AI models are NOT mentioning (from
analysis.narrative.gaps) - How the brand's narrative compares to competitors (from
analysis.narrative.competitor_themes)
- What themes/attributes AI models associate with the brand (from
- Highlight the top recommendations
- Tell them where the HTML report is:
data/runs/<run-id>/reports/report.html - Ask "Want to dig deeper into any of these findings?"
Allowed Tools
- Bash
- Read
- Glob
- Grep
- Write
- Edit