BB cart-recovery
Decompose three-step checkout abandonment (e.g. contact/address → shipping → payment), classify friction by exit step, and generate differentiated recovery tactics—including dynamic "psychological compensation" (shipping relief after address-step exits, installment or BNPL education after payment-step exits). Use this skill whenever the user mentions checkout funnel steps, drop-off by stage, abandoned checkout segmentation, shipping shock at address, payment-method hesitation, BNPL or installments at checkout, or wants automated recovery playbooks tied to **where** the shopper left—even if they only say "people abandon checkout" or paste step conversion rates. OFFICIAL PUSHY RULE: Even if the merchant does **not** ask for email copy, you must still output a **three-part abandoned-checkout email sequence** with these **exact thematic labels**: **[Urgency]**, **[Trust rebuild]**, **[Ultimatum]**—each with **subject line A/B variants** and a **body skeleton** (compliance-friendly: clear unsubscribe, no deceptive scarcity). Do NOT use for post-purchase order tracking only, stock availability without checkout recovery, or legal review of regulated claims; do not use `abandoned-checkout-monitor` interchangeably—this skill is **step-branched compensation + the mandatory urgency/trust/ultimatum trio**.
As a process B 66/100 · Nearly there — weak spots: result and completion, inputs and preconditions, running it twice
How to improve
- Shorten the description to 1024 characters.
- A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.
Guard findings · 0
✓ No critical or high findings
Files scanned: 6. Evidence is masked. Grey chips explain why severity was lowered.
Against the Agent Skills spec
- error
description-longdescription is 1315 chars, limit 1024 - warning
frontmatter-yamlSKILL.md: the frontmatter is not valid YAML (YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14: description: Decompose three-step checkout abandonment (e.g. contact/address → … ^ ); fields were read line by line. The usual cause is a colon inside an unquoted value
Process rating: all ten parameters 66/100
- 0Result and completion. Does not say what the result is
- 0Inputs and preconditions. Does not say what the process needs to start
- 0Progress reporting. Says nothing while it works
- 30Running it twice. 3 mutating operations with no state check
- 60Failures and branches. 2 branches
- 100Tools and files. No external tools needed
- 100Steps. 18 steps
- 100When it triggers. States when to use and when not to
- 100Consistency. Name and required fields are in place
- 100Execution cost. Instruction body is 1003 tokens
Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.
Quality signals
- +3Description length 1315: 120–800 characters recommended
- +3Output format is not stated: the model decides each time
- +4No input/output examples
- +1No license
- +2Single-language instructions
- +5Description quotes 2 example trigger phrases
- +4Description says when NOT to use the skill
- +4Structure: 10 headings
- +3Step-by-step instructions: 18 items
- +4Reference files are cited in the instructions (1 of 2)
Quality base 70; lint remarks subtract, signals add up to 100. Result: 55.