Skill: geoly-geo/geo-prompt-researcher (version 1.0.1)

--- name: geo-prompt-researcher description: Discover high-value AI search prompts your target audience uses on ChatGPT, Perplexity, Gemini, and Claude. Research and generate comprehensive prompt lists for GEO (Generative Engine Optimization) strategy, including discovery, comparison, how-to, definition, and recommendation prompts. Use whenever the user mentions researching AI search queries, finding GEO prompts, building prompt monitoring lists, understanding what people ask AI about their brand/category, or wants to identify AI search opportunities for their product/service. --- # AI Prompt Researcher > Methodology by **GEOly AI** (geoly.ai) — in AI search, prompts are the new keywords. Research and generate AI search prompts that your target audience uses when seeking products, services, or information in your category. ## Quick Start Generate a prompt research report: ```bash python scripts/research_prompts.py --category "<category>" --brand "<brand>" --output report.md ``` Example: ```bash python scripts/research_prompts.py --category "project management software" \ --brand "Asana" \ --competitors "Monday.com,Notion,Trello" \ --output asana-prompts.md ``` ## Why Prompt Research Matters In traditional SEO, we optimize for keywords. In AI search (GEO), we optimize for prompts. **Key differences:** - **Keywords**: Short, fragmented (`best crm`) - **Prompts**: Natural language questions (`what's the best CRM for a 10-person sales team?`) Understanding the prompts your audience uses helps you: - Create content that answers those specific questions - Monitor brand visibility across AI platforms - Identify content gaps vs. competitors ## The 5 Prompt Types | Type | Pattern | Example | |------|---------|---------| | **Discovery** | "best [category] for [use case]" | "best GEO tool for e-commerce brands" | | **Comparison** | "[brand A] vs [brand B]" | "Notion vs Asana for project management" | | **How-To** | "how to [achieve outcome]" | "how to get my brand mentioned by ChatGPT" | | **Definition** | "what is [term/concept]" | "what is Share of Model in AI search" | | **Recommendation** | "recommend a [product] for [need]" | "recommend a CRM for real estate agents" | **Full taxonomy:** See [references/prompt-taxonomy.md](references/prompt-taxonomy.md) ## Research Methodology ### Step 1: Gather Context Collect from user: - **Brand name**: Your company/product - **Category**: Industry/product category - **Target audience**: Who buys your product - **Core use cases**: Primary jobs-to-be-done - **Competitors**: 3-5 main alternatives - **Key features**: Differentiating capabilities ### Step 2: Generate Prompts Create prompts across 4 awareness stages: | Stage | User Mindset | Example Prompts | |-------|--------------|-----------------| | **Problem-aware** | "I have a problem" | "how to manage remote teams", "why are projects always late" | | **Solution-aware** | "I need a solution" | "best project management software", "tools for team collaboration" | | **Product-aware** | "I'm considering options" | "Asana vs Monday.com", "Notion for project management" | | **Brand-aware** | "I know about you" | "Asana pricing", "does Asana have time tracking" | ### Step 3: Score & Prioritize Each prompt gets scored on: | Dimension | Scale | Factors | |-----------|-------|---------| | **Intent** | Info → Commercial | Likelihood to convert | | **Volume** | Low → High | Estimated query frequency | | **Competition** | Low → High | Difficulty to rank | | **Value** | Low → High | Business impact if won | **Priority tiers:** - 🔴 **High**: Commercial intent + high value - 🟡 **Medium**: Mixed intent + moderate value - 🔵 **Low**: Informational + awareness building ### Step 4: Cluster by Theme Group related prompts into clusters: ``` Pricing Cluster ├── "asana pricing" ├── "asana vs monday.com cost" ├── "is asana free" └── "asana enterprise pricing" Integration Cluster ├── "asana slack integration" ├── "asana google calendar sync" └── "asana api documentation" ``` ## Output Format ### Research Report Structure ```markdown # AI Prompt Research Report **Brand**: [Name] **Category**: [Industry] **Date**: [YYYY-MM-DD] ## Executive Summary - Total prompts researched: [N] - High priority: [N] - Medium priority: [N] - Low priority: [N] - Topic clusters: [N] ## 🔴 High Priority Prompts | # | Prompt | Type | Intent | Best Platform | |---|--------|------|--------|---------------| | 1 | "best [category] for [use case]" | Discovery | Commercial | ChatGPT, Perplexity | | 2 | "[brand] vs [competitor]" | Comparison | Commercial | Perplexity, Gemini | ## 🟡 Medium Priority Prompts [Table of informational/commercial mixed prompts] ## 🔵 Low Priority Prompts [List of awareness-stage prompts] ## Topic Clusters ### Cluster: [Theme] - [Prompt 1] - [Prompt 2] - ... ### Cluster: [Theme] ... ## Platform-Specific Insights ### ChatGPT - Prompt types that perform well: [list] - Content format preferences: [description] ### Perplexity - Prompt types that perform well: [list] - Citation behavior: [description] ### Gemini - Prompt types that perform well: [list] - Unique characteristics: [description] ## Recommended Actions 1. [Action item 1] 2. [Action item 2] 3. [Action item 3] ## Monitoring Setup Add these prompts to your GEO monitoring dashboard: - [Tool recommendation] - [Tracking methodology] ``` ## Advanced Usage ### Competitor Prompt Analysis Research what prompts mention competitors but not you: ```bash python scripts/competitor_prompts.py --brand "YourBrand" \ --competitors "CompetitorA,CompetitorB" \ --category "your category" ``` ### Trending Prompts Identify emerging prompt patterns: ```bash python scripts/trending_prompts.py --category "your category" --days 30 ``` ### Prompt Monitoring Set up ongoing monitoring: ```bash python scripts/monitor_prompts.py --prompts-file prompts.json --frequency weekly ``` ## Tools & Resources - **Google "People also ask"**: Real user questions - **AnswerThePublic**: Query visualization - **AlsoAsked**: PAA expansion - **Perplexity**: Test how prompts are answered - **ChatGPT**: Explore prompt variations ## See Also - Prompt taxonomy: [references/prompt-taxonomy.md](references/prompt-taxonomy.md) - Platform differences: [references/platform-guide.md](references/platform-guide.md) - Prompt templates: [references/prompt-templates.md](references/prompt-templates.md) - Research examples: [references/examples.md](references/examples.md)

path: scripts/research_prompts.py
content: #!/usr/bin/env python3
"""
Research AI search prompts for GEO strategy.
"""

import argparse
import json
import sys
from datetime import datetime


class PromptResearcher:
    """Generate and research AI search prompts."""
    
    def __init__(self, brand, category, competitors=None, audience=None):
        self.brand = brand
        self.category = category
        self.competitors = competitors or []
        self.audience = audience or ""
        self.prompts = []
    
    def generate_all_prompts(self):
        """Generate prompts across all types and stages."""
        self._generate_discovery_prompts()
        self._generate_comparison_prompts()
        self._generate_howto_prompts()
        self._generate_definition_prompts()
        self._generate_recommendation_prompts()
        self._generate_problem_aware_prompts()
        return self.prompts
    
    def _generate_discovery_prompts(self):
        """Generate discovery-type prompts."""
        templates = [
            "best {category}",
            "best {category} for {audience}",
            "top {category} tools",
            "top {category} for {audience}",
            "{category} recommendations",
            "{category} recommendations for {audience}",
            "what {category} should I use",
            "what is the best {category}",
        ]
        
        for template in templates:
            prompt = template.format(
                category=self.category,
                audience=self.audience or "teams"
            )
            self.prompts.append({
                "prompt": prompt,
                "type": "discovery",
                "intent": "commercial",
                "priority": "high"
            })
    
    def _generate_comparison_prompts(self):
        """Generate comparison prompts."""
        # Brand vs competitors
        for competitor in self.competitors[:3]:
            self.prompts.append({
                "prompt": f"{self.brand} vs {competitor}",
                "type": "comparison",
                "intent": "commercial",
                "priority": "high"
            })
            self.prompts.append({
                "prompt": f"{competitor} vs {self.brand}",
                "type": "comparison",
                "intent": "commercial",
                "priority": "high"
            })
            self.prompts.append({
                "prompt": f"{self.brand} or {competitor}",
                "type": "comparison",
                "intent": "commercial",
                "priority": "high"
            })
        
        # Competitor vs competitor (gaps)
        for i, comp1 in enumerate(self.competitors[:2]):
            for comp2 in self.competitors[i+1:3]:
                self.prompts.append({
                    "prompt": f"{comp1} vs {comp2}",
                    "type": "comparison",
                    "intent": "commercial",
                    "priority": "high",
                    "note": "Gap: Brand not mentioned"
                })
        
        # Alternative prompts
        for competitor in self.competitors[:2]:
            self.prompts.append({
                "prompt": f"alternative to {competitor}",
                "type": "comparison",
                "intent": "commercial",
                "priority": "high"
            })
            self.prompts.append({
                "prompt": f"cheaper alternative to {competitor}",
                "type": "comparison",
                "intent": "commercial",
                "priority": "medium"
            })
    
    def _generate_howto_prompts(self):
        """Generate how-to prompts."""
        templates = [
            "how to use {brand}",
            "how to get started with {category}",
            "how to choose {category}",
            "how to switch from {competitor} to {brand}",
            "how to implement {category}",
        ]
        
        for template in templates:
            if "{competitor}" in template and self.competitors:
                for comp in self.competitors[:2]:
                    self.prompts.append({
                        "prompt": template.format(brand=self.brand, category=self.category, competitor=comp),
                        "type": "how-to",
                        "intent": "informational",
                        "priority": "medium"
                    })
            else:
                self.prompts.append({
                    "prompt": template.format(brand=self.brand, category=self.category),
                    "type": "how-to",
                    "intent": "informational",
                    "priority": "medium"
                })
    
    def _generate_definition_prompts(self):
        """Generate definition prompts."""
        # Category definitions
        self.prompts.append({
            "prompt": f"what is {self.category}",
            "type": "definition",
            "intent": "informational",
            "priority": "medium"
        })
        
        # Brand definitions (if not well known)
        self.prompts.append({
            "prompt": f"what is {self.brand}",
            "type": "definition",
            "intent": "informational",
            "priority": "low"
        })
    
    def _generate_recommendation_prompts(self):
        """Generate recommendation prompts."""
        templates = [
            "recommend a {category}",
            "recommend {category} for {audience}",
            "suggest a {category}",
            "what {category} should I choose",
            "looking for {category}",
        ]
        
        for template in templates:
            self.prompts.append({
                "prompt": template.format(category=self.category, audience=self.audience or "my team"),
                "type": "recommendation",
                "intent": "commercial",
                "priority": "high"
            })
    
    def _generate_problem_aware_prompts(self):
        """Generate problem-aware prompts."""
        templates = [
            "how to solve [problem]",
            "why is [problem] happening",
            "best way to [achieve outcome]",
        ]
        
        # These are category-specific and would need customization
        # Adding placeholders for user to fill in
        self.prompts.append({
            "prompt": "[CUSTOMIZE: how to solve your audience's main problem]",
            "type": "problem-aware",
            "intent": "informational",
            "priority": "medium",
            "note": "Customize based on your audience's pain points"
        })
    
    def cluster_prompts(self):
        """Group prompts by theme."""
        clusters = {}
        
        for prompt in self.prompts:
            text = prompt["prompt"].lower()
            
            # Simple keyword-based clustering
            if any(word in text for word in ["vs", "compare", "alternative", "or"]):
                cluster = "comparisons"
            elif any(word in text for word in ["how to", "guide", "steps"]):
                cluster = "how-to"
            elif any(word in text for word in ["best", "top", "recommend"]):
                cluster = "discovery"
            elif "what is" in text:
                cluster = "definitions"
            elif "price" in text or "cost" in text or "free" in text:
                cluster = "pricing"
            else:
                cluster = "other"
            
            if cluster not in clusters:
                clusters[cluster] = []
            clusters[cluster].append(prompt)
        
        return clusters
    
    def generate_report(self):
        """Generate markdown report."""
        lines = [
            f"# AI Prompt Research Report\n",
            f"**Brand**: {self.brand}  ",
            f"**Category**: {self.category}  ",
            f"**Date**: {datetime.now().strftime('%Y-%m-%d')}\n",
            f"**Competitors**: {', '.join(self.competitors) if self.competitors else 'None specified'}\n",
            "---\n",
            "## Summary\n",
            f"- **Total prompts**: {len(self.prompts)}\n",
        ]
        
        # Count by priority
        high = sum(1 for p in self.prompts if p.get("priority") == "high")
        medium = sum(1 for p in self.prompts if p.get("priority") == "medium")
        low = sum(1 for p in self.prompts if p.get("priority") == "low")
        
        lines.append(f"- **High priority**: {high}")
        lines.append(f"- **Medium priority**: {medium}")
        lines.append(f"- **Low priority**: {low}\n")
        
        # High priority section
        lines.append("## 🔴 High Priority Prompts\n")
        high_prompts = [p for p in self.prompts if p.get("priority") == "high"]
        for i, prompt in enumerate(high_prompts[:20], 1):
            lines.append(f"{i}. \"{prompt['prompt']}\" — {prompt['type']}")
        if len(high_prompts) > 20:
            lines.append(f"\n... and {len(high_prompts) - 20} more\n")
        
        # Clusters
        lines.append("\n## Topic Clusters\n")
        clusters = self.cluster_prompts()
        for cluster_name, cluster_prompts in clusters.items():
            lines.append(f"### {cluster_name.title()} ({len(cluster_prompts)} prompts)")
            for p in cluster_prompts[:5]:
                lines.append(f"- \"{p['prompt']}\"")
            if len(cluster_prompts) > 5:
                lines.append(f"- ... and {len(cluster_prompts) - 5} more")
            lines.append("")
        
        # Recommendations
        lines.append("## Recommended Actions\n")
        lines.append("1. **Content priority**: Create comparison pages for top competitor pairs")
        lines.append("2. **Quick win**: Optimize existing content for 'best [category]' queries")
        lines.append("3. **Long-term**: Build comprehensive guides for how-to prompts")
        
        return '\n'.join(lines)


def main():
    parser = argparse.ArgumentParser(description="Research AI search prompts")
    parser.add_argument("--brand", required=True, help="Brand name")
    parser.add_argument("--category", required=True, help="Product category")
    parser.add_argument("--competitors", help="Comma-separated competitor names")
    parser.add_argument("--audience", help="Target audience description")
    parser.add_argument("--output", "-o", help="Output file (default: stdout)")
    parser.add_argument("--format", choices=["md", "json"], default="md", help="Output format")
    
    args = parser.parse_args()
    
    competitors = [c.strip() for c in args.competitors.split(",")] if args.competitors else []
    
    researcher = PromptResearcher(
        brand=args.brand,
        category=args.category,
        competitors=competitors,
        audience=args.audience
    )
    
    researcher.generate_all_prompts()
    
    if args.format == "json":
        output = json.dumps(researcher.prompts, indent=2)
    else:
        output = researcher.generate_report()
    
    if args.output:
        with open(args.output, 'w') as f:
            f.write(output)
        print(f"Report saved to: {args.output}", file=sys.stderr)
    else:
        print(output)


if __name__ == "__main__":
    main()


path: references/examples.md
content: # Research Examples

## Example 1: SaaS Project Management Tool

### Input

**Brand**: FlowTrack  
**Category**: Project management software  
**Target Audience**: Software engineering teams (10-200 people)  
**Key Features**: Sprint planning, Git integration, release management  
**Competitors**: Asana, Monday.com, Jira, Linear, Notion

### Research Output

---

# AI Prompt Research Report: FlowTrack

**Brand**: FlowTrack  
**Category**: Project Management Software  
**Research Date**: 2024-02-15

---

## Executive Summary

- **Total prompts identified**: 156
- **High-priority opportunities**: 42
- **Topic clusters**: 8
- **Critical gap**: Missing from "vs Linear" comparisons

### Top Opportunity
"best project management software for software teams" — 4,400 monthly AI queries, FlowTrack not mentioned in top 5

---

## 🔴 High Priority Prompts

### Discovery (12 prompts)

| # | Prompt | Est. Volume | Current Position |
|---|--------|-------------|------------------|
| 1 | "best project management software for software teams" | 4,400/mo | Not mentioned |
| 2 | "top project management tools for developers" | 2,900/mo | Not mentioned |
| 3 | "best alternative to Jira for agile teams" | 1,600/mo | #3 (opportunity) |
| 4 | "project management tool with Git integration" | 880/mo | #2 |
| 5 | "best sprint planning tool" | 720/mo | Not mentioned |

### Comparison (18 prompts)

| # | Prompt | Competitors Cited | FlowTrack Position |
|---|--------|-------------------|-------------------|
| 1 | "Asana vs Monday.com" | Both mentioned | Not present |
| 2 | "Linear vs Jira" | Both mentioned | Not present |
| 3 | "Notion vs Asana for engineering" | Both mentioned | Not present |
| 4 | "FlowTrack vs Linear" | Linear only | Gap! |
| 5 | "best Jira alternative" | 5 tools mentioned | Not present |

### Recommendation (8 prompts)

| # | Prompt | Requirements | Opportunity |
|---|--------|--------------|-------------|
| 1 | "recommend a project tool for 20-person dev team" | GitHub integration, sprints | High |
| 2 | "what PM tool should I choose for agile development" | Scrum support, reporting | High |
| 3 | "looking for Jira alternative that's easier to use" | Simple, fast onboarding | High |

---

## 🟡 Medium Priority Prompts

### How-To (15 prompts)

| # | Prompt | Content Needed |
|---|--------|----------------|
| 1 | "how to plan sprints effectively" | Sprint planning guide |
| 2 | "how to integrate GitHub with project management" | Integration tutorial |
| 3 | "how to reduce deployment time" | DevOps guide |
| 4 | "how to manage remote engineering teams" | Remote work guide |

### Definition (4 prompts)

| # | Prompt | Definition Page Status |
|---|--------|------------------------|
| 1 | "what is sprint planning" | Not on FlowTrack site |
| 2 | "what is release management" | Basic page exists |
| 3 | "what is velocity in agile" | Not on FlowTrack site |

---

## Topic Clusters

### Cluster 1: Sprint Planning (23 prompts)
**Priority**: 🔴 High  
**Content Status**: Gap

Prompts:
- "best sprint planning tool"
- "how to plan sprints"
- "sprint planning template"
- "sprint planning vs release planning"
- "automated sprint planning"

**Recommended Content**:
- "The Complete Guide to Sprint Planning" (pillar)
- "Sprint Planning Templates for Engineering Teams"
- "FlowTrack vs [Competitors] for Sprint Planning"

### Cluster 2: Git Integration (18 prompts)
**Priority**: 🔴 High  
**Content Status**: Partial

Prompts:
- "project management with GitHub integration"
- "connect GitLab to project tool"
- "best PM tool for developers"
- "git-based project management"

**Recommended Content**:
- "How FlowTrack's Git Integration Works" (feature page)
- "10 Ways to Connect Your Code to Your Project Management"

### Cluster 3: Jira Migration (15 prompts)
**Priority**: 🔴 High  
**Content Status**: Gap

Prompts:
- "best Jira alternative"
- "how to migrate from Jira"
- "Jira vs modern tools"
- "easier alternative to Jira"

**Recommended Content**:
- "The Jira Migration Guide" (comprehensive)
- "FlowTrack vs Jira: 2024 Comparison"
- "Why Teams Are Leaving Jira (And Where They're Going)"

### Cluster 4: Agile/Scrum (19 prompts)
**Priority**: 🟡 Medium  
**Content Status**: Partial

Prompts:
- "what is velocity in agile"
- "how to calculate sprint capacity"
- "scrum vs kanban"
- "agile project management best practices"

### Cluster 5: Team Size Specific (12 prompts)
**Priority**: 🟡 Medium  
**Content Status**: Gap

Prompts:
- "best project tool for startup"
- "project management for 10-person team"
- "enterprise project management"

### Cluster 6: Pricing/Cost (14 prompts)
**Priority**: 🟡 Medium  
**Content Status**: Complete

Prompts:
- "FlowTrack pricing"
- "cheaper alternative to Asana"
- "free project management tool"

### Cluster 7: Integrations (20 prompts)
**Priority**: 🟡 Medium  
**Content Status**: Partial

Prompts:
- "project management Slack integration"
- "connect Notion to Jira"
- "Zapier project management"

### Cluster 8: Remote Work (11 prompts)
**Priority**: 🔵 Low  
**Content Status**: Gap

Prompts:
- "managing remote engineering teams"
- "async project management"
- "remote team collaboration tools"

---

## Competitive Analysis

### Asana
**Strengths**: High brand awareness, strong content marketing  
**Prompts dominating**: "best project management software", "Asana vs Monday.com"

### Monday.com
**Strengths**: Heavy advertising, broad use cases  
**Prompts dominating**: "best project tool", "Monday.com vs Asana"

### Linear
**Strengths**: Developer-focused, high satisfaction  
**Prompts dominating**: "best tool for software teams", "Linear vs Jira"

**Critical Gap**: FlowTrack not appearing in "vs Linear" comparisons despite similar positioning

### Jira
**Strengths**: Enterprise presence, established brand  
**Prompts dominating**: "enterprise project management", "Jira alternatives"

---

## Platform-Specific Findings

### ChatGPT
- **Brand comprehension**: Poor — often confuses with generic "flow" tools
- **Answer example**: "Some popular project management tools include Asana, Monday.com, Trello, and Jira."
- **Gap**: FlowTrack not in training data examples

### Perplexity
- **Citation rate**: Never cited in 20 test queries
- **Competitors cited**: Asana (12x), Monday.com (10x), Linear (8x), Jira (15x)
- **Gap**: No authoritative content being sourced

### Gemini
- **Knowledge panel**: Not present
- **YouTube presence**: 2 videos, low views
- **Gap**: Insufficient multimedia content

---

## Immediate Actions

### This Week
1. **Create comparison page**: "FlowTrack vs Linear for Engineering Teams"
2. **Optimize existing**: Update sprint planning content with FAQ schema
3. **Fix brand confusion**: Add disambiguation on homepage

### This Month
1. **Publish pillar content**: "Complete Guide to Sprint Planning"
2. **Create migration resource**: "Jira to FlowTrack Migration Guide"
3. **Launch video series**: YouTube tutorials for top 10 how-to prompts

### This Quarter
1. **Comparison campaign**: Target all "[competitor] vs [competitor]" gaps
2. **Definition pages**: Build out agile glossary
3. **Integration marketplace**: Expand integration content

---

## Example 2: E-commerce Brand (Outdoor Gear)

### Input

**Brand**: TrailBlaze Co.  
**Category**: Outdoor gear and apparel  
**Target Audience**: Hikers and backpackers (ages 25-45)  
**Key Products**: Ultralight tents, sleeping bags, backpacks  
**Competitors**: REI, Patagonia, Arc'teryx, Osprey

### Key Findings

**Top Prompts**:
1. "best ultralight tent for backpacking" (6,600/mo)
2. "best sleeping bag for cold weather" (4,400/mo)
3. "Osprey vs Gregory backpacks" (2,900/mo)
4. "lightweight backpacking gear list" (2,400/mo)

**Critical Gap**: Not appearing in "best [product]" discovery prompts despite quality products

**Opportunity**: High volume of "how to choose" prompts with no clear winner

---

## Example 3: B2B Services (Marketing Agency)

### Input

**Brand**: GrowthStack Agency  
**Category**: Performance marketing agency  
**Target Audience**: B2B SaaS companies ($5-50M ARR)  
**Services**: Paid acquisition, CRO, marketing automation  
**Competitors**: Demand Curve, Refine Labs, KlientBoost

### Key Findings

**Top Prompts**:
1. "best SaaS marketing agency" (1,900/mo)
2. "B2B paid acquisition agency" (880/mo)
3. "marketing agency vs in-house" (720/mo)
4. "how to choose a marketing agency" (590/mo)

**Unique Opportunity**: High volume of "how much does" pricing prompts — transparency opportunity

**Platform Difference**: Perplexity heavily favors agencies with published case studies and data

path: references/prompt-templates.md
content: # Prompt Templates

## Research Input Template

Use this template to gather all necessary context for prompt research:

```markdown
# Prompt Research Input

## Brand Information
- **Brand name**: 
- **Website**: 
- **Tagline/one-liner**: 
- **Founded**: 
- **Headquarters**: 

## Product/Service
- **Category**: (e.g., "project management software")
- **Primary use case**: (e.g., "remote team collaboration")
- **Key features**: (3-5 differentiators)
- **Pricing model**: (free/freemium/subscription/enterprise)

## Target Audience
- **Primary persona**: (e.g., "VP Engineering at Series B startups")
- **Company size**: (e.g., "10-200 employees")
- **Industry verticals**: (e.g., "SaaS, e-commerce, agencies")
- **Pain points**: (What problems do they have?)

## Competitive Landscape
- **Direct competitors**: (3-5 similar products)
- **Adjacent competitors**: (Products in overlapping categories)
- **Legacy alternatives**: (Old way of solving the problem)

## Unique Positioning
- **Key differentiator**: (What makes you different?)
- **Proprietary advantage**: (Data, technology, approach)
- **Customer proof**: (Notable customers, case studies)

## Current GEO Status
- **Brand mentions in AI**: (Known/presumed)
- **Content gaps**: (Topics not covered)
- **Monitoring tools**: (Currently using)
```

---

## Output Report Template

```markdown
# AI Prompt Research Report

**Brand**: [Name]  
**Category**: [Industry]  
**Research Date**: [YYYY-MM-DD]  
**Researcher**: [Name/Team]

---

## Executive Summary

### Key Findings
- Total prompts identified: [N]
- High-priority opportunities: [N]
- Topic clusters: [N]
- Competitive gaps: [N]

### Strategic Recommendations
1. [Primary recommendation]
2. [Secondary recommendation]
3. [Tertiary recommendation]

---

## 🔴 High Priority Prompts (Commercial Intent)

### Discovery
| # | Prompt | Intent | Platform Priority |
|---|--------|--------|-------------------|
| 1 | "best [category] for [use case]" | Commercial | ChatGPT, Perplexity |
| 2 | "top [category] tools" | Commercial | All platforms |

### Comparison
| # | Prompt | Competitors Mentioned | Your Position |
|---|--------|----------------------|---------------|
| 1 | "[you] vs [competitor A]" | Competitor A | Monitor |
| 2 | "[competitor A] vs [competitor B]" | Competitors only | Gap |

### Recommendation
| # | Prompt | Requirements | Content Opportunity |
|---|--------|--------------|---------------------|
| 1 | "recommend [category] for [need]" | [Specific features] | [Recommendation guide] |

---

## 🟡 Medium Priority Prompts (Mixed Intent)

### How-To
| # | Prompt | Topic | Content Needed |
|---|--------|-------|----------------|
| 1 | "how to [achieve outcome]" | [Topic] | [Tutorial/guide] |

### Definition
| # | Prompt | Concept | Definition Page |
|---|--------|---------|-----------------|
| 1 | "what is [term]" | [Concept] | [URL needed] |

---

## 🔵 Low Priority Prompts (Awareness)

### Problem-Aware
- [List of problem-focused prompts]

### Informational
- [List of informational prompts]

---

## Topic Clusters

### Cluster 1: [Theme]
**Prompts**: [N]  
**Priority**: [High/Medium/Low]  
**Content Status**: [Complete/Partial/Gap]

Prompts in this cluster:
- [Prompt 1]
- [Prompt 2]
- ...

**Recommended Content**:
- [Content piece 1]
- [Content piece 2]

### Cluster 2: [Theme]
...

---

## Competitive Analysis

### Competitor: [Name A]
**Prompts mentioning them (not you)**: [N]

| Prompt | Their Position | Opportunity |
|--------|---------------|-------------|
| "[prompt]" | First mention | Create comparison |

### Competitor: [Name B]
...

---

## Platform-Specific Insights

### ChatGPT
- **Brand comprehension**: [Good/Fair/Poor]
- **Answer accuracy**: [Accurate/Partial/Inaccurate]
- **Hallucinations**: [None/Minor/Major]
- **Opportunities**: [Specific actions]

### Perplexity
- **Citation frequency**: [Often/Sometimes/Never]
- **Source position**: [First/Second/Not cited]
- **Competitor citations**: [List]

### Gemini
- **Knowledge panel**: [Present/Absent]
- **YouTube citations**: [Yes/No]
- **Local integration**: [Relevant/Not applicable]

---

## Action Items

### Immediate (This Week)
- [ ] [Action 1]
- [ ] [Action 2]

### Short-term (This Month)
- [ ] [Action 3]
- [ ] [Action 4]

### Long-term (This Quarter)
- [ ] [Action 5]
- [ ] [Action 6]

---

## Monitoring Setup

### Tools Recommended
- [Tool 1]: [Purpose]
- [Tool 2]: [Purpose]

### Key Metrics
- Brand mention frequency
- Citation rate
- Answer accuracy
- Competitive Share of Model

### Review Cadence
- **Weekly**: Quick spot checks
- **Monthly**: Comprehensive review
- **Quarterly**: Strategic assessment

---

## Appendix

### Full Prompt List
[Complete list of all researched prompts]

### Research Methodology
[How prompts were identified and validated]

### Data Sources
[Tools and sources used]
```

---

## Quick-Start Prompt Sets

### For SaaS Companies

**Discovery**:
- "best [category] software"
- "top [category] tools for [audience]"
- "[category] recommendations for [company size]"
- "what [category] should I use"

**Comparison**:
- "[you] vs [competitor 1]"
- "[you] vs [competitor 2]"
- "[competitor 1] alternative"
- "cheaper alternative to [competitor]"

**Feature-Specific**:
- "[category] with [key feature]"
- "does [you] have [feature]"
- "[you] [feature] review"

**Pricing**:
- "[you] pricing"
- "[you] cost"
- "is [you] free"
- "[you] vs [competitor] price"

### For E-commerce

**Product Discovery**:
- "best [product category]"
- "top rated [product]"
- "[product] reviews"
- "[product] recommendations"

**Comparison**:
- "[brand A] vs [brand B]"
- "[product] alternative"
- "cheaper alternative to [product]"

**Use Case**:
- "best [product] for [use case]"
- "[product] for [audience]"

### For Local Businesses

**Service Discovery**:
- "best [service] near me"
- "[service] in [city]"
- "top rated [service]"
- "[service] reviews"

**Specific Needs**:
- "[service] open now"
- "affordable [service]"
- "[service] with [feature]"

---

## Prompt Research Checklist

### Before Research
- [ ] Brand information collected
- [ ] Competitors identified
- [ ] Target audience defined
- [ ] Current content inventory reviewed

### During Research
- [ ] All 5 prompt types covered
- [ ] All 4 awareness stages included
- [ ] Competitor prompts analyzed
- [ ] Platform differences noted

### After Research
- [ ] Prompts prioritized
- [ ] Topic clusters identified
- [ ] Content gaps noted
- [ ] Action items defined
- [ ] Monitoring setup planned

path: references/platform-guide.md
content: # AI Platform Guide

## Platform-Specific Characteristics

### ChatGPT (OpenAI)

**Answer Style**: Conversational, comprehensive

**Citation Behavior**:
- Rarely cites sources explicitly in default mode
- Browse with Bing provides citations
- Training data cutoff limits recency

**Prompt Types That Perform Well**:
- Definition questions
- How-to guides
- Creative tasks
- Exploratory queries

**Content Preferences**:
- Clear, direct answers
- Structured with headers
- Bulleted lists
- Comprehensive coverage

**GEO Implications**:
- Brand mentions require training data presence
- Older content has advantage (pre-2024)
- Web browsing mode increasingly important
- Direct answers prioritized

**Monitoring Approach**:
- Test in both standard and browse modes
- Check brand mentions across GPT-3.5 and GPT-4
- Monitor for hallucinations

---

### Perplexity

**Answer Style**: Research-focused, citation-heavy

**Citation Behavior**:
- Always cites sources
- Links to original content
- Shows multiple perspectives
- Real-time web search

**Prompt Types That Perform Well**:
- Comparison queries
- Research questions
- Current events
- Fact-checking

**Content Preferences**:
- Authoritative sources
- Recent publications
- Well-structured articles
- FAQ format

**GEO Implications**:
- Citations are visible and trackable
- Source diversity matters
- Recency heavily weighted
- Domain authority signals important

**Monitoring Approach**:
- Track citation frequency
- Monitor source position (first cited = high value)
- Check answer accuracy
- Watch for competitor citations

---

### Gemini (Google)

**Answer Style**: Balanced, Google-ecosystem integrated

**Citation Behavior**:
- Moderate citation frequency
- Often synthesizes without explicit attribution
- Links to Google sources (YouTube, Maps)

**Prompt Types That Perform Well**:
- Local queries
- How-to with visual elements
- Product comparisons
- YouTube-related content

**Content Preferences**:
- YouTube video content
- Local business data
- Structured data (Schema.org)
- Comprehensive guides

**GEO Implications**:
- YouTube presence valuable
- Local SEO factors apply
- Google Business Profile important
- Schema markup helps understanding

**Monitoring Approach**:
- Test across query types
- Monitor YouTube citations
- Check local pack integration
- Track knowledge panel presence

---

### Claude (Anthropic)

**Answer Style**: Nuanced, safety-conscious

**Citation Behavior**:
- Limited explicit citation
- References sources in text
- Conservative about claims

**Prompt Types That Perform Well**:
- Complex reasoning
- Ethical considerations
- Long-form analysis
- Creative writing

**Content Preferences**:
- High-quality sources
- Balanced perspectives
- Detailed explanations
- Original insights

**GEO Implications**:
- Quality over quantity
- Unique data highly valued
- Safety and accuracy important
- Long-form content performs well

**Monitoring Approach**:
- Test for brand comprehension
- Monitor for balanced mentions
- Check accuracy of representations

---

## Platform Comparison

| Factor | ChatGPT | Perplexity | Gemini | Claude |
|--------|---------|------------|--------|--------|
| **Citation Style** | Minimal/Contextual | Explicit links | Moderate | Textual |
| **Recency** | Limited (browse mode) | Real-time | Real-time | Limited |
| **Source Visibility** | Low | High | Medium | Low |
| **Answer Length** | Medium-Long | Medium | Medium | Long |
| **Best For** | Definitions, How-to | Research, Compare | Local, Visual | Analysis, Complex |
| **Training Data** | Pre-2024 + Browse | Real-time | Real-time | Pre-2024 |
| **Commercial Intent** | Medium | High | High | Low |

---

## Platform-Specific Optimization

### For ChatGPT

**Tactics**:
- Ensure brand is in training data (pre-2024 content)
- Create comprehensive definitional content
- Use clear, direct answer formats
- Structure with headers and lists
- Target how-to and tutorial content

**Content Types**:
- Ultimate guides
- Glossaries
- Step-by-step tutorials
- Comparison articles

---

### For Perplexity

**Tactics**:
- Publish authoritative, citable content
- Keep content current and updated
- Use FAQ format for common questions
- Include data and statistics
- Ensure fast page load (crawl frequency)

**Content Types**:
- Research reports
- Data studies
- Comprehensive FAQs
- Comparison pages

---

### For Gemini

**Tactics**:
- Optimize YouTube content
- Maintain Google Business Profile
- Implement Schema markup
- Create visual/multimedia content
- Target local queries

**Content Types**:
- Video tutorials
- Local landing pages
- How-to with images
- Product demos

---

### For Claude

**Tactics**:
- Publish original research
- Provide nuanced analysis
- Ensure factual accuracy
- Create long-form, comprehensive content
- Address ethical considerations

**Content Types**:
- Industry analysis
- Thought leadership
- Research papers
- In-depth guides

---

## Cross-Platform Strategy

### Universal Best Practices

1. **Direct Answers First**: All platforms favor clear, upfront answers
2. **Structured Content**: Headers, lists, and tables help all platforms parse
3. **Entity Clarity**: Named brands, products, and people understood by all
4. **Factual Accuracy**: Corrections and accuracy matter across platforms
5. **Comprehensive Coverage**: Thorough content outperforms thin pages

### Platform-Specific Monitoring

Set up monitoring for each platform:

```
Weekly Checks:
├── ChatGPT: Brand comprehension, answer accuracy
├── Perplexity: Citation frequency, source position
├── Gemini: Knowledge panel, YouTube citations
└── Claude: Brand mention context, accuracy

Monthly Analysis:
├── Compare visibility across platforms
├── Identify platform-specific gaps
├── Adjust content strategy per platform
└── Track competitor presence
```

### Measurement Framework

| Platform | Primary Metric | Secondary Metrics |
|----------|----------------|-------------------|
| ChatGPT | Mention accuracy | Answer completeness |
| Perplexity | Citation rate | Source position |
| Gemini | Knowledge panel | YouTube integration |
| Claude | Mention frequency | Context accuracy |

path: references/prompt-taxonomy.md
content: # Prompt Taxonomy

## The 5 Core Prompt Types

### 1. Discovery Prompts

**Purpose**: Find solutions in a category

**Patterns**:
- "best [category] for [use case]"
- "top [category] tools"
- "[category] recommendations"
- "what [category] should I use"

**Examples**:
- "best CRM for real estate agents"
- "top project management software for startups"
- "email marketing tools for e-commerce"
- "what accounting software should I use for my small business"

**Intent**: Commercial investigation
**AI Platform**: ChatGPT, Perplexity, Gemini
**GEO Priority**: 🔴 High

**Characteristics**:
- User knows the category
- User has a specific use case
- Ready to evaluate options
- High conversion potential

---

### 2. Comparison Prompts

**Purpose**: Compare specific options

**Patterns**:
- "[brand A] vs [brand B]"
- "[brand A] or [brand B]"
- "[brand A] compared to [brand B]"
- "difference between [brand A] and [brand B]"

**Examples**:
- "Salesforce vs HubSpot"
- "Notion or Asana for project management"
- "MacBook Air compared to MacBook Pro"
- "difference between Zoom and Microsoft Teams"

**Intent**: Commercial evaluation
**AI Platform**: Perplexity (citation-heavy), Gemini
**GEO Priority**: 🔴 High

**Characteristics**:
- User is shortlisting
- Specific brands mentioned
- Decision-making stage
- Comparison content opportunity

---

### 3. How-To Prompts

**Purpose**: Learn to achieve an outcome

**Patterns**:
- "how to [achieve outcome]"
- "how do I [solve problem]"
- "steps to [accomplish goal]"
- "guide to [process]"

**Examples**:
- "how to get my brand mentioned in ChatGPT"
- "how do I optimize for AI search"
- "steps to implement GEO strategy"
- "guide to measuring Share of Model"

**Intent**: Informational with commercial potential
**AI Platform**: ChatGPT, Perplexity
**GEO Priority**: 🟡 Medium

**Characteristics**:
- Problem-aware
- Seeks solution method
- Educational content opportunity
- Can lead to tool recommendations

---

### 4. Definition Prompts

**Purpose**: Understand a concept

**Patterns**:
- "what is [term/concept]"
- "explain [concept]"
- "meaning of [term]"
- "define [term]"

**Examples**:
- "what is Generative Engine Optimization"
- "explain Share of Model"
- "meaning of zero-click search"
- "define retrieval-augmented generation"

**Intent**: Informational
**AI Platform**: All platforms (especially ChatGPT)
**GEO Priority**: 🟡 Medium

**Characteristics**:
- Early research stage
- Concept education
- Authority building opportunity
- Can introduce branded terms

---

### 5. Recommendation Prompts

**Purpose**: Get personalized suggestions

**Patterns**:
- "recommend a [product] for [need]"
- "suggest [category] for [situation]"
- "what [product] should I choose"
- "looking for [category] that [requirement]"

**Examples**:
- "recommend a laptop for video editing under $2000"
- "suggest a CRM for a 5-person sales team"
- "what email tool should I choose for drip campaigns"
- "looking for project management software that integrates with GitHub"

**Intent**: Commercial with specific requirements
**AI Platform**: ChatGPT, Perplexity
**GEO Priority**: 🔴 High

**Characteristics**:
- Specific constraints mentioned
- Personalized need
- Ready to purchase
- Feature comparison likely

---

## Prompt Variations by Audience Awareness

### Problem-Aware Stage

User knows they have a problem but doesn't know solutions exist.

**Prompt Patterns**:
- "why is [problem happening]"
- "how to fix [problem]"
- "[problem] solutions"
- "dealing with [problem]"

**Examples**:
- "why are my marketing emails going to spam"
- "how to fix low email open rates"
- "team communication problems solutions"
- "dealing with project scope creep"

**Content Strategy**: Educational, problem-focused
**GEO Priority**: 🟡 Medium

---

### Solution-Aware Stage

User knows solutions exist but is exploring options.

**Prompt Patterns**:
- "best [solution type]"
- "[solution type] tools"
- "how to choose [solution type]"
- "[solution type] reviews"

**Examples**:
- "best email marketing platforms"
- "project management tools for remote teams"
- "how to choose a CRM"
- "email automation software reviews"

**Content Strategy**: Category education, comparison frameworks
**GEO Priority**: 🔴 High

---

### Product-Aware Stage

User knows about specific products and is evaluating.

**Prompt Patterns**:
- "[brand] reviews"
- "[brand] pricing"
- "[brand] vs [competitor]"
- "is [brand] worth it"

**Examples**:
- "HubSpot reviews"
- "Salesforce pricing"
- "Asana vs Monday.com"
- "is Notion worth it for personal use"

**Content Strategy**: Product-specific content, comparisons
**GEO Priority**: 🔴 High

---

### Brand-Aware Stage

User knows your brand and is investigating specifics.

**Prompt Patterns**:
- "[brand] [feature]"
- "does [brand] [capability]"
- "[brand] [integration]"
- "[brand] alternatives"

**Examples**:
- "HubSpot workflow automation"
- "does Asana have time tracking"
- "Salesforce Slack integration"
- "Mailchimp alternatives"

**Content Strategy**: Feature documentation, use cases, alternatives
**GEO Priority**: 🟡 Medium

---

## Prompt Modifiers

Modifiers change the intent or specificity of base prompts.

### Use Case Modifiers

| Modifier | Example | Intent Shift |
|----------|---------|--------------|
| "for [audience]" | "best CRM for real estate" | More specific |
| "for [use case]" | "laptop for video editing" | Use case focused |
| "for [size]" | "project tool for enterprise" | Scale specific |
| "for [budget]" | "CRM under $50/month" | Price sensitive |

### Constraint Modifiers

| Modifier | Example | Intent Shift |
|----------|---------|--------------|
| "with [feature]" | "email tool with A/B testing" | Feature requirement |
| "without [limitation]" | "CRM without contact limits" | Avoidance |
| "that integrates with [tool]" | "PM tool that integrates with Slack" | Integration need |
| "alternative to [brand]" | "alternative to Salesforce" | Comparison |

### Quality Modifiers

| Modifier | Example | Intent Shift |
|----------|---------|--------------|
| "best" | "best project management software" | Quality focused |
| "cheapest" | "cheapest email marketing" | Price focused |
| "easiest" | "easiest CRM to set up" | Usability focused |
| "most popular" | "most popular CRM" | Social proof |

---

## Prompt Clustering

Group related prompts to identify content themes.

### Example: CRM Cluster

```
Discovery
├── "best CRM software"
├── "top CRM for small business"
└── "CRM recommendations for sales teams"

Comparison
├── "Salesforce vs HubSpot"
├── "HubSpot vs Zoho"
└── "Pipedrive compared to Salesforce"

Features
├── "CRM with email integration"
├── "CRM with workflow automation"
└── "does HubSpot have API access"

Pricing
├── "Salesforce pricing"
├── "HubSpot free vs paid"
└── "cheapest CRM for startups"
```

### Clustering Benefits

1. **Content planning**: Create comprehensive guides per cluster
2. **Internal linking**: Connect related content
3. **Monitoring**: Track visibility by topic area
4. **Gap analysis**: Identify underrepresented themes

---

## Prompt Intent Classification

### Informational
- User seeks knowledge
- No immediate purchase intent
- Educational content opportunity

**Examples**: "what is GEO", "how does AI search work"

### Commercial Investigation
- User researching options
- Evaluating before purchase
- Comparison content opportunity

**Examples**: "best GEO tools", "GEOly vs BrightEdge"

### Transactional
- User ready to buy
- Specific product/brand focus
- Conversion content opportunity

**Examples**: "GEOly pricing", "sign up for GEOly"

### Navigational
- User looking for specific site/page
- Brand or product name included
- Ensure findability

**Examples**: "GEOly login", "GEOly documentation"

path: evals/evals.json
content: {
  "skill_name": "geo-prompt-researcher",
  "evals": [
    {
      "id": 1,
      "name": "generate-prompt-research",
      "prompt": "Research AI search prompts for our brand. We're FlowTrack (project management for software teams), competitors are Asana, Monday.com, and Linear. Target audience is engineering teams at startups.",
      "expected_output": "Comprehensive prompt research report with discovery, comparison, how-to, and recommendation prompts organized by priority and topic clusters."
    },
    {
      "id": 2,
      "name": "identify-competitor-gaps",
      "prompt": "Find the prompt opportunities where our competitors are mentioned but we're not. Focus on comparison queries.",
      "expected_output": "List of comparison prompts (e.g., 'Competitor A vs Competitor B') where the brand is absent, indicating content gaps."
    },
    {
      "id": 3,
      "name": "cluster-by-topic",
      "prompt": "Group these researched prompts by topic theme so we can plan content: [user provides prompt list]",
      "expected_output": "Prompts organized into logical clusters (e.g., Pricing, Features, Comparisons, How-To) with content recommendations per cluster."
    },
    {
      "id": 4,
      "name": "platform-specific-prompts",
      "prompt": "Which of these prompts are most likely to be answered on Perplexity vs ChatGPT? We need to prioritize our platform strategy.",
      "expected_output": "Prompts categorized by platform (Perplexity for research/comparison, ChatGPT for how-to/definitions) with platform-specific recommendations."
    },
    {
      "id": 5,
      "name": "priority-scoring",
      "prompt": "Score these prompts by commercial intent and prioritize which ones we should target first.",
      "expected_output": "Prompts scored and ranked by intent (commercial vs informational), volume estimates, and business value with prioritized action list."
    }
  ]
}


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)