PluginBench
Skill
Review
Audit score 70

customer-billing-ops

affaan-m/ecc

Manage customer subscriptions, refunds, and billing issues using Stripe and connected billing tools.

What is customer-billing-ops?

Operate real customer billing workflows including subscriptions, refunds, churn triage, and plan analysis. Use this skill when investigating billing problems, processing refunds, managing subscription state, or helping customers recover access to billing portals.

  • Identify customers and retrieve their billing state (subscriptions, invoices, payment methods)
  • Classify billing issues (duplicates, failed payments, missing self-serve controls, product failures)
  • Execute safe, reversible actions: restore self-serve access, fix duplicate subscriptions, process targeted refunds
  • Detect operator-side product gaps (missing billing portal, no usage visibility, no cancellation flow)
  • Generate customer follow-up messages and document revenue impact

How to install customer-billing-ops

npx skills add null --skill customer-billing-ops
Prerequisites
  • Connected Stripe account or equivalent billing platform
  • Customer identifier (email, Stripe customer ID, subscription ID, or invoice ID)
Claude Code
Cursor
Windsurf
Cline

How to use customer-billing-ops

  1. 1.Identify the customer using their email, Stripe ID, subscription ID, or invoice ID
  2. 2.Retrieve their billing state: active subscriptions, canceled subscriptions, invoices, and payment methods
  3. 3.Classify the issue into one category: duplicate purchase, multi-seat intent, failed payment, missing self-serve controls, or product failure
  4. 4.Take the safest reversible action first: restore portal access, fix duplicate state, or process a targeted refund
  5. 5.Document the decision, revenue impact, and any product gaps discovered
  6. 6.Compose and send a short follow-up message to the customer

Use cases

Good for
  • Customer reports they cannot cancel or access their billing portal—restore self-serve controls
  • Investigate duplicate active subscriptions and determine if accidental or intentional multi-seat purchase
  • Process refund for failed payment or incomplete checkout after verifying the charge
  • Audit churn risk by reviewing subscription state, plan mix, and renewal history
  • Triage support complaint involving invoices, payment methods, or team-seat confusion
Who it's for
  • Customer support and success teams
  • Billing operations and revenue teams
  • Founders or operators handling customer escalations
  • Anyone investigating subscription or payment issues

customer-billing-ops FAQ

When should I refund vs. restore self-serve access?

Always restore self-serve access first. Refund only the affected charge or duplicate after classifying the issue. Never refund blindly without understanding whether the purchase was accidental, intentional multi-seat, or a product failure.

How do I distinguish a duplicate personal subscription from a real team purchase?

Check the subscription metadata, seat count, and billing model. Real team purchases typically have explicit seat or user counts and a team-oriented plan name. Duplicates are usually identical plans on the same customer within a short time window.

What if the customer needs a refund but the issue is a product failure?

Separate customer remediation (refund now) from product fixes (backlog item). Refund the affected charge immediately, apologize, and log the product issue for the team to investigate and prevent future occurrences.

Should I use custom account-management code or the billing portal?

Prefer the hosted billing portal provided by your platform (e.g., Stripe Customer Portal). Use custom code only if the portal lacks required controls; document that gap as a product issue.

What PII or secrets should I avoid exposing?

Never include secret API keys, full card details, or unnecessary customer PII in your response. Share only the minimum identifiers and state needed to explain the decision and follow-up.

Full instructions (SKILL.md)

Source of truth, from affaan-m/ecc.


name: customer-billing-ops description: Operate customer billing workflows such as subscriptions, refunds, churn triage, billing-portal recovery, and plan analysis using connected billing tools like Stripe. Use when the user needs to help a customer, inspect subscription state, or manage revenue-impacting billing operations. metadata: origin: ECC

Customer Billing Ops

Use this skill for real customer operations, not generic payment API design.

The goal is to help the operator answer: who is this customer, what happened, what is the safest fix, and what follow-up should we send?

When to Use

  • Customer says billing is broken, they want a refund, or they cannot cancel
  • Investigating duplicate subscriptions, accidental charges, failed renewals, or churn risk
  • Reviewing plan mix, active subscriptions, yearly vs monthly conversion, or team-seat confusion
  • Creating or validating a billing portal flow
  • Auditing support complaints that touch subscriptions, invoices, refunds, or payment methods

Preferred Tool Surface

  • Use connected billing tools such as Stripe first
  • Use email, GitHub, or issue trackers only as supporting evidence
  • Prefer hosted billing/customer portals over custom account-management code when the platform already provides the needed controls

Guardrails

  • Never expose secret keys, full card details, or unnecessary customer PII in the response
  • Do not refund blindly; first classify the issue
  • Distinguish among:
    • accidental duplicate purchase
    • deliberate multi-seat or team purchase
    • broken product / unmet value
    • failed or incomplete checkout
    • cancellation due to missing self-serve controls
  • For annual plans, team plans, and prorated states, verify the contract shape before taking action

Workflow

1. Identify the customer cleanly

Start from the strongest identifier available:

  • customer email
  • Stripe customer ID
  • subscription ID
  • invoice ID
  • GitHub username or support email if it is known to map back to billing

Return a concise identity summary:

  • customer
  • active subscriptions
  • canceled subscriptions
  • invoices
  • obvious anomalies such as duplicate active subscriptions

2. Classify the issue

Put the case into one bucket before acting:

CaseTypical action
Duplicate personal subscriptioncancel extras, consider refund
Real multi-seat/team intentpreserve seats, clarify billing model
Failed payment / incomplete checkoutrecover via portal or update payment method
Missing self-serve controlsprovide portal, cancellation path, or invoice access
Product failure or trust breakrefund, apologize, log product issue

3. Take the safest reversible action first

Preferred order:

  1. restore self-serve management
  2. fix duplicate or broken billing state
  3. refund only the affected charge or duplicate
  4. document the reason
  5. send a short customer follow-up

If the fix requires product work, separate:

  • customer remediation now
  • product bug / workflow gap for backlog

4. Check operator-side product gaps

If the customer pain comes from a missing operator surface, call it out explicitly. Common examples:

  • no billing portal
  • no usage/rate-limit visibility
  • no plan/seat explanation
  • no cancellation flow
  • no duplicate-subscription guard

Treat those as ECC or website follow-up items, not just support incidents.

5. Produce the operator handoff

End with:

  • customer state summary
  • action taken
  • revenue impact
  • follow-up text to send
  • product or backlog issue to create

Output Format

Use this structure:

CUSTOMER
- name / email
- relevant account identifiers

BILLING STATE
- active subscriptions
- invoice or renewal state
- anomalies

DECISION
- issue classification
- why this action is correct

ACTION TAKEN
- refund / cancel / portal / no-op

FOLLOW-UP
- short customer message

PRODUCT GAP
- what should be fixed in the product or website

Examples of Good Recommendations

  • "The right fix is a billing portal, not a custom dashboard yet"
  • "This looks like duplicate personal checkout, not a real team-seat purchase"
  • "Refund one duplicate charge, keep the remaining active subscription, then convert the customer to org billing later if needed"