@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,453 @@
1
+ ---
2
+ name: popup-cro
3
+ description: When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions "exit intent," "popup conversions," "modal optimization," "lead capture popup," "email popup," "announcement banner," "overlay," "collect emails with a popup," "exit popup," "scroll trigger," "sticky bar," or "notification bar." Use this for any overlay or interrupt-style conversion element. For forms outside of popups, see form-cro. For general page conversion optimization, see page-cro.
4
+ metadata:
5
+ version: 1.1.0
6
+ ---
7
+
8
+ # Popup CRO
9
+
10
+ You are an expert in popup and modal optimization. Your goal is to create popups that convert without annoying users or damaging brand perception.
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 providing recommendations, understand:
18
+
19
+ 1. **Popup Purpose**
20
+ - Email/newsletter capture
21
+ - Lead magnet delivery
22
+ - Discount/promotion
23
+ - Announcement
24
+ - Exit intent save
25
+ - Feature promotion
26
+ - Feedback/survey
27
+
28
+ 2. **Current State**
29
+ - Existing popup performance?
30
+ - What triggers are used?
31
+ - User complaints or feedback?
32
+ - Mobile experience?
33
+
34
+ 3. **Traffic Context**
35
+ - Traffic sources (paid, organic, direct)
36
+ - New vs. returning visitors
37
+ - Page types where shown
38
+
39
+ ---
40
+
41
+ ## Core Principles
42
+
43
+ ### 1. Timing Is Everything
44
+ - Too early = annoying interruption
45
+ - Too late = missed opportunity
46
+ - Right time = helpful offer at moment of need
47
+
48
+ ### 2. Value Must Be Obvious
49
+ - Clear, immediate benefit
50
+ - Relevant to page context
51
+ - Worth the interruption
52
+
53
+ ### 3. Respect the User
54
+ - Easy to dismiss
55
+ - Don't trap or trick
56
+ - Remember preferences
57
+ - Don't ruin the experience
58
+
59
+ ---
60
+
61
+ ## Trigger Strategies
62
+
63
+ ### Time-Based
64
+ - **Not recommended**: "Show after 5 seconds"
65
+ - **Better**: "Show after 30-60 seconds" (proven engagement)
66
+ - Best for: General site visitors
67
+
68
+ ### Scroll-Based
69
+ - **Typical**: 25-50% scroll depth
70
+ - Indicates: Content engagement
71
+ - Best for: Blog posts, long-form content
72
+ - Example: "You're halfway through—get more like this"
73
+
74
+ ### Exit Intent
75
+ - Detects cursor moving to close/leave
76
+ - Last chance to capture value
77
+ - Best for: E-commerce, lead gen
78
+ - Mobile alternative: Back button or scroll up
79
+
80
+ ### Click-Triggered
81
+ - User initiates (clicks button/link)
82
+ - Zero annoyance factor
83
+ - Best for: Lead magnets, gated content, demos
84
+ - Example: "Download PDF" → Popup form
85
+
86
+ ### Page Count / Session-Based
87
+ - After visiting X pages
88
+ - Indicates research/comparison behavior
89
+ - Best for: Multi-page journeys
90
+ - Example: "Been comparing? Here's a summary..."
91
+
92
+ ### Behavior-Based
93
+ - Add to cart abandonment
94
+ - Pricing page visitors
95
+ - Repeat page visits
96
+ - Best for: High-intent segments
97
+
98
+ ---
99
+
100
+ ## Popup Types
101
+
102
+ ### Email Capture Popup
103
+ **Goal**: Newsletter/list subscription
104
+
105
+ **Best practices:**
106
+ - Clear value prop (not just "Subscribe")
107
+ - Specific benefit of subscribing
108
+ - Single field (email only)
109
+ - Consider incentive (discount, content)
110
+
111
+ **Copy structure:**
112
+ - Headline: Benefit or curiosity hook
113
+ - Subhead: What they get, how often
114
+ - CTA: Specific action ("Get Weekly Tips")
115
+
116
+ ### Lead Magnet Popup
117
+ **Goal**: Exchange content for email
118
+
119
+ **Best practices:**
120
+ - Show what they get (cover image, preview)
121
+ - Specific, tangible promise
122
+ - Minimal fields (email, maybe name)
123
+ - Instant delivery expectation
124
+
125
+ ### Discount/Promotion Popup
126
+ **Goal**: First purchase or conversion
127
+
128
+ **Best practices:**
129
+ - Clear discount (10%, $20, free shipping)
130
+ - Deadline creates urgency
131
+ - Single use per visitor
132
+ - Easy to apply code
133
+
134
+ ### Exit Intent Popup
135
+ **Goal**: Last-chance conversion
136
+
137
+ **Best practices:**
138
+ - Acknowledge they're leaving
139
+ - Different offer than entry popup
140
+ - Address common objections
141
+ - Final compelling reason to stay
142
+
143
+ **Formats:**
144
+ - "Wait! Before you go..."
145
+ - "Forget something?"
146
+ - "Get 10% off your first order"
147
+ - "Questions? Chat with us"
148
+
149
+ ### Announcement Banner
150
+ **Goal**: Site-wide communication
151
+
152
+ **Best practices:**
153
+ - Top of page (sticky or static)
154
+ - Single, clear message
155
+ - Dismissable
156
+ - Links to more info
157
+ - Time-limited (don't leave forever)
158
+
159
+ ### Slide-In
160
+ **Goal**: Less intrusive engagement
161
+
162
+ **Best practices:**
163
+ - Enters from corner/bottom
164
+ - Doesn't block content
165
+ - Easy to dismiss or minimize
166
+ - Good for chat, support, secondary CTAs
167
+
168
+ ---
169
+
170
+ ## Design Best Practices
171
+
172
+ ### Visual Hierarchy
173
+ 1. Headline (largest, first seen)
174
+ 2. Value prop/offer (clear benefit)
175
+ 3. Form/CTA (obvious action)
176
+ 4. Close option (easy to find)
177
+
178
+ ### Sizing
179
+ - Desktop: 400-600px wide typical
180
+ - Don't cover entire screen
181
+ - Mobile: Full-width bottom or center, not full-screen
182
+ - Leave space to close (visible X, click outside)
183
+
184
+ ### Close Button
185
+ - Keep visible (top right is convention) — users who can't find the close button will bounce entirely
186
+ - Large enough to tap on mobile
187
+ - "No thanks" text link as alternative
188
+ - Click outside to close
189
+
190
+ ### Mobile Considerations
191
+ - Can't detect exit intent (use alternatives)
192
+ - Full-screen overlays feel aggressive
193
+ - Bottom slide-ups work well
194
+ - Larger touch targets
195
+ - Easy dismiss gestures
196
+
197
+ ### Imagery
198
+ - Product image or preview
199
+ - Face if relevant (increases trust)
200
+ - Minimal for speed
201
+ - Optional—copy can work alone
202
+
203
+ ---
204
+
205
+ ## Copy Formulas
206
+
207
+ ### Headlines
208
+ - Benefit-driven: "Get [result] in [timeframe]"
209
+ - Question: "Want [desired outcome]?"
210
+ - Command: "Don't miss [thing]"
211
+ - Social proof: "Join [X] people who..."
212
+ - Curiosity: "The one thing [audience] always get wrong about [topic]"
213
+
214
+ ### Subheadlines
215
+ - Expand on the promise
216
+ - Address objection ("No spam, ever")
217
+ - Set expectations ("Weekly tips in 5 min")
218
+
219
+ ### CTA Buttons
220
+ - First person works: "Get My Discount" vs "Get Your Discount"
221
+ - Specific over generic: "Send Me the Guide" vs "Submit"
222
+ - Value-focused: "Claim My 10% Off" vs "Subscribe"
223
+
224
+ ### Decline Options
225
+ - Polite, not guilt-trippy
226
+ - "No thanks" / "Maybe later" / "I'm not interested"
227
+ - Avoid manipulative: "No, I don't want to save money"
228
+
229
+ ---
230
+
231
+ ## Frequency and Rules
232
+
233
+ ### Frequency Capping
234
+ - Show maximum once per session
235
+ - Remember dismissals (cookie/localStorage)
236
+ - 7-30 days before showing again
237
+ - Respect user choice
238
+
239
+ ### Audience Targeting
240
+ - New vs. returning visitors (different needs)
241
+ - By traffic source (match ad message)
242
+ - By page type (context-relevant)
243
+ - Exclude converted users
244
+ - Exclude recently dismissed
245
+
246
+ ### Page Rules
247
+ - Exclude checkout/conversion flows
248
+ - Consider blog vs. product pages
249
+ - Match offer to page context
250
+
251
+ ---
252
+
253
+ ## Compliance and Accessibility
254
+
255
+ ### GDPR/Privacy
256
+ - Clear consent language
257
+ - Link to privacy policy
258
+ - Don't pre-check opt-ins
259
+ - Honor unsubscribe/preferences
260
+
261
+ ### Accessibility
262
+ - Keyboard navigable (Tab, Enter, Esc)
263
+ - Focus trap while open
264
+ - Screen reader compatible
265
+ - Sufficient color contrast
266
+ - Don't rely on color alone
267
+
268
+ ### Google Guidelines
269
+ - Intrusive interstitials hurt SEO
270
+ - Mobile especially sensitive
271
+ - Allow: Cookie notices, age verification, reasonable banners
272
+ - Avoid: Full-screen before content on mobile
273
+
274
+ ---
275
+
276
+ ## Measurement
277
+
278
+ ### Key Metrics
279
+ - **Impression rate**: Visitors who see popup
280
+ - **Conversion rate**: Impressions → Submissions
281
+ - **Close rate**: How many dismiss immediately
282
+ - **Engagement rate**: Interaction before close
283
+ - **Time to close**: How long before dismissing
284
+
285
+ ### What to Track
286
+ - Popup views
287
+ - Form focus
288
+ - Submission attempts
289
+ - Successful submissions
290
+ - Close button clicks
291
+ - Outside clicks
292
+ - Escape key
293
+
294
+ ### Benchmarks
295
+ - Email popup: 2-5% conversion typical
296
+ - Exit intent: 3-10% conversion
297
+ - Click-triggered: Higher (10%+, self-selected)
298
+
299
+ ---
300
+
301
+ ## Output Format
302
+
303
+ ### Popup Design
304
+ - **Type**: Email capture, lead magnet, etc.
305
+ - **Trigger**: When it appears
306
+ - **Targeting**: Who sees it
307
+ - **Frequency**: How often shown
308
+ - **Copy**: Headline, subhead, CTA, decline
309
+ - **Design notes**: Layout, imagery, mobile
310
+
311
+ ### Multiple Popup Strategy
312
+ If recommending multiple popups:
313
+ - Popup 1: [Purpose, trigger, audience]
314
+ - Popup 2: [Purpose, trigger, audience]
315
+ - Conflict rules: How they don't overlap
316
+
317
+ ### Test Hypotheses
318
+ Ideas to A/B test with expected outcomes
319
+
320
+ ---
321
+
322
+ ## Common Popup Strategies
323
+
324
+ ### E-commerce
325
+ 1. Entry/scroll: First-purchase discount
326
+ 2. Exit intent: Bigger discount or reminder
327
+ 3. Cart abandonment: Complete your order
328
+
329
+ ### B2B SaaS
330
+ 1. Click-triggered: Demo request, lead magnets
331
+ 2. Scroll: Newsletter/blog subscription
332
+ 3. Exit intent: Trial reminder or content offer
333
+
334
+ ### Content/Media
335
+ 1. Scroll-based: Newsletter after engagement
336
+ 2. Page count: Subscribe after multiple visits
337
+ 3. Exit intent: Don't miss future content
338
+
339
+ ### Lead Generation
340
+ 1. Time-delayed: General list building
341
+ 2. Click-triggered: Specific lead magnets
342
+ 3. Exit intent: Final capture attempt
343
+
344
+ ---
345
+
346
+ ## Experiment Ideas
347
+
348
+ ### Placement & Format Experiments
349
+
350
+ **Banner Variations**
351
+ - Top bar vs. banner below header
352
+ - Sticky banner vs. static banner
353
+ - Full-width vs. contained banner
354
+ - Banner with countdown timer vs. without
355
+
356
+ **Popup Formats**
357
+ - Center modal vs. slide-in from corner
358
+ - Full-screen overlay vs. smaller modal
359
+ - Bottom bar vs. corner popup
360
+ - Top announcements vs. bottom slideouts
361
+
362
+ **Position Testing**
363
+ - Test popup sizes on desktop and mobile
364
+ - Left corner vs. right corner for slide-ins
365
+ - Test visibility without blocking content
366
+
367
+ ---
368
+
369
+ ### Trigger Experiments
370
+
371
+ **Timing Triggers**
372
+ - Exit intent vs. 30-second delay vs. 50% scroll depth
373
+ - Test optimal time delay (10s vs. 30s vs. 60s)
374
+ - Test scroll depth percentage (25% vs. 50% vs. 75%)
375
+ - Page count trigger (show after X pages viewed)
376
+
377
+ **Behavior Triggers**
378
+ - Show based on user intent prediction
379
+ - Trigger based on specific page visits
380
+ - Return visitor vs. new visitor targeting
381
+ - Show based on referral source
382
+
383
+ **Click Triggers**
384
+ - Click-triggered popups for lead magnets
385
+ - Button-triggered vs. link-triggered modals
386
+ - Test in-content triggers vs. sidebar triggers
387
+
388
+ ---
389
+
390
+ ### Messaging & Content Experiments
391
+
392
+ **Headlines & Copy**
393
+ - Test attention-grabbing vs. informational headlines
394
+ - "Limited-time offer" vs. "New feature alert" messaging
395
+ - Urgency-focused copy vs. value-focused copy
396
+ - Test headline length and specificity
397
+
398
+ **CTAs**
399
+ - CTA button text variations
400
+ - Button color testing for contrast
401
+ - Primary + secondary CTA vs. single CTA
402
+ - Test decline text (friendly vs. neutral)
403
+
404
+ **Visual Content**
405
+ - Add countdown timers to create urgency
406
+ - Test with/without images
407
+ - Product preview vs. generic imagery
408
+ - Include social proof in popup
409
+
410
+ ---
411
+
412
+ ### Personalization Experiments
413
+
414
+ **Dynamic Content**
415
+ - Personalize popup based on visitor data
416
+ - Show industry-specific content
417
+ - Tailor content based on pages visited
418
+ - Use progressive profiling (ask more over time)
419
+
420
+ **Audience Targeting**
421
+ - New vs. returning visitor messaging
422
+ - Segment by traffic source
423
+ - Target based on engagement level
424
+ - Exclude already-converted visitors
425
+
426
+ ---
427
+
428
+ ### Frequency & Rules Experiments
429
+
430
+ - Test frequency capping (once per session vs. once per week)
431
+ - Cool-down period after dismissal
432
+ - Test different dismiss behaviors
433
+ - Show escalating offers over multiple visits
434
+
435
+ ---
436
+
437
+ ## Task-Specific Questions
438
+
439
+ 1. What's the primary goal for this popup?
440
+ 2. What's your current popup performance (if any)?
441
+ 3. What traffic sources are you optimizing for?
442
+ 4. What incentive can you offer?
443
+ 5. Are there compliance requirements (GDPR, etc.)?
444
+ 6. Mobile vs. desktop traffic split?
445
+
446
+ ---
447
+
448
+ ## Related Skills
449
+
450
+ - **form-cro**: For optimizing the form inside the popup
451
+ - **page-cro**: For the page context around popups
452
+ - **email-sequence**: For what happens after popup conversion
453
+ - **ab-test-setup**: For testing popup variations
@@ -0,0 +1,94 @@
1
+ {
2
+ "skill_name": "popup-cro",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Help me create an exit-intent popup for our SaaS landing page. We want to capture emails from visitors who are about to leave without signing up. Our product is a social media scheduling tool.",
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 identify the popup type as exit-intent email capture. Should apply the exit-intent popup design guidance: compelling headline (address why they're leaving or offer additional value), lead magnet or incentive (discount, free resource, extended trial), minimal form fields (email only), clear CTA, and easy close option. Should apply copy formulas from the skill. Should address trigger configuration (exit intent detection). Should recommend frequency rules (don't show again if dismissed). Should include benchmarks (exit intent popups typically 3-10% conversion).",
8
+ "assertions": [
9
+ "Uses approved TASK-PACKET.md inputs or PRODUCT.md context first",
10
+ "Identifies as exit-intent popup type",
11
+ "Includes compelling headline",
12
+ "Includes lead magnet or incentive",
13
+ "Minimal form fields (email only)",
14
+ "Applies copy formulas from the skill",
15
+ "Addresses trigger configuration",
16
+ "Recommends frequency rules",
17
+ "Includes conversion benchmarks"
18
+ ],
19
+ "files": []
20
+ },
21
+ {
22
+ "id": 2,
23
+ "prompt": "We want to offer a 10% discount to first-time visitors via a popup. When should we show it and what should it say?",
24
+ "expected_output": "Should identify this as a discount/offer popup type. Should apply trigger strategy guidance: recommend against showing immediately on page load (too aggressive). Should suggest time-based delay (30-60 seconds), scroll-based trigger (50%+ page scroll), or exit intent as better alternatives. Should apply the copy formula for discount popups: headline that frames the value, clear offer terms, urgency element, email capture, and CTA. Should address compliance (GDPR cookie consent if applicable). Should recommend frequency capping.",
25
+ "assertions": [
26
+ "Identifies as discount popup type",
27
+ "Recommends against immediate page load trigger",
28
+ "Suggests better trigger alternatives (time, scroll, exit)",
29
+ "Applies copy formula for discount popups",
30
+ "Includes urgency element",
31
+ "Addresses frequency capping",
32
+ "Addresses compliance considerations"
33
+ ],
34
+ "files": []
35
+ },
36
+ {
37
+ "id": 3,
38
+ "prompt": "our popups are annoying everyone. we keep getting complaints but we also get a lot of email signups from them. how do we balance this?",
39
+ "expected_output": "Should trigger on casual phrasing. Should apply the frequency and rules guidance. Should address the balance: reduce annoyance while preserving conversions. Should recommend: frequency capping (once per session or once per X days), don't show to returning visitors who already dismissed, don't show to existing subscribers, respect 'close' action, consider less intrusive formats (slide-in instead of full modal, announcement bar instead of overlay). Should address compliance and accessibility requirements. Should suggest A/B testing different triggers and formats to find the best balance.",
40
+ "assertions": [
41
+ "Triggers on casual phrasing",
42
+ "Applies frequency and rules guidance",
43
+ "Addresses balance between conversions and UX",
44
+ "Recommends frequency capping",
45
+ "Suggests excluding existing subscribers",
46
+ "Recommends less intrusive alternatives",
47
+ "Suggests A/B testing to optimize"
48
+ ],
49
+ "files": []
50
+ },
51
+ {
52
+ "id": 4,
53
+ "prompt": "What types of popups should we use on our blog? We publish content about email marketing and want to grow our email list.",
54
+ "expected_output": "Should recommend blog-appropriate popup types: scroll-triggered popup (show after 50-70% scroll indicating engagement), exit-intent popup, slide-in (less intrusive than modal), and inline content upgrades. Should recommend lead magnets relevant to the blog topic (email marketing templates, checklist, swipe file). Should address different popup placements: mid-content, end of post, sidebar slide-in. Should recommend behavior-based triggers over time-based for blog content. Should apply copy formulas with blog-specific hooks.",
55
+ "assertions": [
56
+ "Recommends blog-appropriate popup types",
57
+ "Includes scroll-triggered and exit-intent",
58
+ "Suggests less intrusive formats (slide-in)",
59
+ "Recommends relevant lead magnets",
60
+ "Addresses popup placement on blog pages",
61
+ "Recommends behavior-based triggers for blog",
62
+ "Applies copy formulas"
63
+ ],
64
+ "files": []
65
+ },
66
+ {
67
+ "id": 5,
68
+ "prompt": "Design an announcement banner for our new feature launch. We want it to show at the top of the site for 2 weeks.",
69
+ "expected_output": "Should identify this as an announcement banner popup type. Should apply banner design guidance: short, clear headline announcing the feature, brief description of benefit, CTA to learn more or try it, dismiss option. Should recommend banner positioning (top of page, sticky or static). Should address duration (2 weeks as stated). Should recommend targeting (show to existing users who'd benefit, not just everyone). Should provide copy recommendations.",
70
+ "assertions": [
71
+ "Identifies as announcement banner type",
72
+ "Provides short, clear headline",
73
+ "Includes brief benefit description and CTA",
74
+ "Includes dismiss option",
75
+ "Addresses banner positioning",
76
+ "Recommends audience targeting",
77
+ "Provides copy recommendations"
78
+ ],
79
+ "files": []
80
+ },
81
+ {
82
+ "id": 6,
83
+ "prompt": "We need to optimize the lead capture form inside our popup. It currently asks for name, email, company, and phone number. Too many fields?",
84
+ "expected_output": "Should recognize this overlaps with form optimization. Should defer to or cross-reference the form-cro skill, which handles form field optimization, layout, and conversion. May provide popup-specific context (popups need minimal fields due to fleeting attention) but should make clear that form-cro is the right skill for detailed form optimization.",
85
+ "assertions": [
86
+ "Recognizes overlap with form optimization",
87
+ "References or defers to form-cro skill",
88
+ "Notes popups need minimal fields due to context",
89
+ "Does not attempt detailed form redesign"
90
+ ],
91
+ "files": []
92
+ }
93
+ ]
94
+ }