Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add finsilabs/awesome-ecommerce-skills --skill cart-abandonment-recoverygit clone --depth 1 https://github.com/finsilabs/awesome-ecommerce-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/finsilabs/awesome-ecommerce-skills/cart-abandonment-recovery)<a href="https://agentmods.dev/skills/finsilabs/awesome-ecommerce-skills/cart-abandonment-recovery"><img src="https://agentmods.dev/badge/skills/finsilabs/awesome-ecommerce-skills/cart-abandonment-recovery/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/finsilabs/awesome-ecommerce-skills/cart-abandonment-recovery"><img src="https://agentmods.dev/badge/skills/finsilabs/awesome-ecommerce-skills/cart-abandonment-recovery.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00034 | $0.03279 |
| Opus 5 | $0.00017 | $0.01639 |
| Sonnet 5 | $0.00007 | $0.00656 |
| Haiku 4.5 | $0.00003 | $0.00328 |
Grade B, and why
cart-abandonment-recovery scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
await fetch('https://a.]klaviyo.com/api/events/', { method: 'POST', How it starts
The opening of the file, as written. The whole thing — 316 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cart Abandonment Recovery
Overview
Cart abandonment averages 70% across e-commerce, making recovery flows one of the highest-ROI automations available. A good recovery sequence sends 2–4 messages across email, SMS, and push — starting with a simple reminder, then adding social proof or urgency, and only offering a discount as a last resort. The sequence cancels immediately when the customer completes checkout.
This skill guides you through setting up cart abandonment recovery on your specific platform, choosing the right tools, and configuring the sequence for maximum revenue recovery without training customers to abandon on purpose.
When to Use This Skill
- When more than 60% of initiated checkouts are not completed
- When launching a new store and prioritizing quick revenue recovery
- When adding SMS or push channels to an existing email-only abandonment flow
- When the current flat-discount abandonment email is training customers to abandon intentionally
- When needing to differentiate recovery strategy by cart value or customer segment
- When A/B testing incentive timing (immediate vs. 24h vs. 48h discount reveal)
Core Instructions
Step 1: Determine the merchant's platform and recommend the right tool
Ask which platform the store runs on. The setup is completely different depending on the platform:
| Platform | Recommended Tool | Why |
|---|---|---|
| Shopify | Klaviyo (free up to 250 contacts) or Shopify's built-in abandoned checkout emails | Klaviyo has deep Shopify integration, tracks cart events automatically, and supports email + SMS in one tool |
| WooCommerce | AutomateWoo ($99/yr) or CartFlows + FluentCRM | AutomateWoo hooks directly into WooCommerce cart events; CartFlows adds funnel recovery |
| BigCommerce | Klaviyo or Omnisend | Both integrate natively with BigCommerce cart events |
| Magento | Dotdigital (bundled with Adobe Commerce) or Klaviyo | Dotdigital is the default marketing automation for Magento; Klaviyo works for open-source Magento |
| Custom / Headless | Klaviyo (via API) or build a custom sequence with BullMQ + SendGrid | Use Klaviyo's Track API to send cart events, then build flows in their visual editor |
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- evals/multi-channel-sequence-with-incentive-es/criteria.json 2.7 KB
- evals/multi-channel-sequence-with-incentive-es/task.md 2.5 KB
- evals/recovery-link-endpoint-cart-snapshot-and/criteria.json 2.8 KB
- evals/recovery-link-endpoint-cart-snapshot-and/task.md 2.4 KB
- evals/server-side-abandonment-detection-and-jo/criteria.json 2.7 KB
- evals/server-side-abandonment-detection-and-jo/task.md 1.9 KB
- tile.json 253 B
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 316 lines · 34 tokens per session scan B 1a2eb50c33f6
cart-abandonment-recovery is a skill published in the GitHub repository finsilabs/awesome-ecommerce-skills (52 stars, last pushed 6mo ago), licensed MIT. It adds 34 tokens to every session and 3,279 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (sends data to an external url). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
novu-inbox-integration
Integrate Novu's in-app notification inbox into web applications. Supports React, Next.js, and vanilla JavaScript. Includes the Inbox component (bell icon + notification feed), composable components (Bell, Notifications, InboxContent, Preferences), headless hooks, branded theming, custom render props, multi-tenancy…
novu-design-workflow
Design notification workflows the Novu way — choose channels, set severity, decide when a workflow is critical, configure digests, and route based on subscriber state. Applies to BOTH dashboard-authored and code-first (@novu/framework) workflows. Use when planning a new workflow, deciding which channels to include…
human-cli
Reach the actual human you're working for via the human CLI (ask/approve/choose/tell) when you need a decision, approval, or notification and no one is watching this terminal right now. Use for background/autonomous/scheduled runs, risky or irreversible actions, and genuine multi-way ambiguity — not for routine…
novu-dashboard-workflows
Author step content for Novu workflows defined in the Dashboard or generated/edited via the Novu MCP. Use when filling in step controls (subject, body, editorType, headers, body, conditions) for email, in-app, sms, push, chat, delay, digest, throttle, or HTTP Request steps.
novu-manage-preferences
Configure notification preferences in Novu at the workflow and subscriber level. Set default channel preferences (email, SMS, push, chat, in-app), mark preferences as read-only or subscriber-editable, and manage subscriber-specific overrides. Use when setting up notification opt-in/opt-out, configuring per-channel…
novu-manage-subscribers
Create, update, search, and delete subscribers in Novu. Manage topics for group-based notification targeting. Set subscriber credentials for push and chat channels. Use when managing notification recipients, creating subscriber records, organizing subscribers into topics, or configuring channel-specific credentials.