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,154 @@
1
+ # How Each AI Platform Picks Sources
2
+
3
+ Each AI search platform has its own search index, ranking logic, and content preferences. This guide covers what matters for getting cited on each one.
4
+
5
+ Sources cited throughout: Princeton GEO study (KDD 2024), SE Ranking domain authority study, ZipTie content-answer fit analysis.
6
+
7
+ ---
8
+
9
+ ## The Fundamentals
10
+
11
+ Every AI platform shares three baseline requirements:
12
+
13
+ 1. **Your content must be in their index** — Each platform uses a different search backend (Google, Bing, Brave, or their own). If you're not indexed, you can't be cited.
14
+ 2. **Your content must be crawlable** — AI bots need access via robots.txt. Block the bot, lose the citation.
15
+ 3. **Your content must be extractable** — AI systems pull passages, not pages. Clear structure and self-contained paragraphs win.
16
+
17
+ Beyond these basics, each platform weights different signals. Here's what matters and where.
18
+
19
+ ---
20
+
21
+ ## Google AI Overviews
22
+
23
+ Google AI Overviews pull from Google's own index and lean heavily on E-E-A-T signals (Experience, Expertise, Authoritativeness, Trustworthiness). They appear in roughly 45% of Google searches.
24
+
25
+ **What makes Google AI Overviews different:** They already have your traditional SEO signals — backlinks, page authority, topical relevance. The additional AI layer adds a preference for content with cited sources and structured data. Research shows that including authoritative citations in your content correlates with a 132% visibility boost, and writing with an authoritative (not salesy) tone adds another 89%.
26
+
27
+ **Importantly, AI Overviews don't just recycle the traditional Top 10.** Only about 15% of AI Overview sources overlap with conventional organic results. Pages that wouldn't crack page 1 in traditional search can still get cited if they have strong structured data and clear, extractable answers.
28
+
29
+ **What to focus on:**
30
+ - Schema markup is the single biggest lever — Article, FAQPage, HowTo, and Product schemas give AI Overviews structured context to work with (30-40% visibility boost)
31
+ - Build topical authority through content clusters with strong internal linking
32
+ - Include named, sourced citations in your content (not just claims)
33
+ - Author bios with real credentials matter — E-E-A-T is weighted heavily
34
+ - Get into Google's Knowledge Graph where possible (an accurate Wikipedia entry helps)
35
+ - Target "how to" and "what is" query patterns — these trigger AI Overviews most often
36
+
37
+ **Watch for OKF.** In June 2026 Google introduced the [Open Knowledge Format](https://cloud.google.com/blog/products/data-analytics/how-the-open-knowledge-format-can-improve-data-sharing) — a markdown spec for agent-readable site bundles. There is no confirmed signal that AI Overviews factor it in today, but the spec is published, the GitHub repo lives under `GoogleCloudPlatform`, and it ships inside Knowledge Catalog. For protocol-layer "register early" plays, it has the same shape as early schema.org adoption did a decade ago. See **Machine-Readable Files for AI Agents** in the main `GUIDE.md` for how to generate and serve a bundle.
38
+
39
+ ---
40
+
41
+ ## ChatGPT
42
+
43
+ ChatGPT's web search draws from a Bing-based index. It combines this with its training knowledge to generate answers, then cites the web sources it relied on.
44
+
45
+ **What makes ChatGPT different:** Domain authority matters more here than on other AI platforms. An SE Ranking analysis of 129,000 domains found that authority and credibility signals account for roughly 40% of what determines citation, with content quality at about 35% and platform trust at 25%. Sites with very high referring domain counts (350K+) average 8.4 citations per response, while sites with slightly lower trust scores (91-96 vs 97-100) drop from 8.4 to 6 citations.
46
+
47
+ **Freshness is a major differentiator.** Content updated within the last 30 days gets cited about 3.2x more often than older content. ChatGPT clearly favors recent information.
48
+
49
+ **The most important signal is content-answer fit** — a ZipTie analysis of 400,000 pages found that how well your content's style and structure matches ChatGPT's own response format accounts for about 55% of citation likelihood. This is far more important than domain authority (12%) or on-page structure (14%) alone. Write the way ChatGPT would answer the question, and you're more likely to be the source it cites.
50
+
51
+ **Where ChatGPT looks beyond your site:** Wikipedia accounts for 7.8% of all ChatGPT citations, Reddit for 1.8%, and Forbes for 1.1%. Brand official sites are cited frequently but third-party mentions carry significant weight.
52
+
53
+ **What to focus on:**
54
+ - Invest in backlinks and domain authority — it's the strongest baseline signal
55
+ - Update competitive content at least monthly
56
+ - Structure your content the way ChatGPT structures its answers (conversational, direct, well-organized)
57
+ - Include verifiable statistics with named sources
58
+ - Clean heading hierarchy (H1 > H2 > H3) with descriptive headings
59
+
60
+ ---
61
+
62
+ ## Perplexity
63
+
64
+ Perplexity always cites its sources with clickable links, making it the most transparent AI search platform. It combines its own index with Google's and runs results through multiple reranking passes — initial relevance retrieval, then traditional ranking factor scoring, then ML-based quality evaluation that can discard entire result sets if they don't meet quality thresholds.
65
+
66
+ **What makes Perplexity different:** It's the most "research-oriented" AI search engine, and its citation behavior reflects that. Perplexity maintains curated lists of authoritative domains (Amazon, GitHub, major academic sites) that get inherent ranking boosts. It uses a time-decay algorithm that evaluates new content quickly, giving fresh publishers a real shot at citation.
67
+
68
+ **Perplexity has unique content preferences:**
69
+ - **FAQ Schema (JSON-LD)** — Pages with FAQ structured data get cited noticeably more often
70
+ - **PDF documents** — Publicly accessible PDFs (whitepapers, research reports) are prioritized. If you have authoritative PDF content gated behind a form, consider making a version public.
71
+ - **Publishing velocity** — How frequently you publish matters more than keyword targeting
72
+ - **Self-contained paragraphs** — Perplexity prefers atomic, semantically complete paragraphs it can extract cleanly
73
+
74
+ **What to focus on:**
75
+ - Allow PerplexityBot in robots.txt
76
+ - Implement FAQPage schema on any page with Q&A content
77
+ - Host PDF resources publicly (whitepapers, guides, reports)
78
+ - Add Article schema with publication and modification timestamps
79
+ - Write in clear, self-contained paragraphs that work as standalone answers
80
+ - Build deep topical authority in your specific niche
81
+
82
+ ---
83
+
84
+ ## Microsoft Copilot
85
+
86
+ Copilot is embedded across Microsoft's ecosystem — Edge, Windows, Microsoft 365, and Bing Search. It relies entirely on Bing's index, so if Bing hasn't indexed your content, Copilot can't cite it.
87
+
88
+ **What makes Copilot different:** The Microsoft ecosystem connection creates unique optimization opportunities. Mentions and content on LinkedIn and GitHub provide ranking boosts that other platforms don't offer. Copilot also puts more weight on page speed — sub-2-second load times are a clear threshold.
89
+
90
+ **What to focus on:**
91
+ - Submit your site to Bing Webmaster Tools (many sites only submit to Google Search Console)
92
+ - Use IndexNow protocol for faster indexing of new and updated content
93
+ - Optimize page speed to under 2 seconds
94
+ - Write clear entity definitions — when your content defines a term or concept, make the definition explicit and extractable
95
+ - Build presence on LinkedIn (publish articles, maintain company page) and GitHub if relevant
96
+ - Ensure Bingbot has full crawl access
97
+
98
+ ---
99
+
100
+ ## Claude
101
+
102
+ Claude uses Brave Search as its search backend when web search is enabled — not Google, not Bing. This is a completely different index, which means your Brave Search visibility directly determines whether Claude can find and cite you.
103
+
104
+ **What makes Claude different:** Claude is extremely selective about what it cites. While it processes enormous amounts of content, its citation rate is very low — it's looking for the most factually accurate, well-sourced content on a given topic. Data-rich content with specific numbers and clear attribution performs significantly better than general-purpose content.
105
+
106
+ **What to focus on:**
107
+ - Verify your content appears in Brave Search results (search for your brand and key terms at search.brave.com)
108
+ - Allow ClaudeBot and anthropic-ai user agents in robots.txt
109
+ - Maximize factual density — specific numbers, named sources, dated statistics
110
+ - Use clear, extractable structure with descriptive headings
111
+ - Cite authoritative sources within your content
112
+ - Aim to be the most factually accurate source on your topic — Claude rewards precision
113
+
114
+ ---
115
+
116
+ ## Allowing AI Bots in robots.txt
117
+
118
+ If your robots.txt blocks an AI bot, that platform can't cite your content. Here are the user agents to allow:
119
+
120
+ ```
121
+ User-agent: GPTBot # OpenAI — powers ChatGPT search
122
+ User-agent: ChatGPT-User # ChatGPT browsing mode
123
+ User-agent: PerplexityBot # Perplexity AI search
124
+ User-agent: ClaudeBot # Anthropic Claude
125
+ User-agent: anthropic-ai # Anthropic Claude (alternate)
126
+ User-agent: Google-Extended # Google Gemini and AI Overviews
127
+ User-agent: Bingbot # Microsoft Copilot (via Bing)
128
+ Allow: /
129
+ ```
130
+
131
+ **Training vs. search:** Some AI bots are used for both model training and search citation. If you want to be cited but don't want your content used for training, your options are limited — GPTBot handles both for OpenAI. However, you can safely block **CCBot** (Common Crawl) without affecting any AI search citations, since it's only used for training dataset collection.
132
+
133
+ ---
134
+
135
+ ## Where to Start
136
+
137
+ If you're optimizing for AI search for the first time, focus your effort where your audience actually is:
138
+
139
+ **Start with Google AI Overviews** — They reach the most users (45%+ of Google searches) and you likely already have Google SEO foundations in place. Add schema markup, include cited sources in your content, and strengthen E-E-A-T signals.
140
+
141
+ **Then address ChatGPT** — It's the most-used standalone AI search tool for tech and business audiences. Focus on freshness (update content monthly), domain authority, and matching your content structure to how ChatGPT formats its responses.
142
+
143
+ **Then expand to Perplexity** — Especially valuable if your audience includes researchers, early adopters, or tech professionals. Add FAQ schema, publish PDF resources, and write in clear, self-contained paragraphs.
144
+
145
+ **Copilot and Claude are lower priority** unless your audience skews enterprise/Microsoft (Copilot) or developer/analyst (Claude). But the fundamentals — structured content, cited sources, schema markup — help across all platforms.
146
+
147
+ **Actions that help everywhere:**
148
+ 1. Allow all AI bots in robots.txt
149
+ 2. Implement schema markup (FAQPage, Article, Organization at minimum)
150
+ 3. Include statistics with named sources in your content
151
+ 4. Update content regularly — monthly for competitive topics
152
+ 5. Use clear heading structure (H1 > H2 > H3)
153
+ 6. Keep page load time under 2 seconds
154
+ 7. Add author bios with credentials
@@ -0,0 +1,60 @@
1
+ # YouTube Videos That Get Cited by AI
2
+
3
+ YouTube is one of the most-cited third-party surfaces in AI answers — Google AI Overviews and Gemini cite it heavily, and ChatGPT/Perplexity lift from it for how-to queries. The core insight that changes how you produce for it:
4
+
5
+ **Models don't watch your video. They read everything around it.** The citation is earned by the text layer — title, transcript, captions, chapters, description, and comments — not the footage. A mediocre-looking video with a clean, structured text layer beats a beautiful one that's opaque to a crawler.
6
+
7
+ ## The anatomy
8
+
9
+ Work through these in order of leverage:
10
+
11
+ ### 1. The transcript (the real content)
12
+
13
+ This is what the model actually reads. Optimize the *spoken words*:
14
+
15
+ - **Answer questions in complete, liftable sentences.** "The five steps to create an SOP are…" extracts cleanly; a rambling answer spread across three tangents doesn't.
16
+ - Script or outline the key answers before recording so each core question gets a clear, structured spoken answer in one place.
17
+ - Say the important terms out loud — the product name, the category, the entities you want associated. If it's only on a slide, the model may never see it.
18
+
19
+ ### 2. Accurate captions
20
+
21
+ Auto-captions are messy — misheard product names, no punctuation, broken sentences — and messy captions are what the model reads if you don't fix them. Upload cleaned captions (or at minimum correct the auto-generated ones). This is the cheapest fix on the list.
22
+
23
+ ### 3. A question-shaped title
24
+
25
+ Models match the title against the user's prompt. "How to Create SOPs That Scale Your Business" beats a clever title every time. Front-load the question or task; save the branding for the channel.
26
+
27
+ ### 4. Chapters and timestamps
28
+
29
+ Chapters let the model (and viewers) jump to the exact answer. Structure = extractability: each chapter title is another labeled, liftable claim about what the video covers. Match chapter titles to the sub-questions people actually ask.
30
+
31
+ ### 5. A keyword-rich, structured description
32
+
33
+ Restate the video's key points *as text* in the description — a short summary, then a bulleted list of what's covered, then resource links. This reinforces the topic and entities in plain crawlable text and gives the model a second, cleaner copy of the answer.
34
+
35
+ ### 6. A pinned comment with the summary
36
+
37
+ An extra liftable text block: pin a comment with the core answer in numbered steps plus the key links. It's indexed, it's structured, and it survives even when viewers never open the description.
38
+
39
+ ### 7. Thumbnail and engagement
40
+
41
+ Engagement isn't read directly by LLMs, but it drives the watch signals that lift YouTube ranking — and YouTube ranking feeds what AI systems surface and cite. The thumbnail's job is the click; the text layer's job is the citation.
42
+
43
+ ## Publishing checklist
44
+
45
+ - [ ] Title is question- or task-shaped and matches a real query
46
+ - [ ] Key answers spoken as complete, structured statements
47
+ - [ ] Captions uploaded or corrected (product names spelled right)
48
+ - [ ] Chapters added, titled by sub-question
49
+ - [ ] Description restates the key points in text with a bulleted breakdown
50
+ - [ ] Pinned comment carries the summary + links
51
+ - [ ] Important entities (brand, category, product) spoken *and* written
52
+
53
+ ## Related
54
+
55
+ - The same "models read the text layer" logic applies to podcasts: episodes get transcribed and show notes get published, so podcast guesting is earned media that compounds in AI answers — see the `public-relations` skill's podcast guest prep reference.
56
+ - For producing the videos themselves, see the `video` skill.
57
+
58
+ ---
59
+
60
+ *Anatomy pattern from Ross Simmonds / Foundation Inc. ("The Anatomy of a YouTube Video AI Cites," 2026), distilled and extended with credit.*
@@ -0,0 +1,303 @@
1
+ # Analytics Tracking
2
+
3
+ You are an expert in analytics implementation and measurement. Your goal is to help set up tracking that provides actionable insights for marketing and product decisions.
4
+
5
+ ## Initial Assessment
6
+
7
+ **Check for product marketing context first:**
8
+ 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.
9
+
10
+ Before implementing tracking, understand:
11
+
12
+ 1. **Business Context** - What decisions will this data inform? What are key conversions?
13
+ 2. **Current State** - What tracking exists? What tools are in use?
14
+ 3. **Technical Context** - What's the tech stack? Any privacy/compliance requirements?
15
+
16
+ ---
17
+
18
+ ## Core Principles
19
+
20
+ ### 1. Track for Decisions, Not Data
21
+ - Every event should inform a decision
22
+ - Avoid vanity metrics
23
+ - Quality > quantity of events
24
+
25
+ ### 2. Start with the Questions
26
+ - What do you need to know?
27
+ - What actions will you take based on this data?
28
+ - Work backwards to what you need to track
29
+
30
+ ### 3. Name Things Consistently
31
+ - Naming conventions matter
32
+ - Establish patterns before implementing
33
+ - Document everything
34
+
35
+ ### 4. Maintain Data Quality
36
+ - Validate implementation
37
+ - Monitor for issues
38
+ - Clean data > more data
39
+
40
+ ---
41
+
42
+ ## Tracking Plan Framework
43
+
44
+ ### Structure
45
+
46
+ ```
47
+ Event Name | Category | Properties | Trigger | Notes
48
+ ---------- | -------- | ---------- | ------- | -----
49
+ ```
50
+
51
+ ### Event Types
52
+
53
+ | Type | Examples |
54
+ |------|----------|
55
+ | Pageviews | Automatic, enhanced with metadata |
56
+ | User Actions | Button clicks, form submissions, feature usage |
57
+ | System Events | Signup completed, purchase, subscription changed |
58
+ | Custom Conversions | Goal completions, funnel stages |
59
+
60
+ **For comprehensive event lists**: See [references/event-library.md](references/event-library.md)
61
+
62
+ ---
63
+
64
+ ## Event Naming Conventions
65
+
66
+ ### Recommended Format: Object-Action
67
+
68
+ ```
69
+ signup_completed
70
+ button_clicked
71
+ form_submitted
72
+ article_read
73
+ checkout_payment_completed
74
+ ```
75
+
76
+ ### Best Practices
77
+ - Lowercase with underscores
78
+ - Be specific: `cta_hero_clicked` vs. `button_clicked`
79
+ - Include context in properties, not event name
80
+ - Avoid spaces and special characters
81
+ - Document decisions
82
+
83
+ ---
84
+
85
+ ## Essential Events
86
+
87
+ ### Marketing Site
88
+
89
+ | Event | Properties |
90
+ |-------|------------|
91
+ | cta_clicked | button_text, location |
92
+ | form_submitted | form_type |
93
+ | signup_completed | method, source |
94
+ | demo_requested | - |
95
+
96
+ ### Product/App
97
+
98
+ | Event | Properties |
99
+ |-------|------------|
100
+ | onboarding_step_completed | step_number, step_name |
101
+ | feature_used | feature_name |
102
+ | purchase_completed | plan, value |
103
+ | subscription_cancelled | reason |
104
+
105
+ **For full event library by business type**: See [references/event-library.md](references/event-library.md)
106
+
107
+ ---
108
+
109
+ ## Event Properties
110
+
111
+ ### Standard Properties
112
+
113
+ | Category | Properties |
114
+ |----------|------------|
115
+ | Page | page_title, page_location, page_referrer |
116
+ | User | user_id, user_type, account_id, plan_type |
117
+ | Campaign | source, medium, campaign, content, term |
118
+ | Product | product_id, product_name, category, price |
119
+
120
+ ### Best Practices
121
+ - Use consistent property names
122
+ - Include relevant context
123
+ - Don't duplicate automatic properties
124
+ - Avoid PII in properties
125
+
126
+ ---
127
+
128
+ ## GA4 Implementation
129
+
130
+ ### Quick Setup
131
+
132
+ 1. Create GA4 property and data stream
133
+ 2. Install gtag.js or GTM
134
+ 3. Enable enhanced measurement
135
+ 4. Configure custom events
136
+ 5. Mark conversions in Admin
137
+
138
+ ### Custom Event Example
139
+
140
+ ```javascript
141
+ gtag('event', 'signup_completed', {
142
+ 'method': 'email',
143
+ 'plan': 'free'
144
+ });
145
+ ```
146
+
147
+ **For detailed GA4 implementation**: See [references/ga4-implementation.md](references/ga4-implementation.md)
148
+
149
+ ---
150
+
151
+ ## Google Tag Manager
152
+
153
+ ### Container Structure
154
+
155
+ | Component | Purpose |
156
+ |-----------|---------|
157
+ | Tags | Code that executes (GA4, pixels) |
158
+ | Triggers | When tags fire (page view, click) |
159
+ | Variables | Dynamic values (click text, data layer) |
160
+
161
+ ### Data Layer Pattern
162
+
163
+ ```javascript
164
+ dataLayer.push({
165
+ 'event': 'form_submitted',
166
+ 'form_name': 'contact',
167
+ 'form_location': 'footer'
168
+ });
169
+ ```
170
+
171
+ **For detailed GTM implementation**: See [references/gtm-implementation.md](references/gtm-implementation.md)
172
+
173
+ ---
174
+
175
+ ## UTM Parameter Strategy
176
+
177
+ ### Standard Parameters
178
+
179
+ | Parameter | Purpose | Example |
180
+ |-----------|---------|---------|
181
+ | utm_source | Traffic source | google, newsletter |
182
+ | utm_medium | Marketing medium | cpc, email, social |
183
+ | utm_campaign | Campaign name | spring_sale |
184
+ | utm_content | Differentiate versions | hero_cta |
185
+ | utm_term | Paid search keywords | running+shoes |
186
+
187
+ ### Naming Conventions
188
+ - Lowercase everything
189
+ - Use underscores or hyphens consistently
190
+ - Be specific but concise: `blog_footer_cta`, not `cta1`
191
+ - Document all UTMs in a spreadsheet
192
+
193
+ ---
194
+
195
+ ## Debugging and Validation
196
+
197
+ ### Testing Tools
198
+
199
+ | Tool | Use For |
200
+ |------|---------|
201
+ | GA4 DebugView | Real-time event monitoring |
202
+ | GTM Preview Mode | Test triggers before publish |
203
+ | Browser Extensions | Tag Assistant, dataLayer Inspector |
204
+
205
+ ### Validation Checklist
206
+
207
+ - [ ] Events firing on correct triggers
208
+ - [ ] Property values populating correctly
209
+ - [ ] No duplicate events
210
+ - [ ] Works across browsers and mobile
211
+ - [ ] Conversions recorded correctly
212
+ - [ ] No PII leaking
213
+
214
+ ### Common Issues
215
+
216
+ | Issue | Check |
217
+ |-------|-------|
218
+ | Events not firing | Trigger config, GTM loaded |
219
+ | Wrong values | Variable path, data layer structure |
220
+ | Duplicate events | Multiple containers, trigger firing twice |
221
+
222
+ ---
223
+
224
+ ## Privacy and Compliance
225
+
226
+ ### Considerations
227
+ - Cookie consent required in EU/UK/CA
228
+ - No PII in analytics properties
229
+ - Data retention settings
230
+ - User deletion capabilities
231
+
232
+ ### Implementation
233
+ - Use consent mode (wait for consent)
234
+ - IP anonymization
235
+ - Only collect what you need
236
+ - Integrate with consent management platform
237
+
238
+ ---
239
+
240
+ ## Output Format
241
+
242
+ ### Tracking Plan Document
243
+
244
+ ```markdown
245
+ # [Site/Product] Tracking Plan
246
+
247
+ ## Overview
248
+ - Tools: GA4, GTM
249
+ - Last updated: [Date]
250
+
251
+ ## Events
252
+
253
+ | Event Name | Description | Properties | Trigger |
254
+ |------------|-------------|------------|---------|
255
+ | signup_completed | User completes signup | method, plan | Success page |
256
+
257
+ ## Custom Dimensions
258
+
259
+ | Name | Scope | Parameter |
260
+ |------|-------|-----------|
261
+ | user_type | User | user_type |
262
+
263
+ ## Conversions
264
+
265
+ | Conversion | Event | Counting |
266
+ |------------|-------|----------|
267
+ | Signup | signup_completed | Once per session |
268
+ ```
269
+
270
+ ---
271
+
272
+ ## Task-Specific Questions
273
+
274
+ 1. What tools are you using (GA4, Mixpanel, etc.)?
275
+ 2. What key actions do you want to track?
276
+ 3. What decisions will this data inform?
277
+ 4. Who implements - dev team or marketing?
278
+ 5. Are there privacy/consent requirements?
279
+ 6. What's already tracked?
280
+
281
+ ---
282
+
283
+ ## Tool Integrations
284
+
285
+ For implementation, see the tools registry (upstream-only reference; route through optbrew). Key analytics tools:
286
+
287
+ | Tool | Best For | MCP | Guide |
288
+ |------|----------|:---:|-------|
289
+ | **GA4** | Web analytics, Google ecosystem | ✓ | ga4.md (upstream-only reference; route through optbrew) |
290
+ | **Mixpanel** | Product analytics, event tracking | - | mixpanel.md (upstream-only reference; route through optbrew) |
291
+ | **Amplitude** | Product analytics, cohort analysis | - | amplitude.md (upstream-only reference; route through optbrew) |
292
+ | **PostHog** | Open-source analytics, session replay | - | posthog.md (upstream-only reference; route through optbrew) |
293
+ | **Segment** | Customer data platform, routing | - | segment.md (upstream-only reference; route through optbrew) |
294
+
295
+ ---
296
+
297
+ ## Related Skills
298
+
299
+ - **ab-testing**: For experiment tracking
300
+ - **attribution**: For attribution models, multi-touch/MMM/incrementality, and reconciling conflicting numbers across tools (once tracking is live)
301
+ - **seo-audit**: For organic traffic analysis
302
+ - **cro**: For conversion optimization (uses this data)
303
+ - **revops**: For pipeline metrics, CRM tracking, and revenue attribution