@miranda0808/maya-codex 0.1.0

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 (270) hide show
  1. package/README.md +30 -0
  2. package/bin/maya-codex.js +36 -0
  3. package/package.json +19 -0
  4. package/payload/.agents/skills/ab-test-setup/SKILL.md +266 -0
  5. package/payload/.agents/skills/ab-test-setup/evals/evals.json +105 -0
  6. package/payload/.agents/skills/ab-test-setup/references/sample-size-guide.md +263 -0
  7. package/payload/.agents/skills/ab-test-setup/references/test-templates.md +277 -0
  8. package/payload/.agents/skills/ad-creative/SKILL.md +362 -0
  9. package/payload/.agents/skills/ad-creative/evals/evals.json +90 -0
  10. package/payload/.agents/skills/ad-creative/references/generative-tools.md +637 -0
  11. package/payload/.agents/skills/ad-creative/references/platform-specs.md +213 -0
  12. package/payload/.agents/skills/ai-seo/SKILL.md +398 -0
  13. package/payload/.agents/skills/ai-seo/evals/evals.json +90 -0
  14. package/payload/.agents/skills/ai-seo/references/content-patterns.md +285 -0
  15. package/payload/.agents/skills/ai-seo/references/platform-ranking-factors.md +152 -0
  16. package/payload/.agents/skills/analytics-tracking/SKILL.md +309 -0
  17. package/payload/.agents/skills/analytics-tracking/evals/evals.json +90 -0
  18. package/payload/.agents/skills/analytics-tracking/references/event-library.md +260 -0
  19. package/payload/.agents/skills/analytics-tracking/references/ga4-implementation.md +300 -0
  20. package/payload/.agents/skills/analytics-tracking/references/gtm-implementation.md +390 -0
  21. package/payload/.agents/skills/churn-prevention/SKILL.md +424 -0
  22. package/payload/.agents/skills/churn-prevention/evals/evals.json +93 -0
  23. package/payload/.agents/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
  24. package/payload/.agents/skills/churn-prevention/references/dunning-playbook.md +408 -0
  25. package/payload/.agents/skills/cold-email/SKILL.md +158 -0
  26. package/payload/.agents/skills/cold-email/evals/evals.json +94 -0
  27. package/payload/.agents/skills/cold-email/references/benchmarks.md +83 -0
  28. package/payload/.agents/skills/cold-email/references/follow-up-sequences.md +81 -0
  29. package/payload/.agents/skills/cold-email/references/frameworks.md +90 -0
  30. package/payload/.agents/skills/cold-email/references/personalization.md +79 -0
  31. package/payload/.agents/skills/cold-email/references/subject-lines.md +53 -0
  32. package/payload/.agents/skills/competitor-alternatives/SKILL.md +256 -0
  33. package/payload/.agents/skills/competitor-alternatives/evals/evals.json +93 -0
  34. package/payload/.agents/skills/competitor-alternatives/references/content-architecture.md +271 -0
  35. package/payload/.agents/skills/competitor-alternatives/references/templates.md +223 -0
  36. package/payload/.agents/skills/content-strategy/SKILL.md +359 -0
  37. package/payload/.agents/skills/content-strategy/evals/evals.json +90 -0
  38. package/payload/.agents/skills/copy-editing/SKILL.md +447 -0
  39. package/payload/.agents/skills/copy-editing/evals/evals.json +89 -0
  40. package/payload/.agents/skills/copy-editing/references/plain-english-alternatives.md +394 -0
  41. package/payload/.agents/skills/copywriting/SKILL.md +252 -0
  42. package/payload/.agents/skills/copywriting/evals/evals.json +111 -0
  43. package/payload/.agents/skills/copywriting/references/copy-frameworks.md +344 -0
  44. package/payload/.agents/skills/copywriting/references/natural-transitions.md +272 -0
  45. package/payload/.agents/skills/email-sequence/SKILL.md +309 -0
  46. package/payload/.agents/skills/email-sequence/evals/evals.json +93 -0
  47. package/payload/.agents/skills/email-sequence/references/copy-guidelines.md +113 -0
  48. package/payload/.agents/skills/email-sequence/references/email-types.md +515 -0
  49. package/payload/.agents/skills/email-sequence/references/sequence-templates.md +168 -0
  50. package/payload/.agents/skills/form-cro/SKILL.md +429 -0
  51. package/payload/.agents/skills/form-cro/evals/evals.json +90 -0
  52. package/payload/.agents/skills/free-tool-strategy/SKILL.md +178 -0
  53. package/payload/.agents/skills/free-tool-strategy/evals/evals.json +90 -0
  54. package/payload/.agents/skills/free-tool-strategy/references/tool-types.md +217 -0
  55. package/payload/.agents/skills/launch-strategy/SKILL.md +353 -0
  56. package/payload/.agents/skills/launch-strategy/evals/evals.json +91 -0
  57. package/payload/.agents/skills/marketing-ideas/SKILL.md +167 -0
  58. package/payload/.agents/skills/marketing-ideas/evals/evals.json +90 -0
  59. package/payload/.agents/skills/marketing-ideas/references/ideas-by-category.md +366 -0
  60. package/payload/.agents/skills/marketing-psychology/SKILL.md +455 -0
  61. package/payload/.agents/skills/marketing-psychology/evals/evals.json +88 -0
  62. package/payload/.agents/skills/onboarding-cro/SKILL.md +220 -0
  63. package/payload/.agents/skills/onboarding-cro/evals/evals.json +92 -0
  64. package/payload/.agents/skills/onboarding-cro/references/experiments.md +258 -0
  65. package/payload/.agents/skills/page-cro/SKILL.md +182 -0
  66. package/payload/.agents/skills/page-cro/evals/evals.json +111 -0
  67. package/payload/.agents/skills/page-cro/references/experiments.md +248 -0
  68. package/payload/.agents/skills/paid-ads/SKILL.md +315 -0
  69. package/payload/.agents/skills/paid-ads/evals/evals.json +90 -0
  70. package/payload/.agents/skills/paid-ads/references/ad-copy-templates.md +207 -0
  71. package/payload/.agents/skills/paid-ads/references/audience-targeting.md +243 -0
  72. package/payload/.agents/skills/paid-ads/references/platform-setup-checklists.md +277 -0
  73. package/payload/.agents/skills/paywall-upgrade-cro/SKILL.md +227 -0
  74. package/payload/.agents/skills/paywall-upgrade-cro/evals/evals.json +93 -0
  75. package/payload/.agents/skills/paywall-upgrade-cro/references/experiments.md +164 -0
  76. package/payload/.agents/skills/popup-cro/SKILL.md +453 -0
  77. package/payload/.agents/skills/popup-cro/evals/evals.json +94 -0
  78. package/payload/.agents/skills/pricing-strategy/SKILL.md +231 -0
  79. package/payload/.agents/skills/pricing-strategy/evals/evals.json +90 -0
  80. package/payload/.agents/skills/pricing-strategy/references/research-methods.md +152 -0
  81. package/payload/.agents/skills/pricing-strategy/references/tier-structure.md +232 -0
  82. package/payload/.agents/skills/product-marketing-context/SKILL.md +27 -0
  83. package/payload/.agents/skills/product-marketing-context/evals/evals.json +40 -0
  84. package/payload/.agents/skills/programmatic-seo/SKILL.md +238 -0
  85. package/payload/.agents/skills/programmatic-seo/evals/evals.json +94 -0
  86. package/payload/.agents/skills/programmatic-seo/references/playbooks.md +308 -0
  87. package/payload/.agents/skills/referral-program/SKILL.md +255 -0
  88. package/payload/.agents/skills/referral-program/evals/evals.json +89 -0
  89. package/payload/.agents/skills/referral-program/references/affiliate-programs.md +164 -0
  90. package/payload/.agents/skills/referral-program/references/program-examples.md +143 -0
  91. package/payload/.agents/skills/revops/SKILL.md +343 -0
  92. package/payload/.agents/skills/revops/evals/evals.json +91 -0
  93. package/payload/.agents/skills/revops/references/automation-playbooks.md +290 -0
  94. package/payload/.agents/skills/revops/references/lifecycle-definitions.md +278 -0
  95. package/payload/.agents/skills/revops/references/routing-rules.md +203 -0
  96. package/payload/.agents/skills/revops/references/scoring-models.md +247 -0
  97. package/payload/.agents/skills/sales-enablement/SKILL.md +349 -0
  98. package/payload/.agents/skills/sales-enablement/evals/evals.json +91 -0
  99. package/payload/.agents/skills/sales-enablement/references/deck-frameworks.md +263 -0
  100. package/payload/.agents/skills/sales-enablement/references/demo-scripts.md +355 -0
  101. package/payload/.agents/skills/sales-enablement/references/objection-library.md +270 -0
  102. package/payload/.agents/skills/sales-enablement/references/one-pager-templates.md +208 -0
  103. package/payload/.agents/skills/schema-markup/SKILL.md +179 -0
  104. package/payload/.agents/skills/schema-markup/evals/evals.json +87 -0
  105. package/payload/.agents/skills/schema-markup/references/schema-examples.md +398 -0
  106. package/payload/.agents/skills/seo-audit/SKILL.md +412 -0
  107. package/payload/.agents/skills/seo-audit/evals/evals.json +136 -0
  108. package/payload/.agents/skills/seo-audit/references/ai-writing-detection.md +200 -0
  109. package/payload/.agents/skills/signup-flow-cro/SKILL.md +359 -0
  110. package/payload/.agents/skills/signup-flow-cro/evals/evals.json +88 -0
  111. package/payload/.agents/skills/site-architecture/SKILL.md +357 -0
  112. package/payload/.agents/skills/site-architecture/evals/evals.json +88 -0
  113. package/payload/.agents/skills/site-architecture/references/mermaid-templates.md +216 -0
  114. package/payload/.agents/skills/site-architecture/references/navigation-patterns.md +305 -0
  115. package/payload/.agents/skills/site-architecture/references/site-type-templates.md +293 -0
  116. package/payload/.agents/skills/social-content/SKILL.md +278 -0
  117. package/payload/.agents/skills/social-content/evals/evals.json +92 -0
  118. package/payload/.agents/skills/social-content/references/platforms.md +170 -0
  119. package/payload/.agents/skills/social-content/references/post-templates.md +177 -0
  120. package/payload/.agents/skills/social-content/references/reverse-engineering.md +195 -0
  121. package/payload/.maya/executor.md +79 -0
  122. package/payload/.maya/meta-api-agent.md +48 -0
  123. package/payload/.maya/modes/consult.md +63 -0
  124. package/payload/.maya/modes/task.md +97 -0
  125. package/payload/.maya/planner.md +69 -0
  126. package/payload/.maya/researcher.md +51 -0
  127. package/payload/.maya/templates/plan.md +77 -0
  128. package/payload/.maya/templates/state.md +87 -0
  129. package/payload/.maya/templates/task-packet.md +75 -0
  130. package/payload/MAYA-CATALOG.md +115 -0
  131. package/payload/MAYA-DEPENDENCIES.md +58 -0
  132. package/payload/MAYA.md +151 -0
  133. package/payload/campaigns/README.md +14 -0
  134. package/payload/commands/maya-consult.md +28 -0
  135. package/payload/commands/maya-task.md +38 -0
  136. package/payload/commands/product.md +55 -0
  137. package/payload/research/README.md +14 -0
  138. package/payload/templates/README.md +15 -0
  139. package/payload/templates/plan.md +77 -0
  140. package/payload/templates/state.md +87 -0
  141. package/payload/templates/task-packet.md +75 -0
  142. package/payload/tools/REGISTRY.md +368 -0
  143. package/payload/tools/clis/README.md +187 -0
  144. package/payload/tools/clis/activecampaign.js +435 -0
  145. package/payload/tools/clis/adobe-analytics.js +161 -0
  146. package/payload/tools/clis/ahrefs.js +192 -0
  147. package/payload/tools/clis/amplitude.js +182 -0
  148. package/payload/tools/clis/apollo.js +142 -0
  149. package/payload/tools/clis/beehiiv.js +245 -0
  150. package/payload/tools/clis/brevo.js +368 -0
  151. package/payload/tools/clis/buffer.js +260 -0
  152. package/payload/tools/clis/calendly.js +253 -0
  153. package/payload/tools/clis/clearbit.js +163 -0
  154. package/payload/tools/clis/customer-io.js +205 -0
  155. package/payload/tools/clis/dataforseo.js +257 -0
  156. package/payload/tools/clis/demio.js +149 -0
  157. package/payload/tools/clis/dub.js +158 -0
  158. package/payload/tools/clis/g2.js +186 -0
  159. package/payload/tools/clis/ga4.js +194 -0
  160. package/payload/tools/clis/google-ads.js +189 -0
  161. package/payload/tools/clis/google-search-console.js +166 -0
  162. package/payload/tools/clis/hotjar.js +167 -0
  163. package/payload/tools/clis/hunter.js +249 -0
  164. package/payload/tools/clis/instantly.js +270 -0
  165. package/payload/tools/clis/intercom.js +399 -0
  166. package/payload/tools/clis/keywords-everywhere.js +185 -0
  167. package/payload/tools/clis/kit.js +232 -0
  168. package/payload/tools/clis/klaviyo.js +348 -0
  169. package/payload/tools/clis/lemlist.js +221 -0
  170. package/payload/tools/clis/linkedin-ads.js +185 -0
  171. package/payload/tools/clis/livestorm.js +292 -0
  172. package/payload/tools/clis/mailchimp.js +220 -0
  173. package/payload/tools/clis/mention-me.js +161 -0
  174. package/payload/tools/clis/meta-ads.js +181 -0
  175. package/payload/tools/clis/mixpanel.js +248 -0
  176. package/payload/tools/clis/onesignal.js +241 -0
  177. package/payload/tools/clis/optimizely.js +233 -0
  178. package/payload/tools/clis/paddle.js +385 -0
  179. package/payload/tools/clis/partnerstack.js +382 -0
  180. package/payload/tools/clis/plausible.js +249 -0
  181. package/payload/tools/clis/postmark.js +375 -0
  182. package/payload/tools/clis/resend.js +370 -0
  183. package/payload/tools/clis/rewardful.js +160 -0
  184. package/payload/tools/clis/savvycal.js +223 -0
  185. package/payload/tools/clis/segment.js +192 -0
  186. package/payload/tools/clis/semrush.js +207 -0
  187. package/payload/tools/clis/sendgrid.js +211 -0
  188. package/payload/tools/clis/snov.js +237 -0
  189. package/payload/tools/clis/tiktok-ads.js +190 -0
  190. package/payload/tools/clis/tolt.js +153 -0
  191. package/payload/tools/clis/trustpilot.js +276 -0
  192. package/payload/tools/clis/typeform.js +269 -0
  193. package/payload/tools/clis/wistia.js +256 -0
  194. package/payload/tools/clis/zapier.js +160 -0
  195. package/payload/tools/integrations/activecampaign.md +337 -0
  196. package/payload/tools/integrations/adobe-analytics.md +156 -0
  197. package/payload/tools/integrations/ahrefs.md +142 -0
  198. package/payload/tools/integrations/amplitude.md +135 -0
  199. package/payload/tools/integrations/apollo.md +148 -0
  200. package/payload/tools/integrations/beehiiv.md +157 -0
  201. package/payload/tools/integrations/brevo.md +268 -0
  202. package/payload/tools/integrations/buffer.md +138 -0
  203. package/payload/tools/integrations/calendly.md +161 -0
  204. package/payload/tools/integrations/clearbit.md +142 -0
  205. package/payload/tools/integrations/customer-io.md +187 -0
  206. package/payload/tools/integrations/dataforseo.md +165 -0
  207. package/payload/tools/integrations/demio.md +182 -0
  208. package/payload/tools/integrations/dub-co.md +160 -0
  209. package/payload/tools/integrations/g2.md +179 -0
  210. package/payload/tools/integrations/ga4.md +126 -0
  211. package/payload/tools/integrations/google-ads.md +159 -0
  212. package/payload/tools/integrations/google-search-console.md +147 -0
  213. package/payload/tools/integrations/hotjar.md +147 -0
  214. package/payload/tools/integrations/hubspot.md +178 -0
  215. package/payload/tools/integrations/hunter.md +90 -0
  216. package/payload/tools/integrations/instantly.md +104 -0
  217. package/payload/tools/integrations/intercom.md +292 -0
  218. package/payload/tools/integrations/keywords-everywhere.md +207 -0
  219. package/payload/tools/integrations/kit.md +167 -0
  220. package/payload/tools/integrations/klaviyo.md +228 -0
  221. package/payload/tools/integrations/lemlist.md +110 -0
  222. package/payload/tools/integrations/linkedin-ads.md +164 -0
  223. package/payload/tools/integrations/livestorm.md +313 -0
  224. package/payload/tools/integrations/mailchimp.md +150 -0
  225. package/payload/tools/integrations/mention-me.md +160 -0
  226. package/payload/tools/integrations/meta-ads.md +147 -0
  227. package/payload/tools/integrations/mixpanel.md +137 -0
  228. package/payload/tools/integrations/onesignal.md +229 -0
  229. package/payload/tools/integrations/optimizely.md +171 -0
  230. package/payload/tools/integrations/paddle.md +212 -0
  231. package/payload/tools/integrations/partnerstack.md +222 -0
  232. package/payload/tools/integrations/plausible.md +177 -0
  233. package/payload/tools/integrations/posthog.md +151 -0
  234. package/payload/tools/integrations/postmark.md +234 -0
  235. package/payload/tools/integrations/resend.md +168 -0
  236. package/payload/tools/integrations/rewardful.md +147 -0
  237. package/payload/tools/integrations/salesforce.md +150 -0
  238. package/payload/tools/integrations/savvycal.md +181 -0
  239. package/payload/tools/integrations/segment.md +159 -0
  240. package/payload/tools/integrations/semrush.md +121 -0
  241. package/payload/tools/integrations/sendgrid.md +161 -0
  242. package/payload/tools/integrations/shopify.md +176 -0
  243. package/payload/tools/integrations/snov.md +94 -0
  244. package/payload/tools/integrations/stripe.md +148 -0
  245. package/payload/tools/integrations/tiktok-ads.md +161 -0
  246. package/payload/tools/integrations/tolt.md +144 -0
  247. package/payload/tools/integrations/trustpilot.md +191 -0
  248. package/payload/tools/integrations/typeform.md +190 -0
  249. package/payload/tools/integrations/webflow.md +198 -0
  250. package/payload/tools/integrations/wistia.md +164 -0
  251. package/payload/tools/integrations/wordpress.md +175 -0
  252. package/payload/tools/integrations/zapier.md +150 -0
  253. package/payload/tools/meta/README.md +55 -0
  254. package/payload/tools/meta/meta-cache-schema.md +65 -0
  255. package/payload/tools/meta/meta-fetch.ps1 +324 -0
  256. package/payload/tools/meta/meta-fetch.test.ps1 +38 -0
  257. package/vendor/shared-installer/manifests/claude-files.json +13 -0
  258. package/vendor/shared-installer/manifests/codex-files.json +13 -0
  259. package/vendor/shared-installer/manifests/common-files.json +13 -0
  260. package/vendor/shared-installer/package.json +15 -0
  261. package/vendor/shared-installer/src/bootstrap.js +12 -0
  262. package/vendor/shared-installer/src/cli-options.js +53 -0
  263. package/vendor/shared-installer/src/fs.js +105 -0
  264. package/vendor/shared-installer/src/index.js +44 -0
  265. package/vendor/shared-installer/src/install.js +157 -0
  266. package/vendor/shared-installer/src/manifest.js +52 -0
  267. package/vendor/shared-installer/templates/claude/.claude/skills/.gitkeep +1 -0
  268. package/vendor/shared-installer/templates/claude/CLAUDE.md +27 -0
  269. package/vendor/shared-installer/templates/codex/.agent/skills/.gitkeep +1 -0
  270. package/vendor/shared-installer/templates/codex/AGENTS.md +27 -0
@@ -0,0 +1,412 @@
1
+ ---
2
+ name: seo-audit
3
+ description: When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup. For AI search optimization, see ai-seo.
4
+ metadata:
5
+ version: 1.1.0
6
+ ---
7
+
8
+ # SEO Audit
9
+
10
+ You are an expert in search engine optimization. Your goal is to identify SEO issues and provide actionable recommendations to improve organic search performance.
11
+
12
+ ## Initial Assessment
13
+
14
+ **Use approved context inputs first:**
15
+ In Maya task workflows, start with the approved `TASK-PACKET.md` inputs and listed brand sections. If `PRODUCT.md` is explicitly provided or the work is being done in consult-style standalone usage, read `PRODUCT.md` before asking questions. If `PRODUCT.md` is missing, do not pretend the output is fully brand-calibrated.
16
+
17
+ Before auditing, understand:
18
+
19
+ 1. **Site Context**
20
+ - What type of site? (SaaS, e-commerce, blog, etc.)
21
+ - What's the primary business goal for SEO?
22
+ - What keywords/topics are priorities?
23
+
24
+ 2. **Current State**
25
+ - Any known issues or concerns?
26
+ - Current organic traffic level?
27
+ - Recent changes or migrations?
28
+
29
+ 3. **Scope**
30
+ - Full site audit or specific pages?
31
+ - Technical + on-page, or one focus area?
32
+ - Access to Search Console / analytics?
33
+
34
+ ---
35
+
36
+ ## Audit Framework
37
+
38
+ ### Schema Markup Detection Limitation
39
+
40
+ **`web_fetch` and `curl` cannot reliably detect structured data / schema markup.**
41
+
42
+ Many CMS plugins (AIOSEO, Yoast, RankMath) inject JSON-LD via client-side JavaScript — it won't appear in static HTML or `web_fetch` output (which strips `<script>` tags during conversion).
43
+
44
+ **To accurately check for schema markup, use one of these methods:**
45
+ 1. **Browser tool** — render the page and run: `document.querySelectorAll('script[type="application/ld+json"]')`
46
+ 2. **Google Rich Results Test** — https://search.google.com/test/rich-results
47
+ 3. **Screaming Frog export** — if the client provides one, use it (SF renders JavaScript)
48
+
49
+ Reporting "no schema found" based solely on `web_fetch` or `curl` leads to false audit findings — these tools can't see JS-injected schema.
50
+
51
+ ### Priority Order
52
+ 1. **Crawlability & Indexation** (can Google find and index it?)
53
+ 2. **Technical Foundations** (is the site fast and functional?)
54
+ 3. **On-Page Optimization** (is content optimized?)
55
+ 4. **Content Quality** (does it deserve to rank?)
56
+ 5. **Authority & Links** (does it have credibility?)
57
+
58
+ ---
59
+
60
+ ## Technical SEO Audit
61
+
62
+ ### Crawlability
63
+
64
+ **Robots.txt**
65
+ - Check for unintentional blocks
66
+ - Verify important pages allowed
67
+ - Check sitemap reference
68
+
69
+ **XML Sitemap**
70
+ - Exists and accessible
71
+ - Submitted to Search Console
72
+ - Contains only canonical, indexable URLs
73
+ - Updated regularly
74
+ - Proper formatting
75
+
76
+ **Site Architecture**
77
+ - Important pages within 3 clicks of homepage
78
+ - Logical hierarchy
79
+ - Internal linking structure
80
+ - No orphan pages
81
+
82
+ **Crawl Budget Issues** (for large sites)
83
+ - Parameterized URLs under control
84
+ - Faceted navigation handled properly
85
+ - Infinite scroll with pagination fallback
86
+ - Session IDs not in URLs
87
+
88
+ ### Indexation
89
+
90
+ **Index Status**
91
+ - site:domain.com check
92
+ - Search Console coverage report
93
+ - Compare indexed vs. expected
94
+
95
+ **Indexation Issues**
96
+ - Noindex tags on important pages
97
+ - Canonicals pointing wrong direction
98
+ - Redirect chains/loops
99
+ - Soft 404s
100
+ - Duplicate content without canonicals
101
+
102
+ **Canonicalization**
103
+ - All pages have canonical tags
104
+ - Self-referencing canonicals on unique pages
105
+ - HTTP → HTTPS canonicals
106
+ - www vs. non-www consistency
107
+ - Trailing slash consistency
108
+
109
+ ### Site Speed & Core Web Vitals
110
+
111
+ **Core Web Vitals**
112
+ - LCP (Largest Contentful Paint): < 2.5s
113
+ - INP (Interaction to Next Paint): < 200ms
114
+ - CLS (Cumulative Layout Shift): < 0.1
115
+
116
+ **Speed Factors**
117
+ - Server response time (TTFB)
118
+ - Image optimization
119
+ - JavaScript execution
120
+ - CSS delivery
121
+ - Caching headers
122
+ - CDN usage
123
+ - Font loading
124
+
125
+ **Tools**
126
+ - PageSpeed Insights
127
+ - WebPageTest
128
+ - Chrome DevTools
129
+ - Search Console Core Web Vitals report
130
+
131
+ ### Mobile-Friendliness
132
+
133
+ - Responsive design (not separate m. site)
134
+ - Tap target sizes
135
+ - Viewport configured
136
+ - No horizontal scroll
137
+ - Same content as desktop
138
+ - Mobile-first indexing readiness
139
+
140
+ ### Security & HTTPS
141
+
142
+ - HTTPS across entire site
143
+ - Valid SSL certificate
144
+ - No mixed content
145
+ - HTTP → HTTPS redirects
146
+ - HSTS header (bonus)
147
+
148
+ ### URL Structure
149
+
150
+ - Readable, descriptive URLs
151
+ - Keywords in URLs where natural
152
+ - Consistent structure
153
+ - No unnecessary parameters
154
+ - Lowercase and hyphen-separated
155
+
156
+ ---
157
+
158
+ ## On-Page SEO Audit
159
+
160
+ ### Title Tags
161
+
162
+ **Check for:**
163
+ - Unique titles for each page
164
+ - Primary keyword near beginning
165
+ - 50-60 characters (visible in SERP)
166
+ - Compelling and click-worthy
167
+ - Brand name placement (end, usually)
168
+
169
+ **Common issues:**
170
+ - Duplicate titles
171
+ - Too long (truncated)
172
+ - Too short (wasted opportunity)
173
+ - Keyword stuffing
174
+ - Missing entirely
175
+
176
+ ### Meta Descriptions
177
+
178
+ **Check for:**
179
+ - Unique descriptions per page
180
+ - 150-160 characters
181
+ - Includes primary keyword
182
+ - Clear value proposition
183
+ - Call to action
184
+
185
+ **Common issues:**
186
+ - Duplicate descriptions
187
+ - Auto-generated garbage
188
+ - Too long/short
189
+ - No compelling reason to click
190
+
191
+ ### Heading Structure
192
+
193
+ **Check for:**
194
+ - One H1 per page
195
+ - H1 contains primary keyword
196
+ - Logical hierarchy (H1 → H2 → H3)
197
+ - Headings describe content
198
+ - Not just for styling
199
+
200
+ **Common issues:**
201
+ - Multiple H1s
202
+ - Skip levels (H1 → H3)
203
+ - Headings used for styling only
204
+ - No H1 on page
205
+
206
+ ### Content Optimization
207
+
208
+ **Primary Page Content**
209
+ - Keyword in first 100 words
210
+ - Related keywords naturally used
211
+ - Sufficient depth/length for topic
212
+ - Answers search intent
213
+ - Better than competitors
214
+
215
+ **Thin Content Issues**
216
+ - Pages with little unique content
217
+ - Tag/category pages with no value
218
+ - Doorway pages
219
+ - Duplicate or near-duplicate content
220
+
221
+ ### Image Optimization
222
+
223
+ **Check for:**
224
+ - Descriptive file names
225
+ - Alt text on all images
226
+ - Alt text describes image
227
+ - Compressed file sizes
228
+ - Modern formats (WebP)
229
+ - Lazy loading implemented
230
+ - Responsive images
231
+
232
+ ### Internal Linking
233
+
234
+ **Check for:**
235
+ - Important pages well-linked
236
+ - Descriptive anchor text
237
+ - Logical link relationships
238
+ - No broken internal links
239
+ - Reasonable link count per page
240
+
241
+ **Common issues:**
242
+ - Orphan pages (no internal links)
243
+ - Over-optimized anchor text
244
+ - Important pages buried
245
+ - Excessive footer/sidebar links
246
+
247
+ ### Keyword Targeting
248
+
249
+ **Per Page**
250
+ - Clear primary keyword target
251
+ - Title, H1, URL aligned
252
+ - Content satisfies search intent
253
+ - Not competing with other pages (cannibalization)
254
+
255
+ **Site-Wide**
256
+ - Keyword mapping document
257
+ - No major gaps in coverage
258
+ - No keyword cannibalization
259
+ - Logical topical clusters
260
+
261
+ ---
262
+
263
+ ## Content Quality Assessment
264
+
265
+ ### E-E-A-T Signals
266
+
267
+ **Experience**
268
+ - First-hand experience demonstrated
269
+ - Original insights/data
270
+ - Real examples and case studies
271
+
272
+ **Expertise**
273
+ - Author credentials visible
274
+ - Accurate, detailed information
275
+ - Properly sourced claims
276
+
277
+ **Authoritativeness**
278
+ - Recognized in the space
279
+ - Cited by others
280
+ - Industry credentials
281
+
282
+ **Trustworthiness**
283
+ - Accurate information
284
+ - Transparent about business
285
+ - Contact information available
286
+ - Privacy policy, terms
287
+ - Secure site (HTTPS)
288
+
289
+ ### Content Depth
290
+
291
+ - Comprehensive coverage of topic
292
+ - Answers follow-up questions
293
+ - Better than top-ranking competitors
294
+ - Updated and current
295
+
296
+ ### User Engagement Signals
297
+
298
+ - Time on page
299
+ - Bounce rate in context
300
+ - Pages per session
301
+ - Return visits
302
+
303
+ ---
304
+
305
+ ## Common Issues by Site Type
306
+
307
+ ### SaaS/Product Sites
308
+ - Product pages lack content depth
309
+ - Blog not integrated with product pages
310
+ - Missing comparison/alternative pages
311
+ - Feature pages thin on content
312
+ - No glossary/educational content
313
+
314
+ ### E-commerce
315
+ - Thin category pages
316
+ - Duplicate product descriptions
317
+ - Missing product schema
318
+ - Faceted navigation creating duplicates
319
+ - Out-of-stock pages mishandled
320
+
321
+ ### Content/Blog Sites
322
+ - Outdated content not refreshed
323
+ - Keyword cannibalization
324
+ - No topical clustering
325
+ - Poor internal linking
326
+ - Missing author pages
327
+
328
+ ### Local Business
329
+ - Inconsistent NAP
330
+ - Missing local schema
331
+ - No Google Business Profile optimization
332
+ - Missing location pages
333
+ - No local content
334
+
335
+ ---
336
+
337
+ ## Output Format
338
+
339
+ ### Audit Report Structure
340
+
341
+ **Executive Summary**
342
+ - Overall health assessment
343
+ - Top 3-5 priority issues
344
+ - Quick wins identified
345
+
346
+ **Technical SEO Findings**
347
+ For each issue:
348
+ - **Issue**: What's wrong
349
+ - **Impact**: SEO impact (High/Medium/Low)
350
+ - **Evidence**: How you found it
351
+ - **Fix**: Specific recommendation
352
+ - **Priority**: 1-5 or High/Medium/Low
353
+
354
+ **On-Page SEO Findings**
355
+ Same format as above
356
+
357
+ **Content Findings**
358
+ Same format as above
359
+
360
+ **Prioritized Action Plan**
361
+ 1. Critical fixes (blocking indexation/ranking)
362
+ 2. High-impact improvements
363
+ 3. Quick wins (easy, immediate benefit)
364
+ 4. Long-term recommendations
365
+
366
+ ---
367
+
368
+ ## References
369
+
370
+ - [AI Writing Detection](references/ai-writing-detection.md): Common AI writing patterns to avoid (em dashes, overused phrases, filler words)
371
+ - For AI search optimization (AEO, GEO, LLMO, AI Overviews), see the **ai-seo** skill
372
+
373
+ ---
374
+
375
+ ## Tools Referenced
376
+
377
+ **Free Tools**
378
+ - Google Search Console (essential)
379
+ - Google PageSpeed Insights
380
+ - Bing Webmaster Tools
381
+ - Rich Results Test (**use this for schema validation — it renders JavaScript**)
382
+ - Mobile-Friendly Test
383
+ - Schema Validator
384
+
385
+ > **Note on schema detection:** `web_fetch` strips `<script>` tags (including JSON-LD) and cannot detect JS-injected schema. Use the browser tool, Rich Results Test, or Screaming Frog instead — they render JavaScript and capture dynamically-injected markup. See the Schema Markup Detection Limitation section above.
386
+
387
+ **Paid Tools** (if available)
388
+ - Screaming Frog
389
+ - Ahrefs / Semrush
390
+ - Sitebulb
391
+ - ContentKing
392
+
393
+ ---
394
+
395
+ ## Task-Specific Questions
396
+
397
+ 1. What pages/keywords matter most?
398
+ 2. Do you have Search Console access?
399
+ 3. Any recent changes or migrations?
400
+ 4. Who are your top organic competitors?
401
+ 5. What's your current organic traffic baseline?
402
+
403
+ ---
404
+
405
+ ## Related Skills
406
+
407
+ - **ai-seo**: For optimizing content for AI search engines (AEO, GEO, LLMO)
408
+ - **programmatic-seo**: For building SEO pages at scale
409
+ - **site-architecture**: For page hierarchy, navigation design, and URL structure
410
+ - **schema-markup**: For implementing structured data
411
+ - **page-cro**: For optimizing pages for conversion (not just ranking)
412
+ - **analytics-tracking**: For measuring SEO performance
@@ -0,0 +1,136 @@
1
+ {
2
+ "skill_name": "seo-audit",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Can you do an SEO audit of our SaaS website? We're getting about 2,000 organic visits/month but feel like we should be getting more. URL: https://example.com",
7
+ "expected_output": "Should use approved TASK-PACKET.md inputs first in Maya task workflows, and read PRODUCT.md directly when it is explicitly provided or when the work is consult-style standalone. Should ask clarifying questions about priority keywords, Search Console access, recent changes, and competitors. Should follow the audit framework priority order: Crawlability & Indexation, Technical Foundations, On-Page Optimization, Content Quality, Authority & Links. Should check robots.txt, XML sitemap, site architecture. Should evaluate title tags, meta descriptions, heading structure, and content optimization. Should NOT report on schema markup based solely on web_fetch (must note the detection limitation). Output should follow the Audit Report Structure: Executive Summary, Technical SEO Findings, On-Page SEO Findings, Content Findings, and Prioritized Action Plan.",
8
+ "assertions": [
9
+ "Uses approved TASK-PACKET.md inputs or PRODUCT.md context first",
10
+ "Asks clarifying questions about keywords, Search Console, recent changes",
11
+ "Follows audit priority order: crawlability first, then technical, on-page, content, authority",
12
+ "Checks robots.txt and XML sitemap",
13
+ "Evaluates title tags, meta descriptions, heading structure",
14
+ "Does NOT claim 'no schema found' based on web_fetch alone",
15
+ "Notes schema markup detection limitation",
16
+ "Output has Executive Summary",
17
+ "Output has Prioritized Action Plan",
18
+ "Each finding has Issue, Impact, Evidence, Fix, and Priority"
19
+ ],
20
+ "files": []
21
+ },
22
+ {
23
+ "id": 2,
24
+ "prompt": "Why am I not ranking for 'project management software'? We have a page targeting that keyword but it's stuck on page 3.",
25
+ "expected_output": "Should trigger on the casual 'why am I not ranking' phrasing. Should investigate both on-page and off-page factors. On-page: check title tag, H1, URL alignment with keyword; evaluate content depth vs competitors; check for keyword cannibalization. Technical: check indexation status, canonical tags, crawlability. Content quality: assess E-E-A-T signals, content depth, user engagement. Should provide specific, actionable fixes organized by priority. Should mention competitive analysis against current top-ranking pages.",
26
+ "assertions": [
27
+ "Triggers on casual 'why am I not ranking' phrasing",
28
+ "Checks title tag, H1, URL alignment with target keyword",
29
+ "Evaluates content depth vs competitors",
30
+ "Checks for keyword cannibalization",
31
+ "Checks indexation status and canonical tags",
32
+ "Assesses E-E-A-T signals",
33
+ "Mentions competitive analysis against top-ranking pages",
34
+ "Provides actionable fixes organized by priority"
35
+ ],
36
+ "files": []
37
+ },
38
+ {
39
+ "id": 3,
40
+ "prompt": "We just migrated from WordPress to Next.js and our organic traffic dropped 40% in the last month. Help!",
41
+ "expected_output": "Should treat this as an urgent migration diagnostic. Should immediately check: redirect mapping (301s from old URLs to new), canonical tags on new pages, robots.txt not blocking crawlers, XML sitemap submitted and updated, meta tags preserved. Should check for common migration issues: redirect chains/loops, soft 404s, lost internal links, changed URL structures without redirects. Should reference Search Console coverage report for indexation issues. Should provide a prioritized recovery plan with critical fixes first. Should mention monitoring timeline expectations (recovery can take weeks).",
42
+ "assertions": [
43
+ "Treats as urgent migration diagnostic",
44
+ "Checks redirect mapping (301s)",
45
+ "Checks canonical tags on new pages",
46
+ "Checks robots.txt not blocking crawlers",
47
+ "Checks XML sitemap updated and submitted",
48
+ "Checks for redirect chains or loops",
49
+ "Checks for soft 404s",
50
+ "References Search Console coverage report",
51
+ "Provides prioritized recovery plan",
52
+ "Mentions recovery timeline expectations"
53
+ ],
54
+ "files": []
55
+ },
56
+ {
57
+ "id": 4,
58
+ "prompt": "Review the technical SEO of our e-commerce site. We have about 50,000 products and use faceted navigation.",
59
+ "expected_output": "Should focus on e-commerce-specific technical issues: faceted navigation creating duplicate content, crawl budget management for large product catalog, parameterized URLs, product schema markup (with the caveat about detection limitations). Should check for thin category pages, duplicate product descriptions, out-of-stock page handling. Should address crawl budget issues: pagination, infinite scroll handling, session IDs in URLs. Should provide structured findings with Impact ratings and specific fixes.",
60
+ "assertions": [
61
+ "Addresses faceted navigation duplicate content",
62
+ "Addresses crawl budget for large catalog",
63
+ "Checks for parameterized URL issues",
64
+ "Mentions product schema with detection limitation caveat",
65
+ "Checks for thin category pages",
66
+ "Checks for duplicate product descriptions",
67
+ "Addresses out-of-stock page handling",
68
+ "Addresses pagination and infinite scroll",
69
+ "Findings include Impact ratings and specific fixes"
70
+ ],
71
+ "files": []
72
+ },
73
+ {
74
+ "id": 5,
75
+ "prompt": "Can you check our blog posts for on-page SEO issues? We publish 4 posts per week but traffic has been flat for 6 months.",
76
+ "expected_output": "Should apply the Content/Blog Sites framework: check for outdated content not refreshed, keyword cannibalization, missing topical clustering, poor internal linking, missing author pages. Should audit on-page elements: title tags, meta descriptions, heading structure, keyword targeting per post. Should assess E-E-A-T signals for blog content. Should check for content depth issues and whether posts answer search intent. Should recommend a content audit process and provide a prioritized action plan for the existing content library.",
77
+ "assertions": [
78
+ "Applies Content/Blog Sites framework",
79
+ "Checks for outdated content",
80
+ "Checks for keyword cannibalization",
81
+ "Checks for topical clustering",
82
+ "Checks for internal linking quality",
83
+ "Checks for author pages and E-E-A-T signals",
84
+ "Audits title tags, meta descriptions, heading structure",
85
+ "Assesses whether content answers search intent",
86
+ "Recommends content audit process",
87
+ "Provides prioritized action plan"
88
+ ],
89
+ "files": []
90
+ },
91
+ {
92
+ "id": 6,
93
+ "prompt": "I run a local plumbing business with 3 locations. My website barely shows up when people search for 'plumber near me' in our areas. What's wrong?",
94
+ "expected_output": "Should apply the Local Business site-type framework. Should check for: inconsistent NAP (Name, Address, Phone) across the site, missing local schema markup (with detection limitation caveat), Google Business Profile optimization, missing individual location pages for each of the 3 locations, and missing local content. Should also check standard technical and on-page factors. Should recommend local-specific fixes: location-specific pages with unique content, local schema on each, GBP optimization, citation consistency.",
95
+ "assertions": [
96
+ "Applies Local Business framework",
97
+ "Checks NAP consistency",
98
+ "Checks for local schema markup with detection caveat",
99
+ "Addresses Google Business Profile optimization",
100
+ "Recommends individual location pages for each location",
101
+ "Recommends local content strategy",
102
+ "Checks standard technical SEO factors too",
103
+ "Provides prioritized local SEO action plan"
104
+ ],
105
+ "files": []
106
+ },
107
+ {
108
+ "id": 7,
109
+ "prompt": "Our site loads really slowly, especially on mobile. Pages take 5-6 seconds to load. Is this hurting our SEO?",
110
+ "expected_output": "Should focus on Site Speed and Core Web Vitals. Should explain CWV thresholds: LCP < 2.5s, INP < 200ms, CLS < 0.1, and that 5-6s load time is well above acceptable. Should investigate speed factors: server response time (TTFB), image optimization, JavaScript execution, CSS delivery, caching headers, CDN usage, font loading. Should recommend specific tools: PageSpeed Insights, WebPageTest, Chrome DevTools, Search Console CWV report. Should explain that yes, page speed is a ranking factor and directly impacts SEO. Should provide prioritized fixes.",
111
+ "assertions": [
112
+ "Focuses on Core Web Vitals",
113
+ "Explains CWV thresholds (LCP, INP, CLS)",
114
+ "Identifies 5-6s as well above acceptable",
115
+ "Investigates specific speed factors",
116
+ "Recommends specific diagnostic tools",
117
+ "Confirms page speed impacts SEO rankings",
118
+ "Provides prioritized speed fixes",
119
+ "Addresses mobile-specific performance"
120
+ ],
121
+ "files": []
122
+ },
123
+ {
124
+ "id": 8,
125
+ "prompt": "I want to add FAQ schema to my product pages. Can you help me set that up?",
126
+ "expected_output": "Should recognize this is a schema markup implementation task, not an SEO audit. Should defer to or cross-reference the schema-markup skill, which specifically handles structured data implementation including FAQ schema. May briefly mention that FAQ schema can enable rich results, but should make clear that schema-markup is the right skill for implementation.",
127
+ "assertions": [
128
+ "Recognizes this as schema markup implementation",
129
+ "References or defers to schema-markup skill",
130
+ "Does not attempt a full SEO audit",
131
+ "May briefly mention FAQ schema benefits"
132
+ ],
133
+ "files": []
134
+ }
135
+ ]
136
+ }