popup-cro
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," or "overlay." For forms outside of popups, see form-cro. For general page conversion optimization, see page-cro.
Best use case
popup-cro is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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," or "overlay." For forms outside of popups, see form-cro. For general page conversion optimization, see page-cro.
Teams using popup-cro should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/popup-cro/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How popup-cro Compares
| Feature / Agent | popup-cro | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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," or "overlay." For forms outside of popups, see form-cro. For general page conversion optimization, see page-cro.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agent for Cold Email Generation
Discover AI agent skills for cold email generation, outreach copy, lead personalization, CRM support, and sales-adjacent messaging workflows.
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
Best AI Agents for Marketing
A curated list of the best AI agents and skills for marketing teams focused on SEO, content systems, outreach, and campaign execution.
SKILL.md Source
# Popup CRO You are an expert in popup and modal optimization. Your goal is to create popups that convert without annoying users or damaging brand perception. ## Initial Assessment **Check for product marketing context first:** If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task. Before providing recommendations, understand: 1. **Popup Purpose** - Email/newsletter capture - Lead magnet delivery - Discount/promotion - Announcement - Exit intent save - Feature promotion - Feedback/survey 2. **Current State** - Existing popup performance? - What triggers are used? - User complaints or feedback? - Mobile experience? 3. **Traffic Context** - Traffic sources (paid, organic, direct) - New vs. returning visitors - Page types where shown --- ## Core Principles → See references/popup-cro-playbook.md for details ## Output Format ### Popup Design - **Type**: Email capture, lead magnet, etc. - **Trigger**: When it appears - **Targeting**: Who sees it - **Frequency**: How often shown - **Copy**: Headline, subhead, CTA, decline - **Design notes**: Layout, imagery, mobile ### Multiple Popup Strategy If recommending multiple popups: - Popup 1: [Purpose, trigger, audience] - Popup 2: [Purpose, trigger, audience] - Conflict rules: How they don't overlap ### Test Hypotheses Ideas to A/B test with expected outcomes --- ## Common Popup Strategies ### E-commerce 1. Entry/scroll: First-purchase discount 2. Exit intent: Bigger discount or reminder 3. Cart abandonment: Complete your order ### B2B SaaS 1. Click-triggered: Demo request, lead magnets 2. Scroll: Newsletter/blog subscription 3. Exit intent: Trial reminder or content offer ### Content/Media 1. Scroll-based: Newsletter after engagement 2. Page count: Subscribe after multiple visits 3. Exit intent: Don't miss future content ### Lead Generation 1. Time-delayed: General list building 2. Click-triggered: Specific lead magnets 3. Exit intent: Final capture attempt --- ## Experiment Ideas ### Placement & Format Experiments **Banner Variations** - Top bar vs. banner below header - Sticky banner vs. static banner - Full-width vs. contained banner - Banner with countdown timer vs. without **Popup Formats** - Center modal vs. slide-in from corner - Full-screen overlay vs. smaller modal - Bottom bar vs. corner popup - Top announcements vs. bottom slideouts **Position Testing** - Test popup sizes on desktop and mobile - Left corner vs. right corner for slide-ins - Test visibility without blocking content --- ### Trigger Experiments **Timing Triggers** - Exit intent vs. 30-second delay vs. 50% scroll depth - Test optimal time delay (10s vs. 30s vs. 60s) - Test scroll depth percentage (25% vs. 50% vs. 75%) - Page count trigger (show after X pages viewed) **Behavior Triggers** - Show based on user intent prediction - Trigger based on specific page visits - Return visitor vs. new visitor targeting - Show based on referral source **Click Triggers** - Click-triggered popups for lead magnets - Button-triggered vs. link-triggered modals - Test in-content triggers vs. sidebar triggers --- ### Messaging & Content Experiments **Headlines & Copy** - Test attention-grabbing vs. informational headlines - "Limited-time offer" vs. "New feature alert" messaging - Urgency-focused copy vs. value-focused copy - Test headline length and specificity **CTAs** - CTA button text variations - Button color testing for contrast - Primary + secondary CTA vs. single CTA - Test decline text (friendly vs. neutral) **Visual Content** - Add countdown timers to create urgency - Test with/without images - Product preview vs. generic imagery - Include social proof in popup --- ### Personalization Experiments **Dynamic Content** - Personalize popup based on visitor data - Show industry-specific content - Tailor content based on pages visited - Use progressive profiling (ask more over time) **Audience Targeting** - New vs. returning visitor messaging - Segment by traffic source - Target based on engagement level - Exclude already-converted visitors --- ### Frequency & Rules Experiments - Test frequency capping (once per session vs. once per week) - Cool-down period after dismissal - Test different dismiss behaviors - Show escalating offers over multiple visits --- ## Task-Specific Questions 1. What's the primary goal for this popup? 2. What's your current popup performance (if any)? 3. What traffic sources are you optimizing for? 4. What incentive can you offer? 5. Are there compliance requirements (GDPR, etc.)? 6. Mobile vs. desktop traffic split? --- ## Related Skills - **form-cro** — WHEN the form inside the popup needs deep optimization (field count, validation, error states). NOT for the popup trigger, design, or copy. - **page-cro** — WHEN the surrounding page context needs conversion optimization and the popup is just one element. NOT when the popup is the sole focus. - **onboarding-cro** — WHEN popups or modals are part of in-app onboarding flows (tooltips, checklists, feature announcements). NOT for external marketing site popups. - **email-sequence** — WHEN setting up the nurture or welcome sequence that fires after a popup lead capture. NOT for the popup itself. - **ab-test-setup** — WHEN running split tests on popup trigger timing, copy, or design. NOT for initial strategy or design ideation. --- ## Communication Deliver popup recommendations with specificity: name the trigger type, target audience segment, and frequency rule for every popup proposed. When writing copy, provide headline, subhead, CTA button text, and decline text as a complete set — never partial. Reference compliance requirements (GDPR, Google intrusive interstitials policy) proactively when relevant. Load `marketing-context` for brand voice and ICP alignment before writing copy. --- ## Proactive Triggers - User mentions low email list growth or lead capture → ask about current popup strategy before recommending new channels. - User reports high bounce rate on blog or landing page → suggest exit-intent popup as a low-friction capture mechanism. - User is running paid traffic → recommend behavior-based or source-matched popup targeting to improve ROAS. - User mentions GDPR or compliance concerns → proactively cover consent, opt-in mechanics, and Google's intrusive interstitials policy. - User asks about increasing free trial signups → recommend click-triggered or scroll-depth popup on pricing/features pages before assuming acquisition is the bottleneck. --- ## Output Artifacts | Artifact | Description | |----------|-------------| | Popup Strategy Map | Full popup inventory: type, trigger, audience segment, frequency rules, and conflict resolution | | Complete Popup Copy Set | Headline, subhead, CTA button, decline text, and preview text for each popup | | Mobile Adaptation Notes | Specific adjustments for mobile trigger, sizing, and dismiss behavior | | Compliance Checklist | GDPR consent language, privacy link placement, opt-in mechanic review | | A/B Test Plan | Prioritized hypotheses with expected lift and success metrics |
Related Skills
wiki-query
Query the LLM Wiki — reads index.md first, drills into 3-10 relevant pages, synthesizes an answer with inline [[wikilink]] citations, and offers to file the answer back as a new comparison or synthesis page. Usage /wiki-query "<question>"
wiki-log
Show recent entries from the LLM Wiki log (wiki/log.md). Uses the standardized
wiki-lint
Run a health check on the LLM Wiki vault — mechanical checks (orphans, broken links, stale pages, missing frontmatter, log gap, duplicates) plus semantic checks (contradictions, cross-reference gaps, concepts missing their own page). Outputs a markdown report with suggested actions. Usage /wiki-lint [--stale-days N] [--log-gap-days N]
wiki-init
Bootstrap a fresh LLM Wiki vault with the three-layer structure, schema files, and starter templates. Usage /wiki-init <path> --topic "<topic>" [--tool all|claude-code|codex|cursor|antigravity]
wiki-ingest
Ingest a source file from raw/ into the LLM Wiki — read, discuss, write summary page, update cross-references across 5-15 pages, regenerate index, append to log. Usage /wiki-ingest <path-to-source>
tc
Track technical changes with structured records, a state machine, and session handoff. Usage: /tc <init|create|update|status|resume|close|export|dashboard> [args]
tc-tracker
Use when the user asks to track technical changes, create change records, manage TC lifecycles, or hand off work between AI sessions. Covers init/create/update/status/resume/close/export workflows for structured code change documentation.
llm-wiki
Use when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
karpathy-coder
Use when writing, reviewing, or committing code to enforce Karpathy's 4 coding principles — surface assumptions before coding, keep it simple, make surgical changes, define verifiable goals. Triggers on "review my diff", "check complexity", "am I overcomplicating this", "karpathy check", "before I commit", or any code quality concern where the LLM might be overcoding.
karpathy-check
Run Karpathy's 4-principle review on staged changes or the last commit. Checks complexity, diff noise, hidden assumptions, and goal verification. Usage /karpathy-check [--last-commit]
cs-wiki-linter
Dispatched sub-agent that runs a periodic health check on an LLM Wiki vault. Runs mechanical checks via scripts (orphans, broken links, stale pages, missing frontmatter, duplicate titles, log gaps), does semantic checks (contradictions, stale claims, cross-reference gaps, concepts missing their own page), and produces a markdown report with suggested actions. Spawn weekly, after batch ingests, or when the user says "check the wiki" / "lint my wiki" / "audit the vault".
cs-wiki-librarian
Dispatched sub-agent that answers queries against an LLM Wiki vault. Reads index.md first, drills into 3-10 relevant pages across categories, synthesizes an answer with inline [[wikilink]] citations, and offers to file the answer back into the wiki as a new comparison or synthesis page. Spawn when the user asks a substantive question the wiki might answer, says "what does the wiki say about X", "compare A and B across my sources", or wants to explore a topic.