# popup-cro

> A Claude Code skill that designs popups, modals, slide-ins, and banners that convert without trashing brand perception — exit intent, scroll trigger, sticky bars.

**Use case**: Run popups that convert without alienating users

**Canonical URL**: https://agentcookbooks.com/skills/popup-cro/

**Topics**: claude-code, skills, marketing, cro

**Trigger phrases**: "exit intent", "popup conversions", "modal optimization", "lead capture popup", "sticky bar"

**Source**: [Corey Haines](https://github.com/coreyhaines31/marketingskills/tree/main/skills/popup-cro)

**License**: MIT

---

## What it does

`popup-cro` is a Claude Code skill from Corey Haines's [marketing-skills repo](https://github.com/coreyhaines31/marketingskills). It turns Claude into a popup specialist whose discipline is matching the popup's job to its trigger — a lead-magnet exit popup needs different copy and timing than an announcement banner — and resisting the dark-pattern path. The skill activates when you mention "exit intent", "popup conversions", "modal optimization", or "sticky bar".

The output of a session is a popup spec: trigger (exit / scroll / time / page-target), placement (modal / slide-in / banner / sticky bar), audience filter (only first-time visitors, only logged-out, only specific UTM), copy with a clear ask, dismissal UX, and frequency capping.

## When to use it

Reach for it when:

- You're getting traffic that doesn't convert and want a low-engineering capture layer
- Your existing popup is annoying users — visible in support mentions or NPS
- You're running an announcement (waitlist, launch, deadline) and need a banner that doesn't tank pageviews

When *not* to reach for it:

- The page itself is the conversion problem; popup isn't the patch
- Your brand can't afford the perception hit of any interruption — some categories really can't

## Install

The skill is distributed via Corey Haines's [marketing-skills repo](https://github.com/coreyhaines31/marketingskills). Install via the repo's recommended path — copy the [`popup-cro` SKILL.md](https://github.com/coreyhaines31/marketingskills/tree/main/skills/popup-cro) into your project's `.claude/skills/popup-cro/` directory, or use the repo's plugin install if you've set it up.

Once installed, the skill activates on the trigger phrases above. The first time it runs, it will check for `.agents/product-marketing-context.md` (or `.claude/product-marketing-context.md`) — populating that file with your product context first dramatically improves output quality across all of Haines's marketing skills.

## What a session looks like

A typical session has three phases:

1. **Job + trigger fit.** What's the popup's job — capture an email, surface an offer, nudge to a feature? Each job has a default best trigger (exit for email capture, scroll for content offers, time-on-page for high-intent CTAs).
2. **Audience + frequency.** Who sees it (first-time visitors, segment-specific, logged-out only), and how often (once per session, once per 30 days). Frequency caps prevent the "saw it five times" hatred.
3. **Copy + dismissal.** Headline, body, CTA, the no-thanks copy. Dismissal UX is non-negotiable — a clearly visible close button keeps the popup off the dark-pattern list.

The discipline that makes it work: every popup has a tax on brand perception. If the conversion lift doesn't outweigh the tax, the popup loses, even when it converts.

## Receipts

Honest reporting on what `popup-cro` produces and where it has limits:

**Where it works well:**
- Trigger-job matching kills the "exit popup for everything" failure mode
- Frequency caps stop the worst user-experience pattern in one stroke
- Dismissal-UX standards keep the popup defensible at NPS-review time

**Where it backfires:**
- On mobile, popups have always-bad UX dynamics; the skill is honest about that
- Popups can lift email captures while suppressing the actual product trial — track downstream conversion, not just opt-ins

**Pattern that works:** ship one popup with strict frequency caps and measure downstream conversion (signup, trial, paid) — not just popup conversion. If downstream metrics flatten or drop, kill it.

## Source and attribution

Originally written by [Corey Haines](https://corey.co). The canonical SKILL.md and any supporting files live in the [`popup-cro` folder](https://github.com/coreyhaines31/marketingskills/tree/main/skills/popup-cro) of his [marketing-skills repository](https://github.com/coreyhaines31/marketingskills).

License: MIT. You can install, adapt, and redistribute the skill, with attribution preserved.

This page documents the skill from a practitioner's perspective. For the formal spec and any updates, defer to the source repo.