optbrew 0.0.0-stage → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/.claude-plugin/marketplace.json +6 -0
  2. package/.claude-plugin/plugin.json +6 -0
  3. package/.codex-plugin/plugin.json +13 -0
  4. package/CHANGELOG.md +50 -0
  5. package/LICENSE +21 -0
  6. package/README.ko.md +149 -0
  7. package/README.md +148 -2
  8. package/THIRD_PARTY_NOTICES.md +10 -0
  9. package/bin/optbrew.mjs +4 -0
  10. package/docs/platforms.md +107 -0
  11. package/docs/release.md +14 -0
  12. package/lib/cli.mjs +116 -0
  13. package/lib/doctor.mjs +45 -0
  14. package/lib/install.mjs +158 -0
  15. package/lib/paths.mjs +30 -0
  16. package/lib/records.mjs +44 -0
  17. package/lib/reinstall.mjs +92 -0
  18. package/lib/transaction.mjs +205 -0
  19. package/lib/update.mjs +189 -0
  20. package/package.json +39 -4
  21. package/plugin.json +13 -0
  22. package/skills/optbrew/LICENSE +21 -0
  23. package/skills/optbrew/SKILL.md +17 -0
  24. package/skills/optbrew/THIRD_PARTY_NOTICES.md +10 -0
  25. package/skills/optbrew/agents/openai.yaml +4 -0
  26. package/skills/optbrew/bundle-manifest.json +687 -0
  27. package/skills/optbrew/licenses/firecrawl-seo-audit.txt +15 -0
  28. package/skills/optbrew/licenses/magnus-seo.txt +21 -0
  29. package/skills/optbrew/licenses/marketing-search.txt +21 -0
  30. package/skills/optbrew/licenses/mblode-seo.txt +21 -0
  31. package/skills/optbrew/licenses/naver-searchadvisor.txt +29 -0
  32. package/skills/optbrew/licenses/seranking-seo.txt +21 -0
  33. package/skills/optbrew/modules/firecrawl-seo-audit/GUIDE.md +64 -0
  34. package/skills/optbrew/modules/magnus-seo/GUIDE.md +79 -0
  35. package/skills/optbrew/modules/magnus-seo/README.md +45 -0
  36. package/skills/optbrew/modules/magnus-seo/assets/audit-report-template.md +76 -0
  37. package/skills/optbrew/modules/magnus-seo/references/aeo-methodology.md +105 -0
  38. package/skills/optbrew/modules/magnus-seo/references/agent-readable-content.md +28 -0
  39. package/skills/optbrew/modules/magnus-seo/references/content-and-entity-architecture.md +100 -0
  40. package/skills/optbrew/modules/magnus-seo/references/content-strategy-seo.md +142 -0
  41. package/skills/optbrew/modules/magnus-seo/references/discovery-and-freshness.md +47 -0
  42. package/skills/optbrew/modules/magnus-seo/references/evidence-boundaries.md +75 -0
  43. package/skills/optbrew/modules/magnus-seo/references/ghost-metadata.md +204 -0
  44. package/skills/optbrew/modules/magnus-seo/references/implementation-playbook.md +114 -0
  45. package/skills/optbrew/modules/magnus-seo/references/measurement-and-experimentation.md +47 -0
  46. package/skills/optbrew/modules/magnus-seo/references/onpage-seo.md +154 -0
  47. package/skills/optbrew/modules/magnus-seo/references/platform-guidance.md +30 -0
  48. package/skills/optbrew/modules/magnus-seo/references/schema-markup.md +244 -0
  49. package/skills/optbrew/modules/magnus-seo/references/source-index.md +36 -0
  50. package/skills/optbrew/modules/magnus-seo/references/structured-data.md +56 -0
  51. package/skills/optbrew/modules/magnus-seo/references/technical-seo.md +99 -0
  52. package/skills/optbrew/modules/magnus-seo/scripts/aeo_audit.py +158 -0
  53. package/skills/optbrew/modules/magnus-seo/scripts/build_prompt_matrix.py +52 -0
  54. package/skills/optbrew/modules/magnus-seo/templates/aeo-implementation-plan.md +53 -0
  55. package/skills/optbrew/modules/magnus-seo/templates/citation-observation-log.md +16 -0
  56. package/skills/optbrew/modules/magnus-seo/templates/llms.txt.template +15 -0
  57. package/skills/optbrew/modules/magnus-seo/templates/question-cluster.md +27 -0
  58. package/skills/optbrew/modules/magnus-seo/templates/robots-ai-crawlers.txt +23 -0
  59. package/skills/optbrew/modules/marketing-search/skills/ai-seo/GUIDE.md +483 -0
  60. package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/agent-readiness.md +57 -0
  61. package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/citations-vs-recommendations.md +85 -0
  62. package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/content-patterns.md +287 -0
  63. package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/content-types.md +71 -0
  64. package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/format-volatility.md +98 -0
  65. package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/okf.md +104 -0
  66. package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/platform-ranking-factors.md +154 -0
  67. package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/youtube-ai-citations.md +60 -0
  68. package/skills/optbrew/modules/marketing-search/skills/analytics/GUIDE.md +303 -0
  69. package/skills/optbrew/modules/marketing-search/skills/analytics/references/event-library.md +260 -0
  70. package/skills/optbrew/modules/marketing-search/skills/analytics/references/ga4-implementation.md +300 -0
  71. package/skills/optbrew/modules/marketing-search/skills/analytics/references/gtm-implementation.md +390 -0
  72. package/skills/optbrew/modules/marketing-search/skills/content-strategy/GUIDE.md +432 -0
  73. package/skills/optbrew/modules/marketing-search/skills/content-strategy/references/content-distribution.md +83 -0
  74. package/skills/optbrew/modules/marketing-search/skills/content-strategy/references/headless-cms.md +194 -0
  75. package/skills/optbrew/modules/marketing-search/skills/programmatic-seo/GUIDE.md +231 -0
  76. package/skills/optbrew/modules/marketing-search/skills/programmatic-seo/references/playbooks.md +308 -0
  77. package/skills/optbrew/modules/marketing-search/skills/schema/GUIDE.md +172 -0
  78. package/skills/optbrew/modules/marketing-search/skills/schema/references/schema-examples.md +398 -0
  79. package/skills/optbrew/modules/marketing-search/skills/seo-audit/GUIDE.md +492 -0
  80. package/skills/optbrew/modules/marketing-search/skills/seo-audit/references/ai-writing-detection.md +200 -0
  81. package/skills/optbrew/modules/marketing-search/skills/seo-audit/references/international-seo.md +230 -0
  82. package/skills/optbrew/modules/marketing-search/skills/site-architecture/GUIDE.md +350 -0
  83. package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/mermaid-templates.md +216 -0
  84. package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/navigation-patterns.md +305 -0
  85. package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/site-type-templates.md +293 -0
  86. package/skills/optbrew/modules/mblode-seo/GUIDE.md +74 -0
  87. package/skills/optbrew/modules/mblode-seo/references/answer-engines.md +58 -0
  88. package/skills/optbrew/modules/mblode-seo/references/audit.md +78 -0
  89. package/skills/optbrew/modules/mblode-seo/references/brief-template.md +47 -0
  90. package/skills/optbrew/modules/mblode-seo/references/monitoring.md +56 -0
  91. package/skills/optbrew/modules/mblode-seo/references/nextjs-implementation.md +65 -0
  92. package/skills/optbrew/modules/mblode-seo/references/research-protocol.md +37 -0
  93. package/skills/optbrew/modules/mblode-seo/references/sources.md +47 -0
  94. package/skills/optbrew/modules/mblode-seo/references/validation-evidence.md +21 -0
  95. package/skills/optbrew/modules/naver-searchadvisor/GUIDE.md +75 -0
  96. package/skills/optbrew/modules/naver-searchadvisor/NOTICE.md +59 -0
  97. package/skills/optbrew/modules/naver-searchadvisor/references/INDEX.md +97 -0
  98. package/skills/optbrew/modules/naver-searchadvisor/scripts/audit.mjs +742 -0
  99. package/skills/optbrew/modules/naver-searchadvisor/scripts/robots.mjs +77 -0
  100. package/skills/optbrew/modules/seranking-seo/skills/seo-ai-search-share-of-voice/GUIDE.md +94 -0
  101. package/skills/optbrew/modules/seranking-seo/skills/seo-api/GUIDE.md +186 -0
  102. package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/api-surface-map.md +207 -0
  103. package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/auth-and-keys.md +182 -0
  104. package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/integration-patterns.md +283 -0
  105. package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/rate-limits-and-credits.md +235 -0
  106. package/skills/optbrew/modules/seranking-seo/skills/seo-competitor-gap-analysis/GUIDE.md +117 -0
  107. package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/GUIDE.md +155 -0
  108. package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/references/cite.md +84 -0
  109. package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/references/core-eeat.md +147 -0
  110. package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/templates/verdict.md +63 -0
  111. package/skills/optbrew/modules/seranking-seo/skills/seo-firecrawl/GUIDE.md +141 -0
  112. package/skills/optbrew/modules/seranking-seo/skills/seo-firecrawl/references/preflight.md +73 -0
  113. package/skills/optbrew/modules/seranking-seo/skills/seo-geo/GUIDE.md +159 -0
  114. package/skills/optbrew/modules/seranking-seo/skills/seo-google/GUIDE.md +393 -0
  115. package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/cwv-audit-report.md +48 -0
  116. package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/gsc-performance-report.md +44 -0
  117. package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/indexation-status-report.md +43 -0
  118. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/auth-setup.md +160 -0
  119. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/cross-skill-integration.md +187 -0
  120. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/ga4-data-api.md +184 -0
  121. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/indexing-api.md +109 -0
  122. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/keyword-planner-api.md +66 -0
  123. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/nlp-api.md +55 -0
  124. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/pagespeed-crux-api.md +204 -0
  125. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/rate-limits-quotas.md +75 -0
  126. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/search-console-api.md +156 -0
  127. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/supplementary-apis.md +99 -0
  128. package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/youtube-api.md +49 -0
  129. package/skills/optbrew/modules/seranking-seo/skills/seo-keyword-niche/GUIDE.md +174 -0
  130. package/skills/optbrew/modules/seranking-seo/skills/seo-page/GUIDE.md +174 -0
  131. package/skills/optbrew/modules/seranking-seo/skills/seo-plan/GUIDE.md +220 -0
  132. package/skills/optbrew/modules/seranking-seo/skills/seo-schema/GUIDE.md +135 -0
  133. package/skills/optbrew/modules/seranking-seo/skills/seo-schema/references/google-rich-results.md +89 -0
  134. package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/article.json +23 -0
  135. package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/breadcrumb-list.json +18 -0
  136. package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/faq-page.json +22 -0
  137. package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/local-business.json +32 -0
  138. package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/product.json +25 -0
  139. package/skills/optbrew/modules/seranking-seo/skills/seo-sitemap/GUIDE.md +128 -0
  140. package/skills/optbrew/modules/seranking-seo/skills/seo-technical-audit/GUIDE.md +235 -0
  141. package/skills/optbrew/modules/seranking-seo/skills/seo-technical-audit/references/severity-mapping.md +133 -0
  142. package/skills/optbrew/references/ai-crawlers.json +21 -0
  143. package/skills/optbrew/references/ai-crawlers.md +24 -0
  144. package/skills/optbrew/references/api.md +45 -0
  145. package/skills/optbrew/references/check-registry.json +28 -0
  146. package/skills/optbrew/references/evidence.md +9 -0
  147. package/skills/optbrew/references/intake.md +9 -0
  148. package/skills/optbrew/references/measurement.md +29 -0
  149. package/skills/optbrew/references/policies.md +7 -0
  150. package/skills/optbrew/references/profiles.json +13 -0
  151. package/skills/optbrew/references/remediations.json +12 -0
  152. package/skills/optbrew/references/report.md +29 -0
  153. package/skills/optbrew/references/routing.md +15 -0
  154. package/skills/optbrew/references/schemas/contract.schema.json +51 -0
  155. package/skills/optbrew/references/scoring.md +62 -0
  156. package/skills/optbrew/scripts/adapters/anthropic.mjs +116 -0
  157. package/skills/optbrew/scripts/adapters/imports.mjs +81 -0
  158. package/skills/optbrew/scripts/audit.mjs +124 -0
  159. package/skills/optbrew/scripts/cli.mjs +41 -0
  160. package/skills/optbrew/scripts/core/bootstrap.mjs +31 -0
  161. package/skills/optbrew/scripts/core/bundle.mjs +73 -0
  162. package/skills/optbrew/scripts/core/capabilities.mjs +19 -0
  163. package/skills/optbrew/scripts/core/collector.mjs +250 -0
  164. package/skills/optbrew/scripts/core/compare.mjs +47 -0
  165. package/skills/optbrew/scripts/core/contracts.mjs +144 -0
  166. package/skills/optbrew/scripts/core/cost-ledger.mjs +95 -0
  167. package/skills/optbrew/scripts/core/crawlers.mjs +11 -0
  168. package/skills/optbrew/scripts/core/derive.mjs +168 -0
  169. package/skills/optbrew/scripts/core/facts.mjs +189 -0
  170. package/skills/optbrew/scripts/core/findings.mjs +54 -0
  171. package/skills/optbrew/scripts/core/html.mjs +53 -0
  172. package/skills/optbrew/scripts/core/metrics.mjs +97 -0
  173. package/skills/optbrew/scripts/core/protocol.mjs +125 -0
  174. package/skills/optbrew/scripts/core/report.mjs +742 -0
  175. package/skills/optbrew/scripts/core/scope.mjs +52 -0
  176. package/skills/optbrew/scripts/core/score.mjs +71 -0
  177. package/skills/optbrew/scripts/core/weights.mjs +139 -0
  178. package/skills/optbrew/source-lock.json +2686 -0
  179. package/source-lock.json +2686 -0
@@ -0,0 +1,483 @@
1
+ > **optbrew policy correction (2026-10-14):** This distribution note takes precedence over conflicting upstream recommendations below. `llms.txt` is an optional proposal, and RSL or training-bot access is a separate provider and rights decision. Their presence, as well as schema presence, is not measured citation improvement. An actual AI citation requires provider output and source evidence. A `site:` query is not complete indexing proof; IndexNow is a discovery notification, not indexing confirmation. Naver `nosourceinfo` concerns its AI-generated source description setting only; do not infer a general citation or indexing effect. Verify the current official policy before applying any provider-specific claim. Do not submit URLs or change crawler controls from this guide without separate authority.
2
+
3
+ # AI SEO
4
+
5
+ You are an expert in AI search optimization — the practice of making content discoverable, extractable, and citable by AI systems including Google AI Overviews, ChatGPT, Perplexity, Claude, Gemini, and Copilot. Your goal is to help users get their content cited as a source in AI-generated answers.
6
+
7
+ ## Before Starting
8
+
9
+ **Check for product marketing context first:**
10
+ If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
11
+
12
+ Gather this context (ask if not provided):
13
+
14
+ ### 1. Current AI Visibility
15
+ - Do you know if your brand appears in AI-generated answers today?
16
+ - Have you checked ChatGPT, Perplexity, or Google AI Overviews for your key queries?
17
+ - What queries matter most to your business?
18
+
19
+ ### 2. Content & Domain
20
+ - What type of content do you produce? (Blog, docs, comparisons, product pages)
21
+ - What's your domain authority / traditional SEO strength?
22
+ - Do you have existing structured data (schema markup)?
23
+
24
+ ### 3. Goals
25
+ - Get cited as a source in AI answers?
26
+ - Appear in Google AI Overviews for specific queries?
27
+ - Compete with specific brands already getting cited?
28
+ - Optimize existing content or create new AI-optimized content?
29
+
30
+ ### 4. Competitive Landscape
31
+ - Who are your top competitors in AI search results?
32
+ - Are they being cited where you're not?
33
+
34
+ ---
35
+
36
+ ## How AI Search Works
37
+
38
+ ### The AI Search Landscape
39
+
40
+ | Platform | How It Works | Source Selection |
41
+ |----------|-------------|----------------|
42
+ | **Google AI Overviews** | Summarizes top-ranking pages | Strong correlation with traditional rankings |
43
+ | **ChatGPT (with search)** | Searches web, cites sources | Draws from wider range, not just top-ranked |
44
+ | **Perplexity** | Always cites sources with links | Favors authoritative, recent, well-structured content |
45
+ | **Gemini** | Google's AI assistant | Pulls from Google index + Knowledge Graph |
46
+ | **Copilot** | Bing-powered AI search | Bing index + authoritative sources |
47
+ | **Claude** | Brave Search (when enabled) | Training data + Brave search results |
48
+
49
+ For a deep dive on how each platform selects sources and what to optimize per platform, see [references/platform-ranking-factors.md](references/platform-ranking-factors.md).
50
+
51
+ ### Key Difference from Traditional SEO
52
+
53
+ Traditional SEO gets you ranked. AI SEO gets you **cited**.
54
+
55
+ In traditional search, you need to rank on page 1. In AI search, a well-structured page can get cited even if it ranks on page 2 or 3 — AI systems select sources based on content quality, structure, and relevance, not just rank position.
56
+
57
+ **Critical stats:**
58
+ - AI Overviews appear in ~45% of Google searches
59
+ - AI Overviews reduce clicks to websites by up to 58%
60
+ - Brands are 6.5x more likely to be cited via third-party sources than their own domains
61
+ - Optimized content gets cited 3x more often than non-optimized
62
+ - Statistics and citations boost visibility by 40%+ across queries
63
+
64
+ ### Google's Official Stance vs. Multi-Platform Reality
65
+
66
+ This is important to read once before doing anything else.
67
+
68
+ **Google's position** ([AI features optimization guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide)):
69
+ > "The best practices for SEO continue to be relevant because our generative AI features on Google Search are rooted in our core Search ranking and quality systems."
70
+
71
+ Google explicitly says:
72
+ - **No special markup or files are required** for AI Overviews or AI Mode
73
+ - **Don't chunk content for AI** — write for people, organize with normal headings and paragraphs
74
+ - **Don't write separate content for AI** — that risks "scaled content abuse" spam policy
75
+ - **Helpful, reliable, people-first content** wins — same E-E-A-T standards as regular Search
76
+ - **No AI-specific Search Console reporting** — use standard SEO metrics
77
+
78
+ **Other AI engines (ChatGPT, Claude, Perplexity, Copilot) behave differently:**
79
+ - They actively reward extractable structure — passages, FAQs, comparison tables, definition blocks
80
+ - They parse `llms.txt`, structured pricing pages, and machine-readable files when present
81
+ - They cite third-party sources (Reddit, Wikipedia, review sites) more heavily than top-ranked pages
82
+
83
+ **What this means for the work:**
84
+ - The structural patterns in this skill (40–60 word answer blocks, FAQ schema, comparison tables) help **non-Google AI engines** materially. They also don't hurt Google — they're just normal good content organization.
85
+ - For Google AI Overviews / AI Mode specifically: optimize for people and core Search, full stop. Strong E-E-A-T, original information, semantic HTML, clean indexability.
86
+ - For ChatGPT/Claude/Perplexity: layer on the extractable structure + llms.txt + machine-readable files.
87
+
88
+ When in doubt, default to "write for people, organize for clarity" — that satisfies both camps.
89
+
90
+ ### Query Fan-Out (Google AI Search)
91
+
92
+ Google's AI features don't just answer the one query a user typed — they generate **concurrent, related queries** under the hood and retrieve results for each.
93
+
94
+ Google's own example: a user asking "how to fix lawns" triggers fan-out queries about herbicides, chemical-free removal, weed prevention, etc. The AI synthesizes across all of them.
95
+
96
+ **Implications:**
97
+ - Single-page-per-keyword targeting is less effective. Cover the **full topical cluster** so you're retrievable for the fan-out variants too.
98
+ - Long-tail intent matters less than topical authority — Google's AI systems understand synonyms and semantic equivalence.
99
+ - A page that comprehensively answers a parent topic (with sub-questions covered) will be retrieved more often than narrow per-query pages.
100
+
101
+ **Action**: when planning content, brainstorm the 5–10 related queries the AI is likely to fan out to and make sure your content (or your site as a whole) covers them.
102
+
103
+ ChatGPT fans out too — and you can extract its *literal* background queries for your niche via DevTools (method in [references/format-volatility.md](references/format-volatility.md)). Post-5.6, ChatGPT's fan-outs shifted away from "best/vs/top" modifiers toward `site:` and "official" searches — use the extraction to see where your category's fan-outs stand today.
104
+
105
+ ---
106
+
107
+ ## AI Visibility Audit
108
+
109
+ Before optimizing, assess your current AI search presence.
110
+
111
+ ### Step 1: Check AI Answers for Your Key Queries
112
+
113
+ Test 10-20 of your most important queries across platforms:
114
+
115
+ | Query | Google AI Overview | ChatGPT | Perplexity | You Cited? | Competitors Cited? |
116
+ |-------|:-----------------:|:-------:|:----------:|:----------:|:-----------------:|
117
+ | [query 1] | Yes/No | Yes/No | Yes/No | Yes/No | [who] |
118
+ | [query 2] | Yes/No | Yes/No | Yes/No | Yes/No | [who] |
119
+
120
+ **Query types to test:**
121
+ - "What is [your product category]?"
122
+ - "Best [product category] for [use case]"
123
+ - "[Your brand] vs [competitor]"
124
+ - "How to [problem your product solves]"
125
+ - "[Your product category] pricing"
126
+
127
+ ### Step 2: Analyze Citation Patterns
128
+
129
+ When your competitors get cited and you don't, examine:
130
+ - **Content structure** — Is their content more extractable?
131
+ - **Authority signals** — Do they have more citations, stats, expert quotes?
132
+ - **Freshness** — Is their content more recently updated?
133
+ - **Schema markup** — Do they have structured data you're missing?
134
+ - **Third-party presence** — Are they cited via Wikipedia, Reddit, review sites?
135
+
136
+ ### Step 3: Content Extractability Check
137
+
138
+ For each priority page, verify:
139
+
140
+ | Check | Pass/Fail |
141
+ |-------|-----------|
142
+ | Clear definition in first paragraph? | |
143
+ | Self-contained answer blocks (work without surrounding context)? | |
144
+ | Statistics with sources cited? | |
145
+ | Comparison tables for "[X] vs [Y]" queries? | |
146
+ | FAQ section with natural-language questions? | |
147
+ | Schema markup (FAQ, HowTo, Article, Product)? | |
148
+ | Expert attribution (author name, credentials)? | |
149
+ | Recently updated (within 6 months)? | |
150
+ | Heading structure matches query patterns? | |
151
+ | AI bots allowed in robots.txt? | |
152
+
153
+ ### Step 4: AI Bot Access Check
154
+
155
+ Verify your robots.txt allows AI crawlers. Each AI platform has its own bot, and blocking it means that platform can't cite you:
156
+
157
+ - **GPTBot** and **ChatGPT-User** — OpenAI (ChatGPT)
158
+ - **PerplexityBot** — Perplexity
159
+ - **ClaudeBot** and **anthropic-ai** — Anthropic (Claude)
160
+ - **Google-Extended** — Google Gemini and AI Overviews
161
+ - **Bingbot** — Microsoft Copilot (via Bing)
162
+
163
+ Check your robots.txt for `Disallow` rules targeting any of these. If you find them blocked, you have a business decision to make: blocking prevents AI training on your content but also prevents citation. One middle ground is blocking training-only crawlers (like **CCBot** from Common Crawl) while allowing the search bots listed above.
164
+
165
+ See [references/platform-ranking-factors.md](references/platform-ranking-factors.md) for the full robots.txt configuration.
166
+
167
+ ---
168
+
169
+ ## Optimization Strategy
170
+
171
+ ### The Three Pillars
172
+
173
+ ```
174
+ 1. Structure (make it extractable)
175
+ 2. Authority (make it citable)
176
+ 3. Presence (be where AI looks)
177
+ ```
178
+
179
+ ### Pillar 1: Structure — Make Content Extractable
180
+
181
+ AI systems extract passages, not pages. Every key claim should work as a standalone statement.
182
+
183
+ **Content block patterns:**
184
+ - **Definition blocks** for "What is X?" queries
185
+ - **Step-by-step blocks** for "How to X" queries
186
+ - **Comparison tables** for "X vs Y" queries
187
+ - **Pros/cons blocks** for evaluation queries
188
+ - **FAQ blocks** for common questions
189
+ - **Statistic blocks** with cited sources
190
+
191
+ For detailed templates for each block type, see [references/content-patterns.md](references/content-patterns.md).
192
+
193
+ **Structural rules:**
194
+ - Lead every section with a direct answer (don't bury it)
195
+ - Keep key answer passages to 40-60 words (optimal for snippet extraction)
196
+ - Use H2/H3 headings that match how people phrase queries
197
+ - Tables beat prose for comparison content
198
+ - Numbered lists beat paragraphs for process content
199
+ - Each paragraph should convey one clear idea
200
+
201
+ ### Pillar 2: Authority — Make Content Citable
202
+
203
+ AI systems prefer sources they can trust. Build citation-worthiness.
204
+
205
+ **The Princeton GEO research** (KDD 2024, studied across Perplexity.ai) ranked 9 optimization methods:
206
+
207
+ | Method | Visibility Boost | How to Apply |
208
+ |--------|:---------------:|--------------|
209
+ | **Cite sources** | +40% | Add authoritative references with links |
210
+ | **Add statistics** | +37% | Include specific numbers with sources |
211
+ | **Add quotations** | +30% | Expert quotes with name and title |
212
+ | **Authoritative tone** | +25% | Write with demonstrated expertise |
213
+ | **Improve clarity** | +20% | Simplify complex concepts |
214
+ | **Technical terms** | +18% | Use domain-specific terminology |
215
+ | **Unique vocabulary** | +15% | Increase word diversity |
216
+ | **Fluency optimization** | +15-30% | Improve readability and flow |
217
+ | ~~Keyword stuffing~~ | **-10%** | **Actively hurts AI visibility** |
218
+
219
+ **Best combination:** Fluency + Statistics = maximum boost. Low-ranking sites benefit even more — up to 115% visibility increase with citations.
220
+
221
+ **Statistics and data** (+37-40% citation boost)
222
+ - Include specific numbers with sources
223
+ - Cite original research, not summaries of research
224
+ - Add dates to all statistics
225
+ - Original data beats aggregated data
226
+
227
+ **Expert attribution** (+25-30% citation boost)
228
+ - Named authors with credentials
229
+ - Expert quotes with titles and organizations
230
+ - "According to [Source]" framing for claims
231
+ - Author bios with relevant expertise
232
+
233
+ **Freshness signals**
234
+ - "Last updated: [date]" prominently displayed
235
+ - Regular content refreshes (quarterly minimum for competitive topics)
236
+ - Current year references and recent statistics
237
+ - Remove or update outdated information
238
+
239
+ **E-E-A-T alignment**
240
+ - First-hand experience demonstrated
241
+ - Specific, detailed information (not generic)
242
+ - Transparent sourcing and methodology
243
+ - Clear author expertise for the topic
244
+
245
+ ### Pillar 3: Presence — Be Where AI Looks
246
+
247
+ AI systems don't just cite your website — they cite where you appear.
248
+
249
+ **Third-party sources matter more than your own site:**
250
+ - Wikipedia mentions (7.8% of all ChatGPT citations)
251
+ - Reddit discussions (volatile: ~1.8% of ChatGPT citations historically, but nearly wiped from ChatGPT by Aug 2026 retrieval changes — still retrieved elsewhere; see the volatility section in [references/agent-readiness.md](references/agent-readiness.md))
252
+ - Industry publications and guest posts
253
+ - LinkedIn — per LinkedIn's own AEO guide, the most-cited outlet for professional-topic searches; Articles out-cite Posts ~60/40, and a post's first words become its URL slug, so front-load the target phrase (details in [references/format-volatility.md](references/format-volatility.md))
254
+ - Review sites (G2, Capterra, TrustRadius for B2B SaaS)
255
+ - YouTube (frequently cited by Google AI Overviews)
256
+ - Podcasts (episodes get transcribed, show notes published — both get crawled and cited)
257
+ - Quora answers
258
+
259
+ **Actions:**
260
+ - Ensure your Wikipedia page is accurate and current
261
+ - Participate authentically in Reddit communities — but as one surface in a portfolio, never the whole strategy (citation mixes shift overnight with retrieval updates)
262
+ - Get featured in industry roundups and comparison articles
263
+ - Maintain updated profiles on relevant review platforms
264
+ - Create YouTube content for key how-to queries — models don't watch the video, they read the text layer around it; see [references/youtube-ai-citations.md](references/youtube-ai-citations.md) for the full anatomy (transcript, captions, chapters, description, pinned comment)
265
+ - Guest on podcasts in your category (prep with the public-relations skill's podcast guest prep)
266
+ - Answer relevant Quora questions with depth
267
+
268
+ ### Machine-Readable Files for AI Agents
269
+
270
+ > **Google's stance**: not required for AI Overviews or AI Mode. Their guide explicitly says you don't need new markup, AI files, or markdown to appear in generative AI search.
271
+ >
272
+ > **Why include them anyway**: non-Google AI engines (ChatGPT, Claude, Perplexity) and autonomous buying agents do reward extractable structure. The files below help with those engines without harming Google.
273
+
274
+ AI agents aren't just answering questions — they're becoming buyers. When an AI agent evaluates tools on behalf of a user, it needs structured, parseable information. If your pricing is locked in a JavaScript-rendered page or a "contact sales" wall, agents will skip you and recommend competitors whose information they can actually read.
275
+
276
+ **Audit this layer first**: [references/agent-readiness.md](references/agent-readiness.md) — the access/discovery/parseability checklist, free scoring tools (`npx is-agentic`, Frase's checker), Markdown content negotiation + `Link` headers, `llms-full.txt`, and the emerging agent-*actionable* layer (WebMCP).
277
+
278
+ Add these machine-readable files to your site root:
279
+
280
+ **`/pricing.md` or `/pricing.txt`** — Structured pricing data for AI agents
281
+
282
+ ```markdown
283
+ # Pricing — [Your Product Name]
284
+
285
+ ## Free
286
+ - Price: $0/month
287
+ - Limits: 100 emails/month, 1 user
288
+ - Features: Basic templates, API access
289
+
290
+ ## Pro
291
+ - Price: $29/month (billed annually) | $35/month (billed monthly)
292
+ - Limits: 10,000 emails/month, 5 users
293
+ - Features: Custom domains, analytics, priority support
294
+
295
+ ## Enterprise
296
+ - Price: Custom — contact sales@example.com
297
+ - Limits: Unlimited emails, unlimited users
298
+ - Features: SSO, SLA, dedicated account manager
299
+ ```
300
+
301
+ **Why this matters now:**
302
+ - AI agents increasingly compare products programmatically before a human ever visits your site
303
+ - Opaque pricing gets filtered out of AI-mediated buying journeys
304
+ - A simple markdown file is trivially parseable by any LLM — no rendering, no JavaScript, no login walls
305
+ - Same principle as `robots.txt` (for crawlers), `llms.txt` (for AI context), and `AGENTS.md` (for agent capabilities)
306
+
307
+ **Best practices:**
308
+ - Use consistent units (monthly vs. annual, per-seat vs. flat)
309
+ - Include specific limits and thresholds, not just feature names
310
+ - List what's included at each tier, not just what's different
311
+ - Keep it updated — stale pricing is worse than no file
312
+ - Link to it from your sitemap and main pricing page
313
+
314
+ **`/llms.txt`** — Context file for AI systems (see [llmstxt.org](https://llmstxt.org))
315
+
316
+ If you don't have one yet, add an `llms.txt` that gives AI systems a quick overview of what your product does, who it's for, and links to key pages (including your pricing).
317
+
318
+ **`/okf/` — Open Knowledge Format bundle (Google-backed, v0.1)**
319
+
320
+ Google [introduced OKF](https://cloud.google.com/blog/products/data-analytics/how-the-open-knowledge-format-can-improve-data-sharing) in June 2026 — a markdown spec for representing site content as a directory of cross-linked files with YAML frontmatter, agent-readable without scraping. Built primarily for data-team catalog metadata; the site-readable-by-agents repurposing was popularized by Suganthan Mohanadasan. No confirmed AI-search ranking signal today — treat it as protocol-layer registration like early schema.org. **For the full breakdown, implementation paths (free generator, WordPress plugin, by-hand), hosting guidance, and when to skip, see [references/okf.md](references/okf.md).**
321
+
322
+ ### Schema Markup for AI
323
+
324
+ Structured data helps AI systems understand your content. Key schemas:
325
+
326
+ | Content Type | Schema | Why It Helps |
327
+ |-------------|--------|-------------|
328
+ | Articles/Blog posts | `Article`, `BlogPosting` | Author, date, topic identification |
329
+ | How-to content | `HowTo` | Step extraction for process queries |
330
+ | FAQs | `FAQPage` | Direct Q&A extraction |
331
+ | Products | `Product` | Pricing, features, reviews |
332
+ | Comparisons | `ItemList` | Structured comparison data |
333
+ | Reviews | `Review`, `AggregateRating` | Trust signals |
334
+ | Organization | `Organization` | Entity recognition |
335
+
336
+ Content with proper schema shows 30-40% higher AI visibility on non-Google AI engines. **Google's note**: structured data is "not required for generative AI search" but is recommended for overall SEO strategy. For implementation, use the **schema** skill.
337
+
338
+ ---
339
+
340
+ ## Agentic Experiences
341
+
342
+ Beyond AI search engines summarizing content, autonomous agents are starting to access sites directly — clicking, reading, comparing, even buying on behalf of users. Google's guide flags this as an emerging category to plan for.
343
+
344
+ **How agents access your site:**
345
+ - **Visual rendering** — they screenshot/read the page like a user would
346
+ - **DOM inspection** — they parse the page's HTML structure
347
+ - **Accessibility tree** — they rely on the same semantic information assistive tech uses (labels, roles, landmarks, headings)
348
+
349
+ **What to do:**
350
+ - **Render meaningful content without heavy JS gymnastics** — if the page is blank until 4 frameworks finish loading, agents see blank
351
+ - **Semantic HTML** — use `<main>`, `<nav>`, `<article>`, `<button>`, proper heading hierarchy, `alt` text on images
352
+ - **Clean accessibility tree** — every interactive element labelled; ARIA used correctly (or not at all when native HTML suffices)
353
+ - **Stable selectors / predictable layouts** — agents struggle with sites that re-render every interaction
354
+ - **Visible pricing, specs, contact info** — anything an agent would need to make a buying recommendation should be on a public, indexable page (this is where `/pricing.md` and similar files help)
355
+
356
+ **Emerging — Universal Commerce Protocol (UCP):**
357
+ Google references UCP as a forthcoming protocol that will give agents standardized hooks for commerce interactions (catalog discovery, pricing, checkout). Watch for adoption; for now, the structural recommendations above are the precursor.
358
+
359
+ For ecom and local business specifically, Google highlights:
360
+ - **Merchant Center feeds** + **Google Business Profile** for product/service visibility in AI Search
361
+ - **Business Agent** for conversational customer engagement (where applicable)
362
+
363
+ ---
364
+
365
+ ## Content Types That Get Cited Most
366
+
367
+ Not all content is equally citable — and the format mix is **volatile**. The long-standing baseline had comparison articles (~33%) and listicles (~10%) among the top citation earners, but **ChatGPT 5.6 (Aug 2026) demoted the exploited formats: listicle citations fell −50.5% and comparison-page citations −32.1%, while `site:` and "official" retrieval surged** — a shift toward primary sources and owned pages. Format strategy is now per-platform (comparisons still work on Google AIO/Gemini/Perplexity). See [references/format-volatility.md](references/format-volatility.md) for the shift data, the per-platform format table, LinkedIn's citation numbers, and the ChatGPT fan-out extraction diagnostic.
368
+
369
+ **Evergreen winners across platforms:** original research and data, definitive guides, and owned "official" pages — product, docs, pricing — with extractable structure.
370
+
371
+ **Underperformers:** generic unstructured posts, thin or gated or PDF-only content, and anything undated without author attribution.
372
+
373
+ **Citation ≠ recommendation.** Getting cited means your content was useful to consult; getting *recommended* — onto the buyer's actual shortlist — is governed by web-wide consensus (reviews, forums, analysts, press) and is largely independent of your own content. Self-promotional "best [category]" listicles can even backfire for emerging brands: in one 100-query B2B study, 69% of the AI Overview citations that self-promotional listicles earned came in answers that recommended competitors instead of the publishing brand. See [references/citations-vs-recommendations.md](references/citations-vs-recommendations.md) for the visibility ladder (retrieved → cited → mentioned → recommended), stage-dependent buyer's-guide strategy, what earns recommendations, and the attribution blind spot.
374
+
375
+ ---
376
+
377
+ ## Monitoring AI Visibility
378
+
379
+ ### What to Track
380
+
381
+ | Metric | What It Measures | How to Check |
382
+ |--------|-----------------|-------------|
383
+ | AI Overview presence | Do AI Overviews appear for your queries? | Manual check or Semrush/Ahrefs |
384
+ | Brand citation rate | How often you're cited in AI answers | AI visibility tools (see below) |
385
+ | Share of AI voice | Your citations vs. competitors | Peec AI, Otterly, ZipTie |
386
+ | Citation sentiment | How AI describes your brand | Manual review + monitoring tools |
387
+ | Recommendation rate | Whether you're on the shortlist, not just cited (see [citations-vs-recommendations.md](references/citations-vs-recommendations.md)) | Prompt tracking + mention framing |
388
+ | Source attribution | Which of your pages get cited | Track referral traffic from AI sources |
389
+
390
+ ### AI Visibility Monitoring Tools
391
+
392
+ | Tool | Coverage | Best For |
393
+ |------|----------|----------|
394
+ | **Otterly AI** | ChatGPT, Perplexity, Google AI Overviews | Share of AI voice tracking |
395
+ | **Peec AI** | ChatGPT, Gemini, Perplexity, Claude, Copilot+ | Multi-platform monitoring at scale |
396
+ | **ZipTie** | Google AI Overviews, ChatGPT, Perplexity | Brand mention + sentiment tracking |
397
+ | **LLMrefs** | ChatGPT, Perplexity, AI Overviews, Gemini | SEO keyword → AI visibility mapping |
398
+
399
+ ### DIY Monitoring (No Tools)
400
+
401
+ Monthly manual check:
402
+ 1. Pick your top 20 queries
403
+ 2. Run each through ChatGPT, Perplexity, and Google
404
+ 3. Record: Are you cited? Who is? What page?
405
+ 4. Log in a spreadsheet, track month-over-month
406
+
407
+ AI answers are **non-deterministic** — one run is an anecdote, not a measurement. Run each query 3–5 times per platform and track the mention *rate* with its sample size ("cited 3/5, n=5"), comparing rates over time rather than single runs. Full rigor checklist in [references/format-volatility.md](references/format-volatility.md).
408
+
409
+ ### Search Console expectations
410
+
411
+ Google's guide is explicit: **there is no AI-specific Search Console reporting**. AI Overviews and AI Mode use core Search ranking, so the standard Search Console reports (Performance, Coverage, Core Web Vitals) are still what you measure with for Google. The third-party tools above are the only way to see cross-platform AI citation behavior.
412
+
413
+ ---
414
+
415
+ ## What NOT to Do
416
+
417
+ Google's guide calls these out explicitly — they hurt across both traditional Search and AI features.
418
+
419
+ 1. **Write separate content "for AI"**. Same content should serve people and AI. Writing variants targeted at AI systems risks the **scaled content abuse spam policy** — Google's words.
420
+ 2. **Chunk pages into AI-bait fragments**. Google's guide is direct: *"Don't break your content into tiny pieces for AI to better understand it."* Use normal paragraph + heading structure.
421
+ 3. **Generate at scale for ranking manipulation**. AI-generated content is fine *if* it meets Search Essentials and spam policies. Mass-producing thin variations does not.
422
+ 4. **Pursue inauthentic mentions**. Don't fabricate citations or bulk-spam Reddit/Wikipedia for AI visibility. Real participation only.
423
+ 5. **Block AI crawlers if you want citation**. Blocking GPTBot, PerplexityBot, ClaudeBot, Google-Extended means those engines literally cannot cite you. Block training-only crawlers (CCBot) if you must, not the search-and-cite ones.
424
+ 6. **Hide your main content behind JS that doesn't render**. Both core Search and AI agents need to see your content; JS-only rendering loses both audiences.
425
+ 7. **Skip E-E-A-T fundamentals**. Author identity, first-hand experience, expertise signals, transparent sourcing — Google's guide leans heavily on these for AI features.
426
+
427
+ ---
428
+
429
+ ## AI SEO by Content Type
430
+
431
+ For tactical guidance on SaaS product pages, blog content, comparison/alternative pages, documentation, and local/ecom (Google's emphasis on Merchant Center + Business Profile), see [references/content-types.md](references/content-types.md).
432
+
433
+ ---
434
+
435
+ ## Common Mistakes
436
+
437
+ - **Ignoring AI search entirely** — ~45% of Google searches now show AI Overviews, and ChatGPT/Perplexity are growing fast
438
+ - **Treating AI SEO as separate from SEO** — Good traditional SEO is the foundation; AI SEO adds structure and authority on top
439
+ - **Writing for AI, not humans** — If content reads like it was written to game an algorithm, it won't get cited or convert
440
+ - **No freshness signals** — Undated content loses to dated content because AI systems weight recency heavily. Show when content was last updated
441
+ - **Gating all content** — AI can't access gated content. Keep your most authoritative content open
442
+ - **Ignoring third-party presence** — You may get more AI citations from a Wikipedia mention than from your own blog
443
+ - **No structured data** — Schema markup gives AI systems structured context about your content
444
+ - **Keyword stuffing** — Unlike traditional SEO where it's just ineffective, keyword stuffing actively reduces AI visibility by 10% (Princeton GEO study)
445
+ - **Hiding pricing behind "contact sales" or JS-rendered pages** — AI agents evaluating your product on behalf of buyers can't parse what they can't read. Add a `/pricing.md` file
446
+ - **Blocking AI bots** — If GPTBot, PerplexityBot, or ClaudeBot are blocked in robots.txt, those platforms can't cite you
447
+ - **Generic content without data** — "We're the best" won't get cited. "Our customers see 3x improvement in [metric]" will
448
+ - **Forgetting to monitor** — You can't improve what you don't measure. Check AI visibility monthly at minimum
449
+
450
+ ---
451
+
452
+ ## Tool Integrations
453
+
454
+ For implementation, see the tools registry (upstream-only reference; route through optbrew).
455
+
456
+ | Tool | Use For |
457
+ |------|---------|
458
+ | `semrush` | AI Overview tracking, keyword research, content gap analysis |
459
+ | `ahrefs` | Backlink analysis, content explorer, AI Overview data |
460
+ | `gsc` | Search Console performance data, query tracking |
461
+ | `ga4` | Referral traffic from AI sources |
462
+
463
+ ---
464
+
465
+ ## Task-Specific Questions
466
+
467
+ 1. What are your top 10-20 most important queries?
468
+ 2. Have you checked if AI answers exist for those queries today?
469
+ 3. Do you have structured data (schema markup) on your site?
470
+ 4. What content types do you publish? (Blog, docs, comparisons, etc.)
471
+ 5. Are competitors being cited by AI where you're not?
472
+ 6. Do you have a Wikipedia page or presence on review sites?
473
+
474
+ ---
475
+
476
+ ## Related Skills
477
+
478
+ - **seo-audit**: For traditional technical and on-page SEO audits
479
+ - **schema**: For implementing structured data that helps AI understand your content
480
+ - **content-strategy**: For planning what content to create
481
+ - **competitors**: For building comparison pages that get cited
482
+ - **programmatic-seo**: For building SEO pages at scale
483
+ - **copywriting**: For writing content that's both human-readable and AI-extractable
@@ -0,0 +1,57 @@
1
+ # Agent Readiness — Can an Agent Reach, Navigate, and Parse Your Site?
2
+
3
+ AI visibility work splits into two layers: what your content says (the rest of this skill) and whether an agent can *get to it at all*. This reference covers the second layer — the access/discovery/parseability audit — plus the emerging shift from agent-*readable* to agent-*actionable* sites.
4
+
5
+ Two free scoring tools shipped in August 2026 and turned this into a measurable discipline:
6
+
7
+ | Tool | Run it | Method |
8
+ |---|---|---|
9
+ | **Is Agentic** (Vercel + Ora) | `npx is-agentic yourdomain.com` or [is-agentic.com](https://is-agentic.com) | 100+ checks; Essential checks carry most of the score; Recommended checks activate only when evidence shows you have that surface (API, MCP server, commerce); not-applicable checks are excluded, not failed; includes an observed agent journey showing where a real agent hit friction |
10
+ | **Frase Agent Readiness Checker** | [frase.io/tools/agent-readiness](https://www.frase.io/tools/agent-readiness) | Access / Discovery / Parseability triad; 80+ = agents can reliably use the site, 60–79 = solid with gaps, <60 = real access problems |
11
+
12
+ Run one before and after any agent-readiness work — the score is a shareable artifact and the failed checks are your worklist. (Both are vendor tools with a product behind them; the *checks* are the value, not the pitch.)
13
+
14
+ ## The three questions
15
+
16
+ ### 1. Access — can an agent get to the page and see real content?
17
+
18
+ - **Core content in the initial HTML response.** Most agents never execute JavaScript. If the content only exists after client-side rendering, it doesn't exist. This is the #1 essential check in both tools.
19
+ - **No bot challenge or firewall block** on the request path. Aggressive bot protection (Cloudflare challenges, WAF rules) that blocks `GPTBot`, `PerplexityBot`, `ClaudeBot`, etc. is self-inflicted invisibility. Audit what your CDN/WAF actually does to those user agents — many sites block them by default without anyone deciding to.
20
+ - **Correct HTTP behavior**: real status codes (no soft-404s), stable canonical URLs, recoverable errors.
21
+
22
+ ### 2. Discovery — do your files tell agents what's here?
23
+
24
+ - **robots.txt with an explicit AI-crawler stance** — name the major AI crawlers and state your policy, rather than leaving it to be assumed (see the bot-access table in GUIDE.md for the allow/block list).
25
+ - **A sitemap that loads and parses cleanly.**
26
+ - **llms.txt at the domain root** (see Machine-Readable Files in GUIDE.md).
27
+ - **`llms-full.txt`** — the newer companion: your entire site content in one file, so an agent gets everything in a single request instead of crawling. Emerging, cheap to generate alongside llms.txt, and scored as bonus signal by both tools.
28
+ - **robots.txt content-usage statements** — an emerging convention for declaring what AI may do with your content (train / cite / summarize), so the answer comes from you instead of being assumed.
29
+
30
+ ### 3. Parseability — once there, can the agent tell what the page is?
31
+
32
+ - **Valid, substantive structured data** (JSON-LD — see the `schema` skill).
33
+ - **A Markdown representation of the page.** This is the newest technique in the stack, two implementations:
34
+ - **Content negotiation**: serve compact Markdown at the *same canonical URL* when the request asks for `Accept: text/markdown`, with a `Vary` header keeping the HTML and Markdown cache entries separate. (This is how Is Agentic serves its own reports — agents get Markdown, browsers get HTML, one URL.)
35
+ - **Link header**: an HTTP `Link` header on the HTML page pointing to a parallel Markdown version — discoverable without guessing URLs.
36
+ - Clear document structure — one H1, headings that answer sub-questions, extractable answer blocks (the content-patterns reference).
37
+
38
+ ## Emerging: agent-actionable, not just agent-readable
39
+
40
+ Reading is becoming table stakes. The next race is whether an agent can *act* on your site — fill the form, book the meeting, start the trial. **WebMCP** is the emerging standard here: a page declares its forms and CTAs as callable tools with input schemas, so an agent doesn't have to reverse-engineer your UI. Early days (label: emerging, not yet a ranking/citation signal), but the direction is clear — if agents are becoming buyers, the site that exposes "start trial" as a structured action wins the agent-mediated conversion that a pretty button loses.
41
+
42
+ Practical today: make sure your highest-intent actions (signup, pricing, demo booking, contact) work without JavaScript-only flows, have labeled semantic form fields, and return machine-readable confirmation.
43
+
44
+ ## Citation-source volatility (why you diversify)
45
+
46
+ Third-party citation mixes are **not stable** — they shift overnight with model and retrieval updates, and August 2026 provided the case study: **ChatGPT's query fan-out changes nearly wiped Reddit as a citation source** within days (practitioner-reported by multiple AEO teams; one had been earning 24-hour citations from Reddit at 1M+ impressions/month before the change). Meanwhile the same practitioners report **business-owned websites dominate Gemini citations (~60%)**.
47
+
48
+ What this means for strategy:
49
+
50
+ - **Never concentrate AI-visibility work in one third-party surface.** The Presence pillar's list (Wikipedia, Reddit, YouTube, podcasts, review sites, Quora) is a portfolio, not a menu to pick one from. A surface that's 2% of citations today can be 0% after one retrieval update — or vice versa.
51
+ - **Owned-site fundamentals hedge the volatility.** Platform deals and retrieval changes reshuffle third-party sources; your own agent-readable site is the one surface no platform can drop you from — and on Gemini it's already the dominant citation class.
52
+ - **Treat any citation-share statistic as dated.** The "Reddit = 1.8% of ChatGPT citations" class of stats (including the ones in this skill) are snapshots — check the date, and verify against your own citation monitoring (the DIY monitoring loop in GUIDE.md) before betting budget on them.
53
+ - **Speed is real**: fresh content on retrieved surfaces can be cited within ~24 hours. AI search rewards freshness faster than classic SEO ever did.
54
+
55
+ ---
56
+
57
+ *Agent-readiness check taxonomy distilled from Vercel/Ora's Is Agentic (is-agentic.com) and Frase's Agent Readiness Checker (both August 2026, credited); citation-volatility events practitioner-reported (Ashni of Hype Partners (@ashnichrist) and others, August 2026) — labeled accordingly, verify against your own monitoring.*
@@ -0,0 +1,85 @@
1
+ # Citations vs. Recommendations: The AI Visibility Ladder
2
+
3
+ Being cited by an AI engine and being recommended by it are **two different outcomes governed by two different systems**. A citation means your page was useful enough to pull information from. A recommendation means the model put your brand on the buyer's shortlist. Optimizing for the first does not automatically earn the second — and for smaller brands, conflating them leads to content strategies that can actively help competitors.
4
+
5
+ Source note: the analysis and data in this reference draw on Lily Ray's (Amsive) 2026 study of B2B "best [category] software" queries, behavioral studies by Scrunch and SimilarWeb, and commentary by John-Henry Scherck (Growth Plays).
6
+
7
+ ---
8
+
9
+ ## The Visibility Ladder
10
+
11
+ AI visibility is a ladder, not a binary. Each rung has different selection criteria and different measurement:
12
+
13
+ | Rung | What it means | What governs it | How to see it |
14
+ |---|---|---|---|
15
+ | **1. Retrieved** | The model read your content while building its answer, without citing it | Crawlability, parseable structure, query relevance | Mostly invisible; bot logs hint at it |
16
+ | **2. Cited** | Your page appears as a source in the answer | Content usefulness: structure, statistics, clarity, freshness | Prompt-tracking tools, AI Overview source lists |
17
+ | **3. Mentioned** | Your brand is named in the answer text | Entity recognition + how the web talks about you | Prompt-tracking tools |
18
+ | **4. Recommended** | Your product is on the shortlist the buyer actually considers | **Aggregate web consensus** — reviews, forums, analysts, press, video — largely independent of your own content | Prompt tracking + the framing around the mention |
19
+
20
+ Rungs 1–3 are legitimate signals your content is working, and most prompt-tracking tools report them. But rung 4 is where buying behavior changes, and it's earned differently: **citation is about whether your content is useful to consult; recommendation is mostly a reflection of what the broader web says about you** — whether you published a guide on the topic or not.
21
+
22
+ There is also a shadow rung: **recommended against**. On detailed, requirements-heavy prompts, models increasingly name products a buyer should *avoid* for their use case, with sources. The downside of weak third-party consensus is no longer just absence from the shortlist — it can be an explicit rule-out. This makes monitoring the *framing* around your mentions (favorable / neutral / hedged / negative), not just counting them, part of the job.
23
+
24
+ ---
25
+
26
+ ## The Self-Promotional Listicle Risk
27
+
28
+ The common tactic — publish a "best [category] software" guide, rank yourself #1, and let it shape both organic search and AI answers — now has a stage-dependent payoff.
29
+
30
+ **The data:** Lily Ray (Amsive) analyzed 100 B2B "best [category] software" queries across three dates in spring 2026. Across the dataset, self-promotional listicles earned 323 citations in AI Overviews — and in 224 of them (**69% of the citations**), the answer left the publishing brand out of the recommendations, pointing buyers to competitors instead.
31
+
32
+ **The mechanism:** the model treats your guide as a source about the *category*. It happily extracts the competitor names, comparisons, and evaluation criteria you compiled — then makes its recommendation from web-wide consensus, where the established players dominate. For an emerging brand, a self-promotional buyer's guide can function as **a vote for your competitors**: you did the research that helps the model describe them.
33
+
34
+ **The split by stage:**
35
+
36
+ - **Established category leaders** get both outcomes. Their guides earn citations *and* their brands get recommended — because analysts, review sites, and forum discussions already validate them. For leaders, a definitive buyer's guide is highly advantageous: it shapes how the whole category (competitors included) gets described.
37
+ - **Emerging brands** may win the citation and even shape the category's framing, but miss the recommendation. That's not a wasted outcome — influencing how an LLM defines the category and its evaluation criteria is real positioning work — but it is not the shortlist placement the tactic promises.
38
+
39
+ **What this changes (and doesn't):** genuinely useful buyer's guides still belong in a B2B content strategy at any stage. What changes is the expectation and the investment split. If you're not yet the consensus pick, weight effort toward the offsite signals that actually govern recommendations (below) rather than publishing a plethora of self-ranked listicles.
40
+
41
+ ---
42
+
43
+ ## What Earns Recommendations
44
+
45
+ Recommendation is a consensus signal. The inputs the models weigh live mostly off your site:
46
+
47
+ | Channel | Why it moves recommendations | Related skill |
48
+ |---|---|---|
49
+ | **Review platforms** (G2, Capterra, TrustRadius, app stores) | Third-party validation models treat as evidence of legitimacy | customer-research (review generation loops) |
50
+ | **Analyst coverage** (Gartner, Forrester, industry reports) | High-authority category framing; models echo analyst shortlists | public-relations |
51
+ | **Communities and forums** (Reddit, HN, Slack/Discord, niche forums) | Unprompted practitioner discussion is heavily retrieved and hard to fake | community-marketing |
52
+ | **Earned media and PR** | Independent sources repeating your positioning beyond your own site | public-relations |
53
+ | **Video and podcasts** | Increasingly retrieved; transcripts carry brand + category associations | video, social |
54
+
55
+ The test to apply before investing in another self-ranked guide: *if a model ignored everything on our domain, would the rest of the web still put us on the shortlist?* If not, that gap is the priority. AEO discourse often stops at "are we in the answer?" — the better question is "are we credible enough to be recommended?"
56
+
57
+ The encouraging flip side: earning an AI recommendation is harder to game than a top search ranking ever was. The durable strategy is the same at every stage — be the best fit for a clear set of buyers, and give those buyers reasons to talk about you in public, where the models can retrieve it.
58
+
59
+ ---
60
+
61
+ ## What a Recommendation Is Worth
62
+
63
+ Two behavioral studies quantified the gap between rungs:
64
+
65
+ - **Scrunch** (opt-in panel linking AI conversations to subsequent web behavior, compared against each user's own baseline — observational, not a controlled experiment): a genuine recommendation ("a great option is X") was associated with people searching for, visiting, and evaluating a brand **about twice as often** as a passing mention. For users with no recent observed engagement with the brand, a recommendation was followed within a week by **+182% branded searches, +117% site visits, and +185% product views**.
66
+ - **SimilarWeb** (thousands of real user journeys, seven days post-answer): when ChatGPT recommended a brand, it received **roughly 2.5× more new visitors** the following week than the competitors left off the list.
67
+
68
+ **The attribution blind spot:** in the SimilarWeb data, only about **9%** of those post-recommendation visits arrived as visible AI referral traffic; the largest share arrived via branded search, with direct and other channels making up the rest — indistinguishable from ordinary organic visitors. AI recommendations are already sending real, engaged buyers, but standard attribution underreports the AI touch.
69
+
70
+ **Measurement triad** (no single signal is complete; together they give a reliable read):
71
+
72
+ 1. **AI prompt tracking** — whether and how you're mentioned/recommended in LLM answers, even when no click ever lands (tools in GUIDE.md's Monitoring section). Track the framing around mentions — recommended, neutral, hedged, or recommended-against — not just the count.
73
+ 2. **Self-reported attribution** — a "how did you hear about us?" field catches buyers whose journey started in an AI chat but arrived via branded search or direct.
74
+ 3. **Sales call recordings** — buyers' own language often reveals an AI conversation shaped the shortlist long before any form fill.
75
+
76
+ Also watch **branded search volume** as a proxy: sustained lifts without a matching campaign are increasingly AI-influence showing up under another name.
77
+
78
+ ---
79
+
80
+ ## Applying This
81
+
82
+ - **Auditing an established brand:** buyer's guides and comparison content are high-leverage — publish the definitive version and shape the category's evaluation criteria.
83
+ - **Auditing an emerging brand:** publish the genuinely useful guides your ICP needs, but set expectations (citation and framing, not near-term recommendation) and rebalance investment toward reviews, communities, analysts, and earned media.
84
+ - **Reporting:** report the ladder, not a single "AI visibility" number — retrieved/cited/mentioned/recommended plus mention framing. A rising citation count with a flat recommendation rate is a specific, diagnosable gap: the web doesn't yet corroborate your content.
85
+ - **Risk check:** for requirements-heavy queries in your category, check whether models recommend *against* you, and trace the sources they cite when they do.