About this template
Most sellers lose disputes they should have won
Not because the buyer was right. Because the response box is a blank text area with a countdown on it, and what goes in is a paragraph of feeling instead of a list of artifacts.
Adjudicators skim for evidence. They do not read your argument.
What it does
Pulls your open PayPal disputes, sorts them by deadline — not by amount, because the deadline is what actually loses cases — and drafts a response for the one in front of you.
Every assertion in that draft names the artifact behind it:
| claim | artifact |
|---|---|
| it was delivered | carrier tracking + delivered timestamp |
| it was as described | listing snapshot at time of sale |
| we responded | message thread export with dates |
| policy was shown | the terms page the buyer accepted |
A claim with no artifact does not go in the response. It goes under Gaps — the list of things you need to go find. That section is the point.
The reason code changes the whole shape
- Item Not Received — the case is delivery proof. Lead with tracking.
- Significantly Not As Described — the case is listing vs item. Tracking is irrelevant here; leading with it reads as evasion.
- Unauthorized — do not argue merits at all. This is a fraud question and the agent escalates it to you instead of drafting.
The guard is a file, not a promise
~/disputes/policy/EVIDENCE-RULES.md carries a literal NEVER_AUTOSUBMIT
block and the per-reason shapes above. The skill reads it before every draft.
Ask it to submit and it refuses and points there.
It is also where you encode your own experience — if you have learned what your adjudicators actually respond to, edit the rules file, not the prompt.
What you supply
PAYPAL_CLIENT_IDandPAYPAL_CLIENT_SECRETfrom a REST app, read scopes for disputes and transactions. It never moves money.- Your own Claude Code login.
Export them in your shell. Nothing is stored in the template.
Where this stops
It drafts and assembles. It does not submit to PayPal, accept liability, issue refunds, or predict whether you will win — you are reading a draft, not a verdict.
Verified on build: the skill, the working tree, the NEVER_AUTOSUBMIT guard and
the per-reason rules are present on a fresh fork, and no PayPal credential shape
exists anywhere in the snapshot. Running it against a live dispute is yours.