Query Fan-Out / Topic-Cluster Optimization Skill
SkillSearchQuery fan-out and topic-cluster optimization for AI search. Maps a topic's full sub-query space, audits cluster coverage against what engines actually fan out into, and engineers titles and URL slugs for semantic match with fan-out queries. Use when a site needs to win citations beyond the organic top 10 or cover a topic cluster instead of a single head term.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Query Fan-Out / Topic-Cluster Optimization Skill skill
What this skill tells your AI
The instructions your AI receives, as published by thesmokedev/geo-skills in skills/geo-fanout/SKILL.md and read by ahel’s review.
Purpose
This skill optimizes a site for query fan-out -- the mechanism by which AI search engines rewrite a single user prompt into a cluster of sub-queries and retrieve sources per sub-query. Fan-out coverage is the 2026 meta-factor for AI citation: pages win citations by matching the sub-queries engines generate, not by ranking #1 for the head term. This skill maps a topic's sub-query space, audits how much of it the site covers, and engineers titles and URL slugs so pages survive the pre-read gatekeeping step.
Core Insight
Fan-out is the top-scoring citation factor in Zyppy's 23-factor meta-analysis: 9.3/10 (DigitalApplied synthesis of 54 studies, Jun 2026). Engines like Gemini 3 (Jan 2026) and ChatGPT decompose one prompt into multiple sub-queries, run each against their index, and cite the pages that best match each sub-query. The consequence is a collapsed dependence on organic rank:
- Only 38% of AIO-cited URLs rank in the organic top 10 -- down from 76% (Ahrefs, 863K SERPs / 4M URLs, Mar 2026).
- 31% of AIO citations come from positions 11-100, and 31% from beyond position 100 (same study).
Page-3 organic is NOT disqualifying. The fan-out is the small-site opening: a low-authority page that precisely answers one sub-query can be cited over a high-authority page that only covers the head term.
Win the cluster, not the head term.
How Fan-Out Works (Mechanism)
- User submits one prompt (e.g., "how much does SR-22 insurance cost in California?").
- The engine classifies whether to search at all (ChatGPT: only ~18-24% of prompts trigger search).
- The prompt is rewritten into a cluster of sub-queries -- eligibility, cost, process, location, and language variants of the underlying intent.
- Each sub-query is run against the engine's retrieval index (ChatGPT: Bing; Gemini/AIO: Google).
- Retrieved pages pass a pre-read gate on title, snippet, and URL before content is ever opened.
- The engine cites the best-matching pages across the cluster (~15-50% of retrieved URLs get cited; ⚠️ single source, SubscribePR Jul 2026).
Steps 3-5 are what this skill optimizes. Steps 1-2 and 6 are covered by skills/geo-citability/ and skills/geo-ai-index-access/.
Step 1: Map the Sub-Query Space
For each target topic, enumerate the sub-query space an engine would fan out into. Generate candidate sub-queries across these five variant axes:
| Axis | What to Generate | Example (topic: SR-22 insurance in California) |
|---|---|---|
| Eligibility | who qualifies, requirements, edge cases, disqualifiers | "who needs SR-22 in California", "SR-22 after DUI requirements" |
| Cost | price, average cost, cheapest, cost by segment | "average SR-22 cost California 2026", "cheapest SR-22 insurance Los Angeles" |
| Process | how to get, how long, steps, filing, renewal | "how to file SR-22 in California", "how long does SR-22 last" |
| Location | state, county, city, metro variants | "SR-22 insurance San Diego", "SR-22 cost by California county" |
| Language | non-English variants of every axis above | "seguro SR-22 California precio", "quien necesita SR-22" |
Procedure:
- State the head term / target prompt.
- Generate 5-15 sub-queries per axis (25-75 total per topic). Use real query sources where available: Google Search Console queries, Bing Webmaster Tools keyword data, autocomplete, "People Also Ask".
- Deduplicate and cluster the list into 5-10 sub-topics that each deserve a page (or a clearly differentiated section).
- For each sub-query, record: which existing URL (if any) covers it, and whether coverage is dedicated (page is about this) or incidental (mentioned in passing).
Compliance line: do NOT spin keyword-variant pages with near-identical content. Google's official 2026 guidance classifies keyword-variant page farming as scaled-content abuse (Google Search Central, May 2026). Every cluster page must carry per-page unique data (per-city rates, per-county figures, original numbers) -- the same differentiation bar AI Mode applies when rewarding 15-20-page topic clusters over single pages.
Step 2: Cluster-Coverage Audit
- Build the coverage matrix: rows = sub-queries from Step 1, columns = candidate URLs on the site.
- For each sub-query, WebFetch the mapped page and check:
- Does the page's H1/title directly answer this sub-query?
- Does a self-contained passage answer it in the first 40-60 words of a section? (See
skills/geo-citability/for passage scoring.) - Is the answer data-dense (specific numbers, dates, named entities)?
- Score each sub-query: Covered (dedicated page, direct answer), Weak (incidental mention or buried answer), Missing (no page).
- Compute cluster coverage = Covered / total sub-queries.
- Prioritize gaps by expected retrieval volume: cost and location variants typically carry the most fan-out traffic; language variants are often the thinnest competition.
Deliverable from the audit: a build list of missing pages (each with its target sub-query, required unique data, and engineered title/slug per Step 3) plus a rewrite list of weak pages.
Step 3: Title + Slug Semantic-Match Engineering
Titles and slugs are citation factors before content is read -- they gate whether the engine even opens the page (Ahrefs, 1.4M prompts, Apr 2026):
- Cited-URL titles score 0.656 cosine similarity to the fan-out queries vs 0.484 for non-cited URLs (same study).
- Natural-language slugs cite at 89.78% vs 81.11% for non-natural slugs (same study).
Procedure for each page in the build/rewrite list:
- Take the primary sub-query the page targets.
- Write the title to mirror that sub-query in natural language -- include the entity, the variant axis (cost/location/etc.), and the year where freshness matters. Example:
SR-22 Insurance Cost in California (2026 Rates by County). - Write the slug as a natural-language phrase, not a keyword string or ID:
- Good:
/sr-22-insurance-cost-california/ - Bad:
/sr22-ca-cost-v2/,/page?id=4471,/blog/post-8823/
- Good:
- Keep title and H1 aligned with the slug -- all three are read at the gatekeeping step.
- Sanity-check similarity: the title should read as a direct answer to the sub-query, not a clever headline.
This is the highest-leverage-per-minute intervention in the pack: no new content, no links, just matching the strings engines fan out into.
Vertical Caveat: High-Overlap Verticals Still Reward Classic SEO
The 38% overlap figure is an average. Insurance, healthcare, and education retain 68-75% overlap between organic top-10 rankings and AI citations (BrightEdge via Shadow, Jul 2026 -- ⚠️ secondary source only, verify before quoting publicly). In these YMYL verticals:
- Classic ranking work still feeds AI citations directly. Do NOT deprioritize traditional SEO.
- Fan-out coverage is additive, not a replacement: build the cluster AND keep ranking the head terms.
- If the site being audited is in one of these verticals, say so explicitly in the report and weight classic-SEO fixes accordingly.
Output Format
Generate a file called GEO-FANOUT-COVERAGE.md:
# Fan-Out Cluster Coverage: [Domain] -- [Topic]
**Analysis Date:** [Date]
**Head Term / Target Prompt:** [Prompt]
**Sub-Queries Mapped:** [N]
**Cluster Coverage:** [X]% ([Covered]/[Total] sub-queries with dedicated pages)
---
## Coverage Matrix
| Sub-Query | Axis | Mapped URL | Status | Action |
|---|---|---|---|---|
| [sub-query] | Cost | [URL or --] | Covered/Weak/Missing | [Build/Rewrite/None] |
## Title + Slug Engineering Queue
| Page | Target Sub-Query | Current Title | Proposed Title | Proposed Slug |
|---|---|---|---|---|
| [URL/new] | [sub-query] | [title] | [natural-language title] | [/natural-language-slug/] |
## Vertical Overlap Assessment
[Is this a 68-75% high-overlap vertical (insurance/healthcare/education)?
If yes: classic SEO remains a primary lever -- note the ⚠️ secondary-source flag.]
## Recommended Build Order
1. [Highest-volume missing sub-query page -- required unique data noted]
2. [Next]
Related Skills
skills/geo-citability/-- once a page passes the title/slug gate, passage-level citability determines whether it gets quoted.skills/geo-ai-index-access/-- fan-out coverage is worthless if the pages are not in the retrieval index (Bing for ChatGPT, Google for AIO/Gemini).skills/geo-youtube/-- YouTube is the rank-free bypass for sub-queries the site cannot win with text pages.skills/geo-measurement/-- measure cluster-coverage gains as share-of-citation over a prompt panel, not rank.
Signals
- GitHub stars
- 22
- Forks
- 6
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
geo-fanout- Source
- github.com/thesmokedev/geo-skills