Agent skill

Stripe Dispute

by OpenClaudia in OpenClaudia/openclaudia-skills

Evaluate whether a Stripe dispute is economical to contest, then gather evidence and submit only when approved.

MITAuto-check passedLegal & Compliance

Install Stripe Dispute

skills CLI
$ npx skills add OpenClaudia/openclaudia-skills --skill stripe-dispute -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OpenClaudia/openclaudia-skills stripe-dispute --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OpenClaudia/openclaudia-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/stripe-dispute .claude/skills/stripe-dispute && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
stripe-dispute
GitHub stars
713
Token cost
~3.3k tokens
SKILL.md length
1,238 words
Files
1
Skills in repo
74
Repo updated
First seen
Licence
MIT

At a glance

Evaluate whether a Stripe dispute is economical to contest, then gather evidence and submit only when approved.

  • Works in 9 steps: Pull the dispute from Stripe → Pull the surrounding context → Look up the customer in your app database → …
  • Stripe disputes
  • SKILL.md covers When to Use This Skill, Required Environment Variables, Inputs and Decide whether to contest first, plus 5 more sections
  • Calls curl, python3 and node; reaches api.stripe.com and files.stripe.com; needs STRIPE_SECRET_KEY

What it does

Stripe Dispute is an agent skill from OpenClaudia/openclaudia-skills. Evaluate whether a Stripe dispute is economical to contest, then gather evidence and submit only when approved. Use for Stripe disputes, chargebacks, counter-disputes, evidence packages, or Stripe dispute IDs.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Legal & Compliance. It works with Stripe. The repository describes itself as: 77 open-source marketing skills for Claude Code, Codex, and other AI coding agents. SEO, content, email, ads, analytics, and growth. The licence is MIT.

When your agent uses it

  • Stripe disputes
  • Counter-disputes
  • Evidence packages
  • Stripe dispute IDs

Example prompts

  • “/stripe-dispute”

Requirements

  • Python 3
  • A credential in STRIPE_SECRET_KEY

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Pull the dispute from Stripe
  2. Pull the surrounding context
  3. Look up the customer in your app database
  4. Download supporting documents
  5. Capture your terms / cancellation policy as a PDF
  6. Generate the activity-log PDF
  7. Show everything to the user before submitting
  8. Upload evidence files to Stripe
  9. Submit evidence (one shot — submit=true is final)

What it can do on your machine

Read from SKILL.md and the folder at commit 28bf209. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • python3
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.stripe.com
    • files.stripe.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • STRIPE_SECRET_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Stripe Dispute loads about 3.3k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 1,238 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from OpenClaudia/openclaudia-skills at commit 28bf209, republished under its MIT licence (© OpenClaudia). 1,238 words, ~3,328 tokens.

Download SKILL.mdSave it as .claude/skills/stripe-dispute/SKILL.md (or your agent's skills folder).
name
stripe-dispute
description
Evaluate whether a Stripe dispute is economical to contest, then gather evidence and submit only when approved. Use for Stripe disputes, chargebacks, counter-disputes, evidence packages, or Stripe dispute IDs.

Stripe Dispute Evaluation and Evidence

Evaluate the economics first. When contesting is justified and approved, build an evidence package and submit it to Stripe. Works for any SaaS using Stripe and a user database with login or usage logs.

When to Use This Skill

Use this skill when the user:

  • Receives a Stripe chargeback notification and wants to fight it
  • Provides a dispute ID (du_*) and asks to "counter" / "rebut" / "fight" it
  • Asks how to gather evidence for a dispute marked fraudulent, product_not_received, product_unacceptable, or subscription_canceled
  • Wants an activity-log PDF showing a customer used their product

Required Environment Variables

bash
STRIPE_SECRET_KEY=sk_live_...      # Stripe restricted/secret key with disputes:write scope
DATABASE_URL=postgres://...        # READ-ONLY connection to your app's user database (optional but recommended)
TERMS_URL=https://yoursite.com/terms   # URL to your published cancellation/refund policy
EVIDENCE_DIR=~/disputes            # Where to save the per-customer evidence folders

Database safety: all queries are SELECT-only. Never let this skill issue UPDATE/DELETE/INSERT.

Inputs

The user provides any of:

  • Stripe dispute ID (du_xxxxx) — preferred
  • Customer email — skill will look up the dispute
  • Charge ID (ch_xxxxx or py_xxxxx)

Decide whether to contest first

Accepting a dispute can be the correct outcome. Never submit evidence merely because a case exists.

  1. Verify live Stripe pricing. Under current US standard pricing, Stripe charges a $15 dispute-received fee automatically and another $15 dispute-countered fee when evidence is submitted. The received fee is sunk. The countered fee is returned only on a win. Use current live pricing if these amounts change.
  2. Query the merchant's live Stripe dispute history. For defended win rate, count only closed disputes with evidence_details.submission_count > 0. Separate initial purchases from renewals and narrow to the same reason when the sample permits. Report wins, losses, open cases, and sample size. State when no exact-match precedent exists.
  3. Calculate break-even probability and expected value after the countered fee and evidence-building labor. Do not invent a probability from case strength alone.
  4. Use a conservative 30% minimum win-probability threshold unless the user provides a different threshold. If comparable data cannot support that threshold, recommend leaving the dispute unanswered. This avoids the countered fee, although the disputed amount and received fee remain lost.
  5. Obtain explicit user approval before building files, uploading evidence, or submitting. Submission is final and fee-bearing.

Steps

1. Pull the dispute from Stripe
bash
curl -s -u "$STRIPE_SECRET_KEY:" \
  "https://api.stripe.com/v1/disputes/$DISPUTE_ID" | python3 -m json.tool

Extract: amount, reason, charge, evidence_details.due_by, evidence_details.submission_count, status.

If submission_count > 0 the dispute has already been countered — STOP and warn the user.

2. Pull the surrounding context
bash
# Charge → tells you the payment method, risk score, billing details, customer ID
curl -s -u "$STRIPE_SECRET_KEY:" "https://api.stripe.com/v1/charges/$CHARGE_ID"

# Customer → name, email, default payment source
curl -s -u "$STRIPE_SECRET_KEY:" "https://api.stripe.com/v1/customers/$CUSTOMER_ID"

# All invoices for the customer → look for previously-undisputed payments
curl -s -u "$STRIPE_SECRET_KEY:" \
  "https://api.stripe.com/v1/invoices?customer=$CUSTOMER_ID&limit=100"

# Subscription (if recurring)
curl -s -u "$STRIPE_SECRET_KEY:" "https://api.stripe.com/v1/subscriptions/$SUB_ID"

Prior undisputed payments on the same card are useful corroboration for fraudulent claims. Always count them, but do not treat them as proof by themselves.

3. Look up the customer in your app database

Adapt these queries to your schema. A useful evidence shape:

sql
-- User profile and self-reported cancel reason
SELECT id, email, created_at, plan_tier, stripe_customer_id,
       cancel_reason, cancelled_at, delete_reason
FROM users WHERE email ILIKE :email;

-- Login activity (timestamps + country + device)
SELECT created_at, country_code, device
FROM user_activity WHERE user_id = :uid ORDER BY created_at;

-- Things the customer created/used in your product
SELECT name, type, created_at, updated_at
FROM projects WHERE user_id = :uid AND deleted = false ORDER BY created_at;

-- Checkout / payment-related actions (proves intent)
SELECT timestamp, endpoint, payload FROM action_logs
WHERE user_id = :uid
  AND endpoint ~* '(subscribe|checkout|stripe|upgrade|pay)'
ORDER BY timestamp DESC;

For product_not_received claims, check the user's self-reported cancel_reason. If they cancelled citing "Poor user experience" or anything admitting use, that field directly contradicts the claim. Quote it verbatim, but do not infer a win rate from one fact.

4. Download supporting documents
bash
FOLDER="$EVIDENCE_DIR/$(echo $CUSTOMER_NAME | tr '[:upper:] ' '[:lower:]-')-$(date +%Y-%m)"
mkdir -p "$FOLDER"

# Invoice PDFs (URLs come from the Stripe invoice objects)
curl -sL "$INVOICE_PDF_URL" -o "$FOLDER/invoice.pdf"
5. Capture your terms / cancellation policy as a PDF

Using Playwright (Node):

bash
node -e "
const { chromium } = require('playwright');
(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage({ viewport: { width: 1280, height: 900 } });
  await page.goto(process.env.TERMS_URL, { waitUntil: 'networkidle' });
  await page.pdf({ path: process.argv[1], format: 'A4', printBackground: true });
  await browser.close();
})();
" "$FOLDER/cancellation_policy.pdf"
6. Generate the activity-log PDF

Build a concise, reviewable HTML activity log, then convert it to PDF with WeasyPrint:

python
from weasyprint import HTML
HTML('activity_log.html').write_pdf('activity_log.pdf')

HTML must include <meta charset="UTF-8"> to avoid mangled characters in customer names/addresses.

A reviewable layout:

  1. Summary grid — Customer / Email / Internal user ID / Stripe customer ID / Account created / Plan / Subscription start / Cancellation timestamp (with delta from signup) / Self-reported cancel reason / Credits or units consumed / Purchase IP / Billing address / Payment method (last4, brand) / Stripe risk assessment / Referral source / Payment trigger
  2. Payment History table — every invoice with date, amount, status. Highlight the disputed row in red. Add a column "Disputed?" with explicit Yes/No.
  3. Checkout Attempts table — proves deliberate purchase intent (defeats fraudulent by extension)
  4. Items Created / Used table — names, types, timestamps. Concrete usage > adjectives.
  5. Login Activity Log — every session: timestamp, country, device. Consistency = same cardholder.
  6. Timeline Summary — single chronological narrative ending with "and then on $DATE the dispute was filed."
  7. Conclusion paragraph — quote the user's own cancel_reason against the stated dispute reason, if they contradict.

Prefer concrete numbers over adjectives. "29 login sessions, 3 named projects, 29,960 credits consumed" is more useful than "used extensively."

7. Show everything to the user before submitting
bash
open "$FOLDER"

Display the rebuttal text, the evidence files, and your win-probability assessment. Wait for explicit user approval.

8. Upload evidence files to Stripe

Files go to files.stripe.com, NOT api.stripe.com — different host:

bash
curl -s -u "$STRIPE_SECRET_KEY:" \
  -F "purpose=dispute_evidence" \
  -F "file=@$FOLDER/activity_log.pdf" \
  https://files.stripe.com/v1/files

Returns {"id": "file_xxx", ...}. Capture the id — that's what you reference in evidence fields.

One file_id per dispute. Stripe rejects with 400 "That file is already attached to something else" if you try to reuse a file_id across disputes (especially for service_documentation). When fighting N disputes for the same customer, upload N copies of every shared PDF — same content, fresh file_id each time.

Show full SKILL.md (486 more words)Show less
9. Submit evidence (one shot — submit=true is final)
bash
curl -s -u "$STRIPE_SECRET_KEY:" \
  -X POST "https://api.stripe.com/v1/disputes/$DISPUTE_ID" \
  -d "evidence[uncategorized_text]=$REBUTTAL_TEXT" \
  -d "evidence[uncategorized_file]=$ACTIVITY_LOG_FILE_ID" \
  -d "evidence[receipt]=$INVOICE_FILE_ID" \
  -d "evidence[cancellation_policy]=$TERMS_FILE_ID" \
  -d "evidence[cancellation_policy_disclosure]=$CANCEL_DISCLOSURE_TEXT" \
  -d "evidence[refund_policy]=$TERMS_FILE_ID" \
  -d "evidence[refund_policy_disclosure]=$REFUND_DISCLOSURE_TEXT" \
  -d "evidence[cancellation_rebuttal]=$CANCEL_REBUTTAL_TEXT" \
  -d "evidence[access_activity_log]=$ACCESS_LOG_SUMMARY" \
  -d "evidence[service_date]=$SERVICE_START_DATE" \
  -d "evidence[product_description]=$PRODUCT_DESCRIPTION" \
  -d "evidence[customer_email_address]=$CUSTOMER_EMAIL" \
  -d "evidence[customer_name]=$CUSTOMER_NAME" \
  -d "evidence[customer_purchase_ip]=$PURCHASE_IP" \
  -d "evidence[billing_address]=$BILLING_ADDRESS" \
  -d "submit=true" \
  "https://api.stripe.com/v1/disputes/$DISPUTE_ID"

Verify the response:

  • status should be under_review
  • evidence_details.has_evidence should be true
  • evidence_details.submission_count should be 1

Evidence Strategy by Dispute Reason

fraudulent

Goal: prove the cardholder made the purchase.

  • Prior undisputed payments on the same card (strongest)
  • OAuth login (Google/Apple) = identity-verified signup
  • Consistent IP / country / device across sessions
  • Multiple checkout attempts before purchase = real person deliberating
  • Stripe's own risk assessment was normal
  • Subscription still active and not cancelled
product_not_received

Goal: prove delivery + use.

  • Login activity log
  • Items created / actions taken inside the product
  • The customer's own self-reported cancel reason, if they cancelled — quoted verbatim against the dispute claim
  • Receipt and welcome email
product_unacceptable

Goal: show the product matched its description and the customer used it.

  • Same as product_not_received PLUS your terms-of-service language about quality / refund policy
  • Highlight that customer never opened a support ticket
subscription_canceled

Goal: prove the customer never cancelled (or cancelled after the renewal).

  • Subscription object showing cancel_at_period_end=false at the renewal date
  • All login/use activity from after the renewal date
  • Terms language stating annual renewals require explicit cancellation

Rebuttal Templates

uncategorized_text

[Customer name] created a [Product name] account on [date] via [auth method] and subscribed to [plan] ($[amount]/[interval]) using the same [card brand]. The first [N] payment(s) were never disputed. The customer actively used the service: [N] login sessions from [country] on [device], [N] items created ([list]), and [N] [units] consumed. The disputed charge is the [renewal/initial] payment on [date]. The subscription was [status] and remains [active/cancelled]. The customer never contacted support to cancel or request a refund. Our cancellation and refund policies are published at [TERMS_URL]. This is not a fraudulent transaction — it is a legitimate purchase from the cardholder who [made/has made] [N] other undisputed payments on this account.

cancellation_policy_disclosure

Our cancellation policy is disclosed at [TERMS_URL]. Subscribers may cancel at any time and retain access through the end of their billing cycle. This customer never cancelled.

refund_policy_disclosure

Our refund policy is disclosed at [TERMS_URL]. We offer a [N]-day money-back guarantee. The customer did not request a refund within that window, nor at any time.

Important Notes

  • File uploads go to files.stripe.com, NOT api.stripe.com
  • One submission per dispute. submit=true is final
  • Evidence deadline is evidence_details.due_by (unix timestamp). After that you can no longer submit
  • Database queries must be READ-ONLY — restrict the connection's role if possible
  • Never include other customers' data in the activity log PDF
  • Save every evidence package to disk in case you need to reference it for future disputes from the same customer

High-value contradiction pattern

Customer signs up, uses product briefly, cancels within hours citing "Poor user experience" in your in-app cancel form, then files a chargeback days later claiming "product not received."

The cancel form's reason directly contradicts the chargeback claim. Quote it word-for-word in the rebuttal, while still applying the fee and historical-outcome decision gate.

Always check users.cancel_reason (or your equivalent) FIRST when the dispute reason is product_not_received or product_unacceptable.

© OpenClaudia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/stripe-dispute of OpenClaudia/openclaudia-skills.

Open the folder on GitHubat commit 28bf209

Compare with similar skills

Stripe Dispute next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Stripe Dispute compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Stripe Dispute this skillOpenClaudia/openclaudia-skills713—~3.3kAutomated safety check: PassMIT
PCI DSS Compliancewshobson/agents40k11 repos~1.9kAutomated safety check: PassMIT
Privacy Pagamenticcplugins/awesome-claude-code-plugins970—~845Automated safety check: PassApache-2.0
Firecrawl Build Onboardingfirecrawl/firecrawl190k1 repos~1.4kAutomated safety check: NotesISC
Minimax PDFpoco-ai/poco-claw1.4k6 repos~2.1kAutomated safety check: PassMIT
Get API Docs with chubandrewyng/context-hub14k1 repos~775Automated safety check: PassMIT

Similar skills

  • PCI DSS Compliance

    wshobson/agents

    Reference for building payment systems that meet PCI DSS: the 12 requirements, merchant levels, data that must never be stored, tokenization and encryption.

    40k GitHub starsUsed in 11 repos~1.9k tokens
    Legal & ComplianceAuto-check passed
  • Privacy Pagamenti

    ccplugins/awesome-claude-code-plugins

    Protegge dati di pagamento e abbonamenti quando un sito/app gestisce checkout, carte, subscription o fatturazione.

    970 GitHub stars~845 tokensUpdated 1 mo ago
    Legal & ComplianceAuto-check passed
  • Firecrawl Build Onboarding

    firecrawl/firecrawl

    Gets Firecrawl working in a project: signs you in through the browser, saves FIRECRAWL_API_KEY to .env and picks the first SDK or REST path.

    190k GitHub starsUsed in 1 repo~1.4k tokens
    Backend & APIsAuto-check: notes
  • Minimax PDF

    poco-ai/poco-claw

    A skill your agent uses when visual quality and design identity matter for a PDF.

    1.4k GitHub starsUsed in 6 repos~2.1k tokens
    Documents & OfficeAuto-check passed
  • Get API Docs with chub

    andrewyng/context-hub

    Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.

    14k GitHub starsUsed in 1 repo~775 tokens
    DevelopmentAuto-check passed
  • Stripe Projects

    fossasia/eventyay

    A skill your agent uses when the user wants to provision infrastructure or third-party services using Stripe Projects.

    1.7k GitHub starsUsed in 5 repos~2k tokens
    Backend & APIsAuto-check: notes

More from OpenClaudia/openclaudia-skills

All 74 skills in this repo
  • Competitor Traffic Report

    OpenClaudia/openclaudia-skills

    Build an interactive competitive-traffic report for any company and its rivals — monthly visits (SimilarWeb), organic search traffic and Domain Rating (Ahrefs) — as one self-contained HTML page with…

    713 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Geo Difficulty

    OpenClaudia/openclaudia-skills

    Score how hard a keyword is to rank for in the AI-search era — page-level URL Rating of real competitors (not just domain DR), Ahrefs keyword difficulty, and whether a given site already ranks or is…

    713 GitHub stars~694 tokensUpdated today
    Auto-check passed
  • Gsc Portfolio Audit

    OpenClaudia/openclaudia-skills

    Audit EVERY Google Search Console property at once — rank all sites by clicks and impressions with period-over-period deltas, then diff keywords per site to surface what is newly ranking, rising…

    713 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Similarweb Traffic

    OpenClaudia/openclaudia-skills

    Fetch website traffic estimates (monthly visits, traffic sources, top countries, keywords, engagement, ranks) for any domain from SimilarWeb.

    713 GitHub stars~882 tokensUpdated today
    Auto-check passed
  • Ahrefs Python

    OpenClaudia/openclaudia-skills

    Manages Ahrefs API usage in Python using ahrefs-python library.

    713 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Ab Test Setup

    OpenClaudia/openclaudia-skills

    Design, plan, and analyze A/B tests with statistical rigor. An agent skill from OpenClaudia/openclaudia-skills.

    713 GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Works with

Questions about Stripe Dispute

What does Stripe Dispute do?

Evaluate whether a Stripe dispute is economical to contest, then gather evidence and submit only when approved. Stripe Dispute is an agent skill from OpenClaudia/openclaudia-skills. Evaluate whether a Stripe dispute is economical to contest, then gather evidence and submit only when approved.

When should I use Stripe Dispute?

Stripe Dispute fits situations like: stripe disputes; counter-disputes; evidence packages; stripe dispute IDs.

How do I install Stripe Dispute in Claude Code?

Run `npx skills add OpenClaudia/openclaudia-skills --skill stripe-dispute -a claude-code`. Or copy the skill folder (skills/stripe-dispute in OpenClaudia/openclaudia-skills) into .claude/skills/stripe-dispute in your project. Claude Code loads it when a task matches its description.

How do I install Stripe Dispute in Codex?

Run `npx skills add OpenClaudia/openclaudia-skills --skill stripe-dispute -a codex`. Or copy the skill folder (skills/stripe-dispute in OpenClaudia/openclaudia-skills) into .agents/skills/stripe-dispute in your project. Codex loads it when a task matches its description.

Can I use Stripe Dispute in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenClaudia/openclaudia-skills --skill stripe-dispute -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/stripe-dispute, .gemini/skills/stripe-dispute, .github/skills/stripe-dispute and .opencode/skills/stripe-dispute in your project.

What does Stripe Dispute need to run?

Going by SKILL.md and its folder, Stripe Dispute needs the command-line tools its instructions call (curl, python3 and node) and credentials named STRIPE_SECRET_KEY. Our summary lists: Python 3; A credential in STRIPE_SECRET_KEY.

Does Stripe Dispute access the network?

SKILL.md names 2 domains. In commands or code: api.stripe.com and files.stripe.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Stripe Dispute safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Stripe Dispute use?

Stripe Dispute is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Stripe Dispute use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Stripe Dispute?

Skills that share tags, products or a category with Stripe Dispute: PCI DSS Compliance (wshobson/agents, 40k stars), Privacy Pagamenti (ccplugins/awesome-claude-code-plugins, 970 stars), Firecrawl Build Onboarding (firecrawl/firecrawl, 190k stars) and Minimax PDF (poco-ai/poco-claw, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Stripe Dispute?

OpenClaudia (a GitHub organization) maintains it in OpenClaudia/openclaudia-skills, which has 713 GitHub stars. The repository holds 74 skills in this directory. The repository was last updated on September 18, 2026.

Source: OpenClaudia/openclaudia-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.