name: geo-gap-fixer description: "Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan." category: "GTM Intelligence" version: "1.0.0"
GEO Gap Fixer
Agent skill that audits LLM brand visibility and converts gaps into a concrete GEO content action plan.
When to Use
Use this skill when a user wants to audit their Generative Engine Optimization (GEO) share-of-voice to know which LLM prompts their brand is losing, understand why competitors are recommended instead, and get a specific content fix plan.
Do NOT use this skill for: general SEO audits, paid ad optimization, or continuous social media monitoring. This is a point-in-time LLM visibility audit.
Step 1: Inputs
To run the audit, the user must provide API keys and a configuration file. Ensure the following are set up:
- API Keys: At least 2 of 4 keys must be set in the environment or
.envfile (OPENAI_API_KEY,ANTHROPIC_API_KEY,GOOGLE_API_KEY,PERPLEXITY_API_KEY). - Dependencies:
pip install openai anthropic google-genai - Config File:
config.json(copied fromconfig.example.json) must contain:brand_name(string, required)competitors(list of strings, required, 1-10 entries)category(string, required)buyer_intent_prompts(list of strings, optional. If empty, 20 prompts are auto-generated)target_llms(list of strings, optional)website_url(string, optional)
Step 2: Execution Pipeline
Run the following scripts in order. Stop and ask for clarification if any script fails.
python scripts/probe_llms.py(Optional: append--dry-runto test config without API calls)- Sends buyer-intent prompts to the configured LLM APIs.
- Saves responses to
data/raw_responses.json.
python scripts/analyze_results.py- Analyzes raw responses for brand mentions, ranking, sentiment, and cited domains.
- Saves structured analysis to
data/analysis.json.
python scripts/build_report.py- Assembles the final 5-section GEO audit report.
- Saves to
report/geo_audit_report.mdandreport/geo_audit_report.json.
Step 3: Outputs & Interpretation
The primary output is report/geo_audit_report.md. Present its findings to the user.
Key Sections to Interpret:
- Share-of-Voice Table: A mention rate below 30% is critical. Mention rate is the % of prompts where the brand is recommended.
- Prompt-Level Loss Log: Which exact prompts the brand lost and to whom.
- Competitor Language Patterns: The specific adjectives LLMs use for competitors.
- Citation Gap List: Domains LLMs cite that the brand is missing from.
- GEO Action Plan: Prioritized fixes (🔴 Critical, 🟡 High Priority, 🟢 Growth Plays).
Direct the user to the GEO Action Plan first, as it contains the concrete steps to fix the gaps identified in the audit.
Step 4: Error Handling
If you encounter issues while executing the pipeline, follow these rules:
| Condition | Agent Action |
|---|---|
Missing config.json |
Tell the user to copy config.example.json and fill it out. |
| Invalid JSON in config | Notify the user of the parse error location and ask them to fix it. |
| Missing required fields | List the exact missing fields (brand_name, competitors, category). |
| No API keys set | Ask the user to export at least 2 of the 4 supported API keys. |
| 1 API key only | Warn the user that results are less reliable, but proceed with the run. |
| Transient API failure | The script auto-retries. If it fails completely, it skips the provider. |
| Persistent API failure | The script skips the provider gracefully. Continue the pipeline. |
| Zero responses | The script exits non-zero. Notify the user to check API keys or config. |
| Missing upstream data file | Re-run the preceding script in the pipeline (e.g., probe before analyze). |
Limitations to keep in mind:
- This is a point-in-time audit, not a background monitor.
- Sentiment analysis uses keyword proximity, not deep NLP.
- API costs apply for each run (typically ~$0.50–$2.00).