Checkout audit
Open registry of community-contributed AI coding skills (SKILL.md files) — daily-synced to skills-hub.ai. Install across Claude Code, Cursor, Codex CLI, Windsurf, Copilot, and any MCP-compatible tool with one command.
npx -y skills add tinh2/skills-hub-registry --skill checkout-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Audit an ecommerce checkout flow against the 2026 conversion playbook. Average cart abandonment is 70.22% (Baymard 2026 meta-analysis); the top causes are unexpected shipping costs (48%), forced account creation (24%), complicated forms (18%), and security concerns (17%). The audit measures: step count + page count, express-checkout availability + above-fold positioning (Apple Pay +22.3% conversion, Shop Pay +50% returning, Google Pay), guest checkout, address autofill (Google Places, Stripe Address Element), payment-method coverage (cards, ACH, BNPL, digital wallets, regional methods), form-field count (every field reduces conversion ~7%), shipping-cost transparency, account-creation timing (offer AFTER purchase, not as gate), error UX, mobile-vs-desktop drop-off symmetry, accessibility, PCI scope, and HOLD payment friction (Apple Pay, Google Pay, Shop Pay = 4 clicks vs 120 clicks traditional). Outputs prioritized P0-P3 fixes with expected lift per Baymard 2026 + Stripe data. TRIGGER on "checkout audit", "checkout optimization", "Shopify checkout", "Stripe checkout", "Apple Pay", "Shop Pay", "guest checkout", "abandoned checkout", "checkout drop-off", "express checkout", "Baymard".
SKILL.md
12.5 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it
Checkout Conversion Audit
You audit a checkout funnel against the 2026 conversion playbook. The math: Baymard's 2026 meta-analysis of 50+ studies puts the average cart abandonment at 70.22%. Best-in-class checkouts achieve 30-40%. The gap is mostly fixable.
Baseline opportunity sizes:
- One-page checkout: -20% abandonment vs multi-step
- Express checkout above fold: 2× conversion vs at-end (Stripe)
- Apple Pay enabled: +22.3% conversion, +22.5% revenue
- Shop Pay returning customer: +50%
- Apple/Google Pay clicks: 4 vs 120 traditional
============================================================ === PRE-FLIGHT ===
- Site URL + ability to walk through checkout (test card, sandbox mode).
- Platform: Shopify (with or without Hydrogen / headless), WooCommerce, BigCommerce, Stripe Checkout, custom React, Magento, Salesforce Commerce.
- Region: US-only, multi-region, EU (Strong Customer Authentication required), APAC.
- Mobile share: typically 60-75%. Drives priority on mobile-specific findings.
- Avg order value (AOV): drives BNPL relevance (Klarna/Afterpay/Affirm shine > $100).
Recovery:
- Can't walk checkout (auth-walled cart, requires real product): generate test product and full E2E flow.
- Custom CSR checkout that's hard to instrument: layer in PostHog session replay or LogRocket for drop-off attribution.
============================================================ === PHASE 1: FUNNEL STEP MAP ===
Walk the checkout, recording every step + every required field + every click:
funnel:
- step: cart
fields_required: []
clicks_to_advance: 1
drop_off_observed: 10-15% # baseline
- step: contact
fields_required: [email]
clicks_to_advance: 1
drop_off_observed: 8-12%
- step: shipping_address
fields_required:
[first_name, last_name, address1, city, state, zip, country, phone]
clicks_to_advance: 1
drop_off_observed: 15-25% # biggest leakage in poor flows
- step: shipping_method
fields_required: []
clicks_to_advance: 1
drop_off_observed: 5-10%
- step: payment
fields_required: [card_number, exp, cvc, billing_address]
clicks_to_advance: 1
drop_off_observed: 10-15%
- step: review_and_pay
fields_required: []
clicks_to_advance: 1
Each step = a drop-off opportunity. Goal: ≤ 3 steps mobile, ≤ 4 steps desktop.
VALIDATION: Step map captures real flow, not assumed. Field count per step is exact.
============================================================ === PHASE 2: EXPRESS CHECKOUT AUDIT ===
| Express Method | Required for | Position |
|---|---|---|
| Apple Pay | All Safari/iOS users (60%+ of US mobile) | ABOVE shipping form, not "or pay another way" |
| Google Pay | All Android Chrome users | Adjacent to Apple Pay |
| Shop Pay | Shopify stores (massive returning-customer lift) | Top of checkout |
| PayPal | Cross-platform; older demo + cross-border | Express button OR payment-method |
| Amazon Pay | Amazon-loyal demo (saves 2-step) | Optional, evaluate per AOV |
| Klarna / Afterpay / Affirm | AOV > $50 | Both cart AND payment step (cart messaging boosts add-to-cart) |
Audit checks:
- Express buttons render BEFORE shipping form (above the fold)
- Apple Pay button correctly displays on Safari + iOS (test in actual Safari, not Chrome dev tools — Apple Pay uses Webkit API)
- No "and / or" framing that buries express options
- Express buttons have correct styling (Apple's brand guidelines specific)
VALIDATION: Express checkout available at the FIRST point of checkout, not buried at the bottom.
============================================================ === PHASE 3: GUEST CHECKOUT + ACCOUNT TIMING ===
Forced account creation is the #2 abandonment cause (24% per Baymard).
Required:
- Guest checkout offered prominently, NOT as a small link.
- Account creation offered AFTER purchase ("Create account in one click — your details are saved").
- Returning user lookup by email/phone (offer to sign in, but allow guest).
- Single email field, not "email" + "confirm email" (12% drop when duplicated).
VALIDATION: Guest checkout is at least as prominent as account checkout in the UI.
============================================================ === PHASE 4: FORM FIELD MINIMIZATION ===
Every additional field drops conversion ~7% (Baymard). Audit each field:
Eliminate:
- Phone number unless required for shipping (carrier delivery notifications use email)
- Company name unless B2B
- Address line 2 default-hidden (show on click)
- Birthdate unless age-restricted product
Auto-fill / inference:
- City + state from ZIP (US: zipcode-to-city API)
- Country from IP geolocation (let user change)
- Billing same-as-shipping (default checked)
Smart validation:
- Inline error messages, not page reload
- Email format check on blur
- Credit card type auto-detect (no manual selector)
- Address validation via Google Places / Stripe Address Element (typeahead reduces error rate 50%)
VALIDATION: Total checkout field count ≤ 8 for a US guest flow.
============================================================ === PHASE 5: PAYMENT METHOD COVERAGE ===
Region-aware payment menu:
| Region | Must-have methods |
|---|---|
| US | Card (Visa/MC/Amex/Discover), Apple Pay, Google Pay, Shop Pay (if Shopify), PayPal, ACH for high-AOV |
| EU | Card, Apple/Google Pay, iDEAL (NL), Bancontact (BE), SOFORT (DE/AT), Giropay (DE), Klarna, SEPA Direct Debit |
| LatAm | Card, OXXO (MX), Boleto (BR), Pix (BR), MercadoPago |
| APAC | Card, Apple/Google Pay, Alipay (CN), WeChat Pay (CN), GrabPay (SEA), PayNow (SG), UPI (IN) |
| MENA | Card, Apple Pay, COD prominent (for trust) |
VALIDATION: Region detection (IP / billing country) drives payment menu. Don't show iDEAL to US buyers; don't show Pix to EU.
============================================================ === PHASE 6: COST TRANSPARENCY ===
Unexpected shipping costs = #1 abandonment cause (48% per Baymard). Audit:
- Shipping estimate shown ON cart page (not first-revealed at checkout)
- Free shipping threshold messaging ("Spend $15 more for free shipping")
- Tax included or labeled clearly (some regions show tax-inclusive prices)
- Customs / import fees disclosed for international (DDP vs DDU)
- No "service fees" or "convenience fees" introduced at the last step
VALIDATION: Order total shown at checkout matches order total shown on cart. No surprise additions > 5%.
============================================================ === PHASE 7: MOBILE-SPECIFIC AUDIT ===
Mobile checkout has different failure modes:
- Tap targets ≥ 44×44 px
- Inputs have correct
inputmode(numeric for card, email for email, tel for phone) - No zoom-on-focus on inputs (set
font-size: 16pxminimum) - Native autofill compatible (
autocompleteattributes correct per WHATWG) - Sticky CTA bar at bottom (always-visible "Complete order")
- No mid-checkout app-install prompts
- CardScan via device camera (iOS / Android Pay Request API)
VALIDATION: Test on actual iOS Safari + Android Chrome, not desktop dev tools.
============================================================ === PHASE 8: PRIORITIZED PUNCH LIST ===
Generate checkout_audit_{date}.md:
# Checkout Audit — {site} — {date}
## Current state
- Steps: N
- Express checkout: Apple Pay {present/missing}, Google Pay {present/missing}, Shop Pay {present/missing}
- Guest checkout: {prominent/buried/missing}
- Field count: N
- Mobile checkout: {smooth/issues}
- Estimated current abandonment: {x}%
## P0 — Highest impact
- [ ] Add Apple Pay above fold. Expected lift: +22% conversion. Effort: 2 hours via Stripe Payment Element.
- [ ] Enable guest checkout. Expected lift: +25% from forced-account abandonment population. Effort: 4 hours.
## P1 — High impact
- [ ] Reduce form fields from 14 to 8. Expected lift: +35%. Effort: 8 hours UX + backend.
- [ ] Show shipping estimate on cart page. Expected lift: +20% (eliminates #1 abandonment cause). Effort: 6 hours.
## P2 — Medium
- [ ] Move from 4-step to 1-page checkout. Expected lift: +20%. Effort: 2-4 days.
- [ ] Add Klarna/Afterpay/Affirm for AOV > $50. Expected AOV lift: +15%. Effort: 1 week.
## P3 — Polish
- [ ] Sticky bottom CTA on mobile. Effort: 2 hours.
## Re-audit after fixes
Re-run `/checkout-audit` after each P0/P1 ships.
VALIDATION: Each item has expected lift (numeric) + effort + concrete fix.
============================================================ === SELF-REVIEW ===
- Complete: All 8 phases run? Step map + express + guest + fields + payment + cost + mobile + punch list?
- Robust: Tested in actual Safari/iOS + Android Chrome, not just desktop dev tools?
- Clean: Punch list prioritized by impact × effort, not by alphabet?
- CRO-credible: Would a Baymard-trained CRO consultant accept this audit as production-ready?
Common gap: missing actual mobile test → desktop dev-tools "looks fine" while real Safari has zoom-on-focus killing 30% of mobile.
============================================================ === LEARNINGS CAPTURE ===
~/.claude/skills/checkout-audit/LEARNINGS.md.
============================================================ === STRICT RULES ===
- Never audit without walking the actual flow. Code review alone misses runtime issues.
- Never report "fix XYZ" without measuring impact. Every recommendation needs an expected lift.
- Never recommend disabling guest checkout to "capture more leads." Capture lift is < lift from removing the gate.
- Never display payment methods irrelevant to the user's region.
- Always test on real mobile devices, not browser device emulation.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.