/prd-v09-aeo-audit
Audit how AI search engines (ChatGPT, Perplexity, Google AI Overviews, Claude) describe and recommend your product, then propose fixes. Triggers on requests to audit AI search visibility, improve AEO/GEO, check ChatGPT/Perplexity coverage, or when user asks "do we show up in AI
$ npx -y skills add mattgierhart/PRD-driven-context-engineering --skill prd-v09-aeo-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/prd-v09-aeo-audit
Context preview
The summary Claude sees to decide when to auto-load this skill.
Audit how AI search engines (ChatGPT, Perplexity, Google AI Overviews, Claude) describe and recommend your product, then propose fixes. Triggers on requests to audit AI search visibility, improve AEO/GEO, check ChatGPT/Perplexity coverage, or when user asks "do we show up in AI
SKILL.md
prd-v09-aeo-audit.SKILL.mdname: prd-v09-aeo-audit
description: >
Audit how AI search engines (ChatGPT, Perplexity, Google AI Overviews, Claude) describe and
recommend your product, then propose fixes. Triggers on requests to audit AI search visibility,
improve AEO/GEO, check ChatGPT/Perplexity coverage, or when user asks "do we show up in AI
search?", "AEO audit", "generative engine optimization", "AI discoverability", "how does
ChatGPT describe us?", "Perplexity ranking". Outputs GTM-AEO-* entries and a Coverage Matrix.
context: fork
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- WebSearch
- WebFetch
execution_modes:
default: standard
supports: [quick, standard, deep]
AEO Audit (AI Search Discoverability)
Position in workflow: v0.9 Launch Channels (ORB) → **v0.9 AEO Audit** → v0.9 Alternatives Pages, Launch Metrics
Execution Mode
Default is **standard**. See [`.claude/rules/08-skill-execution-modes.md`](../../rules/08-skill-execution-modes.md) for selection logic.
| Mode | What this skill produces | |------|--------------------------| | **quick** | 5 target queries × 2 AI surfaces (ChatGPT + Perplexity); top 3 gaps with fixes | | **standard** | 10–15 queries × 3–4 AI surfaces; full Coverage Matrix; ranked fix backlog | | **deep** | 20–30 queries × all major surfaces; per-surface citation analysis; structured-data audit; before/after re-test plan |
What This Does
Tests whether AI search engines surface, recommend, and accurately describe the product when a target customer asks a relevant question. AEO (answer-engine optimization) and GEO (generative-engine optimization) are the post-SEO distribution layer — when ChatGPT/Perplexity/AI Overviews answer a buyer's question, the product either is in the answer or isn't.
This is a **diagnostic** skill. It produces a gap map and a ranked fix backlog. The fixes are executed by [prd-v09-alternatives-pages](../prd-v09-alternatives-pages/SKILL.md), content updates, and structured-data work — not by this skill.
How It Works
1. **Build a query set** — From the Positioning best-fit characteristics (jobs to be done, triggers, search intent), generate target queries an actual best-fit buyer would type. Mix high-intent ("best X for Y"), comparison ("X vs Y"), and category ("what is X"). 2. **Run each query against AI surfaces** — At minimum: ChatGPT (free tier — what the median buyer sees), Perplexity, Google AI Overviews. Deep mode adds Claude, Brave Search, Kagi. Save raw responses with timestamps. 3. **Score each result** on five dimensions:
- **Mentioned?** (yes / no)
- **Position** in recommendation list (1st, 2nd, not listed)
- **Description accuracy** (matches positioning vs. miscategorized vs. wrong)
- **Competitive frame** (which alternatives are listed alongside)
- **Citation sources** (which URLs/domains the AI cited to build the answer)
4. **Identify the gap pattern**:
- **Absence gaps** — product not mentioned at all
- **Category gaps** — mentioned in the wrong category (positioning failure)
- **Citation gaps** — answer is built from sources the product doesn't appear in (need to be on those sources)
- **Comparison gaps** — competitor wins the comparison query because comparison content doesn't exist on your side
5. **Propose ranked fixes** — Each fix maps to a specific gap type:
- Absence → content on best-fit query intent, JSON-LD structured data, citation-source targets
- Category → positioning content (handoff to Positioning skill)
- Citation → outreach/contribution to high-citation sources (G2, Reddit, blog posts on cited domains)
- Comparison → handoff to [prd-v09-alternatives-pages](../prd-v09-alternatives-pages/SKILL.md)
Example
A best-fit buyer types **"best CRO tool for early-stage SaaS founders"** into ChatGPT. Result:
| Surface | Mentioned? | Position | Accuracy | Citations | |---------|-----------|----------|----------|-----------| | ChatGPT | No | n/a | n/a | 5 sources, none ours | | Perplexity | Yes | 4th of 5 | "an analytics tool" (wrong category) | Sources include our pricing page only | | AI Overviews | No | n/a | n/a | G2, Reddit r/SaaS, two competitor blog posts |
Gaps identified:
- **Absence** in ChatGPT — no high-intent landing for this query
- **Category miscoding** in Perplexity — we're being summarized as "analytics", not "CRO"
- **Citation gap** — we don't appear in G2 or r/SaaS threads about CRO
Ranked fixes: 1. Publish CRO-anchored guide ([prd-v09-alternatives-pages](../prd-v09-alternatives-pages/SKILL.md) handles competitor variants) 2. Rewrite product schema (JSON-LD) with the Dunford category claim 3. Outreach to G2 (claim profile, request reviews) and post a substantive thread in r/SaaS
What You Get Back
- **GTM-AEO-\* entries** — one per query × surface gap, with the proposed fix and ranking
- **Coverage Matrix** (single GTM-* with Type=Audit) — full query × surface × status table
- **Fix backlog** — ranked list with handoff target skills
When to Use It
| Trigger | Mode | |---------|------| | Pre-launch sanity check (before paid channels activate) | quick | | Standard launch wave audit | standard | | Quarterly retention/competitive intelligence review | deep | | After major positioning change (re-test) | standard | | When organic signups stall and paid CAC rises | deep |
Do **not** run before Positioning is complete — without a sharpened category claim, every "miscategorized" result is unfixable.
Consumes
- **GTM-\* positioning statement + category claim** (from v0.9 Positioning) — Defines what "accurate description" looks like; without this, scoring is opinion
- **CFD-\* competitive alternatives** (from v0.2) — Source for comparison-intent queries
- **PER-\* best-fit characteristics** (sharpened by Positioning) — Source for query intent
- **GTM-\* channel mix** (from v0.9 Launch Channels) — AEO is a channel; surfaces tested should match best-fit channel use
Produces
- **GTM-AEO-\* entries** with `Type=AE
Read more
name: prd-v09-aeo-audit description: > Audit how AI search engines (ChatGPT, Perplexity, Google AI Overviews, Claude) describe and recommend your product, then propose fixes. Triggers on requests to audit AI search visibility, improve AEO/GEO, check ChatGPT/Perplexity coverage, or when user asks "do we show up in AI search?", "AEO audit", "generative engine optimization", "AI discoverability", "how does ChatGPT describe us?", "Perplexity ranking". Outputs GTM-AEO-* entries and a Coverage Matrix. context: fork allowed-tools: - Read - Write - Edit - Glob - Grep - WebSearch - WebFetch execution_modes: default: standard supports: [quick, standard, deep]
AEO Audit (AI Search Discoverability)
Position in workflow: v0.9 Launch Channels (ORB) → **v0.9 AEO Audit** → v0.9 Alternatives Pages, Launch Metrics
Execution Mode
Default is **standard**. See [`.claude/rules/08-skill-execution-modes.md`](../../rules/08-skill-execution-modes.md) for selection logic.
| Mode | What this skill produces | |------|--------------------------| | **quick** | 5 target queries × 2 AI surfaces (ChatGPT + Perplexity); top 3 gaps with fixes | | **standard** | 10–15 queries × 3–4 AI surfaces; full Coverage Matrix; ranked fix backlog | | **deep** | 20–30 queries × all major surfaces; per-surface citation analysis; structured-data audit; before/after re-test plan |
What This Does
Tests whether AI search engines surface, recommend, and accurately describe the product when a target customer asks a relevant question. AEO (answer-engine optimization) and GEO (generative-engine optimization) are the post-SEO distribution layer — when ChatGPT/Perplexity/AI Overviews answer a buyer's question, the product either is in the answer or isn't.
This is a **diagnostic** skill. It produces a gap map and a ranked fix backlog. The fixes are executed by [prd-v09-alternatives-pages](../prd-v09-alternatives-pages/SKILL.md), content updates, and structured-data work — not by this skill.
How It Works
1. **Build a query set** — From the Positioning best-fit characteristics (jobs to be done, triggers, search intent), generate target queries an actual best-fit buyer would type. Mix high-intent ("best X for Y"), comparison ("X vs Y"), and category ("what is X"). 2. **Run each query against AI surfaces** — At minimum: ChatGPT (free tier — what the median buyer sees), Perplexity, Google AI Overviews. Deep mode adds Claude, Brave Search, Kagi. Save raw responses with timestamps. 3. **Score each result** on five dimensions:
- **Mentioned?** (yes / no)
- **Position** in recommendation list (1st, 2nd, not listed)
- **Description accuracy** (matches positioning vs. miscategorized vs. wrong)
- **Competitive frame** (which alternatives are listed alongside)
- **Citation sources** (which URLs/domains the AI cited to build the answer)
4. **Identify the gap pattern**:
- **Absence gaps** — product not mentioned at all
- **Category gaps** — mentioned in the wrong category (positioning failure)
- **Citation gaps** — answer is built from sources the product doesn't appear in (need to be on those sources)
- **Comparison gaps** — competitor wins the comparison query because comparison content doesn't exist on your side
5. **Propose ranked fixes** — Each fix maps to a specific gap type:
- Absence → content on best-fit query intent, JSON-LD structured data, citation-source targets
- Category → positioning content (handoff to Positioning skill)
- Citation → outreach/contribution to high-citation sources (G2, Reddit, blog posts on cited domains)
- Comparison → handoff to [prd-v09-alternatives-pages](../prd-v09-alternatives-pages/SKILL.md)
Example
A best-fit buyer types **"best CRO tool for early-stage SaaS founders"** into ChatGPT. Result:
| Surface | Mentioned? | Position | Accuracy | Citations | |---------|-----------|----------|----------|-----------| | ChatGPT | No | n/a | n/a | 5 sources, none ours | | Perplexity | Yes | 4th of 5 | "an analytics tool" (wrong category) | Sources include our pricing page only | | AI Overviews | No | n/a | n/a | G2, Reddit r/SaaS, two competitor blog posts |
Gaps identified:
- **Absence** in ChatGPT — no high-intent landing for this query
- **Category miscoding** in Perplexity — we're being summarized as "analytics", not "CRO"
- **Citation gap** — we don't appear in G2 or r/SaaS threads about CRO
Ranked fixes: 1. Publish CRO-anchored guide ([prd-v09-alternatives-pages](../prd-v09-alternatives-pages/SKILL.md) handles competitor variants) 2. Rewrite product schema (JSON-LD) with the Dunford category claim 3. Outreach to G2 (claim profile, request reviews) and post a substantive thread in r/SaaS
What You Get Back
- **GTM-AEO-\* entries** — one per query × surface gap, with the proposed fix and ranking
- **Coverage Matrix** (single GTM-* with Type=Audit) — full query × surface × status table
- **Fix backlog** — ranked list with handoff target skills
When to Use It
| Trigger | Mode | |---------|------| | Pre-launch sanity check (before paid channels activate) | quick | | Standard launch wave audit | standard | | Quarterly retention/competitive intelligence review | deep | | After major positioning change (re-test) | standard | | When organic signups stall and paid CAC rises | deep |
Do **not** run before Positioning is complete — without a sharpened category claim, every "miscategorized" result is unfixable.
Consumes
- **GTM-\* positioning statement + category claim** (from v0.9 Positioning) — Defines what "accurate description" looks like; without this, scoring is opinion
- **CFD-\* competitive alternatives** (from v0.2) — Source for comparison-intent queries
- **PER-\* best-fit characteristics** (sharpened by Positioning) — Source for query intent
- **GTM-\* channel mix** (from v0.9 Launch Channels) — AEO is a channel; surfaces tested should match best-fit channel use
Produces
- **GTM-AEO-\* entries** with `Type=AE
PRD-driven Context Engineering: A systematic approach to building AI-powered products using progressive documentation and context-aware development workflows
Repo: mattgierhart/PRD-driven-context-engineering
Other skills on prd-driven-context-engineering.
- /SKILL_TEMPLATE
[1-2 sentence description of what this skill does]. Triggers on [specific phrases/contexts that should activate this skill]. Outputs [what the skill produces].
Open skill - /ghm-gate-check
Validates gate criteria before PRD lifecycle advancement by delegating to the readiness scoring pipeline (scripts/readiness.py). Returns a graduated PASS / WARN / BLOCK verdict with top blockers and their causal chain. Triggers before advancing from v0.X to v0.Y or explicit
Open skill - /ghm-harvest
Extracts durable insights from temp/ files to SoT during EPIC Phase E. Triggers at EPIC completion or explicit `/ghm-harvest` invocation. Outputs new SoT entries and archive manifest.
Open skill - /ghm-id-register
Validates and registers new SoT IDs with cross-reference integrity. Triggers when creating BR-XXX, UJ-XXX, API-XXX, or CFD-XXX entries. Outputs formatted SoT entry with validated cross-references.
Open skill - /ghm-self-install
Install the PRD-Driven Context Engineering methodology into a fresh OR existing repository — the subscription-native alternative to forking the whole repo. Runs an interactive wizard that seeds the framework (.claude/ hooks, skills, agents, rules, scripts) without clobbering
Open skill - /ghm-sot-builder
Creates new Source of Truth (SoT) files when existing templates don't fit your needs. Triggers on requests to create a new SoT file, add a new artifact type, or when user says "I need to track [X] but there's no SoT for it", "create SoT", "new source of truth". Outputs a
Open skill

