agentsclimarketplace

Revenue leak auditor

Skill IgorGanapolsky/revenue-leak-auditor-skill/revenue-leak-auditor

Audit Stripe Checkout, payment links, attribution, abandoned-checkout recovery, and analytics instrumentation in agent-built funnels. Use when asked to find why visitors are not paying, whether checkout links are confusing, whether observability is exact enough, or whether a funnel is ready for paid traffic.From its SKILL.md

Install
npx -y skills add IgorGanapolsky/revenue-leak-auditor-skill --skill revenue-leak-auditor

Assembled 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.
  • 0 stars0 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.

SKILL.md

5.1 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

Revenue Leak Auditor

Use this skill when the user needs a strict, evidence-backed review of a monetized funnel, especially one using Stripe Checkout, Stripe Payment Links, static landing pages, AI-generated sites, agent workflows, or community traffic.

Operating Rules

  • Treat payment truth, checkout recovery, analytics, and attribution as separate evidence streams.
  • Do not claim revenue, conversion rate, visitor intent, or drop-off cause unless the data proves it.
  • Never expose secrets, API keys, cookies, customer PII, or private community content in reports.
  • Prefer source-code evidence over guesses. Use file paths, route names, and short snippets.
  • If live Stripe/API credentials are unavailable, label payment verification as unverified, not zero.
  • If browser or production analytics are unavailable, label visitor behavior as unobserved, not none.

Fast Path

  1. Identify the funnel:

    • landing pages
    • intake forms
    • checkout buttons
    • backend checkout/session handlers
    • webhook handlers
    • thank-you pages
    • analytics snippets
  2. Run the bundled scanner when filesystem access is available:

python3 revenue-leak-auditor/scripts/audit_revenue_leaks.py . --out revenue-leak-report.md
  1. Inspect scanner output and manually verify the highest-severity findings.

  2. Produce a report with:

    • verdict
    • severe leaks
    • missing observability
    • checkout confusion risks
    • recovery plan
    • implementation checklist

Audit Checklist

Checkout Capture

Flag as high severity when:

  • page links directly to buy.stripe.com without a preceding buyer-capture form
  • checkout URL lacks client_reference_id
  • checkout URL lacks a source/UTM parameter
  • form submission does not store or notify buyer contact details before redirect
  • abandoned checkout cannot be matched to a person, business, source, or campaign

Analytics

Look for explicit events around:

  • page view
  • CTA click
  • intake form view
  • intake form submit
  • checkout start
  • payment success
  • thank-you page view
  • failed or abandoned checkout recovery

If the site only has a generic analytics snippet but no funnel events, report observability as partial.

Stripe Webhooks

Check whether webhook handlers distinguish:

  • checkout.session.completed
  • checkout.session.expired
  • payment_intent.succeeded
  • refunds or chargebacks when relevant

Check whether webhook events join back to:

  • client_reference_id
  • email/customer id
  • source/campaign
  • offer/product

CTA Clarity

Flag confusing buyer paths when:

  • one page presents multiple prices without a clear offer distinction
  • copy says consultation/diagnostic but button says checkout or buy now
  • checkout starts before the buyer knows what happens after payment
  • links send buyers to a generic payment page without context
  • the offer page promises instant delivery but no delivery mechanism is visible

Recovery

A recoverable checkout path should have:

  • buyer name or business
  • email
  • offer
  • source/campaign
  • timestamp
  • checkout/session id or deterministic reference id
  • a clear follow-up message template

Report Template

Use this structure:

# Revenue Leak Audit

## Verdict

One paragraph. State whether the funnel is ready for traffic, partially ready, or leaking.

## Severe Findings

| Severity | Finding | Evidence | Fix |
| --- | --- | --- | --- |

## Observability

- Visitor identity:
- CTA clicks:
- Checkout starts:
- Payments:
- Abandonment recovery:

## Checkout Path

Describe the exact buyer path from first page to payment and where attribution or buyer context is lost.

## Fix Plan

1. Highest-impact fix.
2. Second fix.
3. Third fix.

## Data Still Needed

List missing analytics, Stripe, CRM, or webhook evidence.

Implementation Guidance

Prefer a two-step paid path:

  1. Buyer-capture/intake endpoint saves or emails name, business, email, offer, source, and deterministic reference id.
  2. Redirect to Stripe with client_reference_id, prefilled_email or equivalent, and UTM/source parameters.

For static sites, a minimal implementation can be:

  • HTML intake page
  • serverless /api/checkout-intent handler
  • notification email or CRM insert
  • Stripe Payment Link redirect with query parameters
  • thank-you page event
  • webhook event join by reference id

Done Criteria

The funnel is not considered fixed until:

  • no critical direct Stripe links bypass buyer capture
  • every payment CTA preserves source attribution
  • checkout starts and payments can be counted separately
  • abandoned checkout intent is recoverable
  • the operator can answer: who visited, what CTA they clicked, what they submitted, whether they reached Stripe, whether they paid, and what follow-up is needed

What ships with it: 4 files

13.4 KB alongside SKILL.md, 2 of them executable

examples/

scripts/

templates/

Keep looking

Skills are one crate of 326,149. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.