# Exit Tracking Popup

> Dismisses exit-intent popups ("Wait! Before you go!", "Don't leave without your discount", abandonment recovery overlays) that fire on mouse-leave or scroll-up patterns.

- **Type:** Skill
- **Install:** `agentstack add skill-bettyguo-browser-skills-exit-tracking-popup`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [bettyguo](https://agentstack.voostack.com/s/bettyguo)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [bettyguo](https://github.com/bettyguo)
- **Source:** https://github.com/bettyguo/browser-skills/tree/main/skills/exit-tracking-popup

## Install

```sh
agentstack add skill-bettyguo-browser-skills-exit-tracking-popup
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Exit Tracking Popup

## When to invoke

After the agent has been on the page for a few seconds and is about
to navigate away (or after a scroll-pattern that triggers
exit-intent JS), a "Wait!" overlay appears trying to keep them. The
dismiss controls are typically a small "x", a "no thanks" link, or
Escape.

The matcher fires this skill when exit-intent markers are present
*and* the page is not in initial-load.

## Recipe

1. wait extra=200ms
2. try_each selectors=[
     "[class*='exit-intent' i] button[aria-label*='close' i]",
     "[data-exit-intent] button[aria-label*='close' i]",
     "[class*='abandonment' i] button[aria-label*='close' i]",
     "[class*='discount-popup' i] button[aria-label*='close' i]",
     "[class*='exit-intent' i] button:has-text('No thanks')",
     "[class*='exit-intent' i] button:has-text('I'm not interested')",
     "[class*='abandonment' i] button.btn-close",
     "[data-exit-intent] button.dismiss",
   ] action=click on_success=stop timeout=1000ms
3. press_key key=Escape

## Success criteria

- assert no_visible_element selector="[class*='exit-intent' i]" OR no_change_was_needed

## When NOT to use

- The user is *interested* in the offer. Don't auto-dismiss.

## Known failures

- **Exit-intent popups that block scroll until clicked:** dismissal
  must be clicking the visible close, not Escape.
- **Exit-intent popups that DOM-remove themselves on second hover:**
  the recipe runs while it's still attached; later state is fine.
- **Exit-intent popups stacked behind other popups:** dismiss
  newsletter/modal first, then exit-intent.

## Related skills

- `dismiss-newsletter-popup` — sibling skill; matcher orders by signal
  strength
- `handle-modal-dialog` — generic dialog parent

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [bettyguo](https://github.com/bettyguo)
- **Source:** [bettyguo/browser-skills](https://github.com/bettyguo/browser-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-bettyguo-browser-skills-exit-tracking-popup
- Seller: https://agentstack.voostack.com/s/bettyguo
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
