Skip to content
Back to skills

Stripe Refund Auditor

ASecurity

Audits Stripe refunds over a date range to surface anomalies (refund-rate spikes, missing reasons, duplicate refunds). Activates when the user asks to "audit refunds", "check Stripe refund anomalies", or "review refund activity".

  • 46 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 3, 2026
ai-agentspythongobashapi

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add anton-abyzov/vskill --skill stripe-refund-auditor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Stripe Refund Auditor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Stripe Refund Auditor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anton-abyzov-stripe-refund-auditor/badge)](https://www.skillsdirectory.com/skills/anton-abyzov-stripe-refund-auditor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: stripe-refund-auditor
description: Audits Stripe refunds over a date range to surface anomalies (refund-rate spikes, missing reasons, duplicate refunds). Activates when the user asks to "audit refunds", "check Stripe refund anomalies", or "review refund activity".
version: 1.0.0
allowed-tools: Bash, Read, Write
mcp-deps: [stripe]
secrets: [STRIPE_API_KEY]
runtime-python: ">=3.10"
runtime-pip: [stripe>=8, pydantic>=2]
integration-runner: pytest
integration-file: tests/integration_test.py
integration-requires: [STRIPE_API_KEY]
metadata:
  category: finance
  tags:
    - stripe
    - finance
    - audit
---

# /stripe-refund-auditor

Audit Stripe refunds over a date range to surface anomalies — refund-rate spikes,
missing reasons, suspicious duplicates — and emit a markdown report.

## When to use

Trigger when the user asks any of:
- "Audit our Stripe refunds for the last 30 days"
- "Check refund anomalies in Stripe"
- "Review refund activity since {date}"

## What this skill does

1. Read `STRIPE_API_KEY` from the environment (or `.env.local` next to this skill).
2. Run `scripts/audit.py` with the requested date range. The script paginates
   through `/v1/refunds` and emits a JSON record per refund.
3. Run `scripts/grader.py` over the JSON output to compute a deterministic
   anomaly score in `[0, 1]`.
4. Render a markdown report listing the highest-scoring anomalies with their
   `id`, `amount`, `currency`, `status`, and `reason`.

## Files in this skill

- `scripts/audit.py` — the deterministic refund-pull + anomaly-detection helper.
- `scripts/grader.py` — pure-function grader producing a 0..1 numeric score.
- `tests/integration_test.py` — pytest integration test (skipped without `STRIPE_API_KEY`).
- `references/refund-schema.md` — Stripe Refund object field reference.
- `evals/evals.json` — LLM-judged behavioral evaluation cases.
- `.env.example` — placeholder template; copy to `.env.local` and fill in real values.

## Preflight

Before invoking, run `vskill check stripe-refund-auditor` to verify:
- The Stripe MCP server is configured in your Claude config.
- `STRIPE_API_KEY` is resolvable from env or `.env.local`.
- Python `>=3.10` is on PATH.
- `pytest --collect-only tests/` succeeds.

## Step 1 — Pull refunds. Run this immediately:

```bash
python3 scripts/audit.py --since "$(date -u -v-30d +%Y-%m-%d)" --until "$(date -u +%Y-%m-%d)" > /tmp/refunds.jsonl
```

## Step 2 — Score anomalies. Run this immediately:

```bash
python3 scripts/grader.py /tmp/refunds.jsonl > /tmp/refund-scores.json
```

## Step 3 — Render the report. Run this immediately:

```bash
python3 -c "import json,sys; data=json.load(open('/tmp/refund-scores.json')); print(json.dumps({'top_anomalies': data['anomalies'][:10], 'score': data['overall_score']}, indent=2))"
```

The skill's caller is expected to take the JSON from Step 3 and turn it into
prose. See `references/refund-schema.md` for the underlying field semantics.

## Failure modes

- **`STRIPE_API_KEY` missing** → `audit.py` exits with code 2 and prints a
  diagnostic line. Run `vskill check stripe-refund-auditor` to see which env
  source is searched.
- **Empty result set** → `grader.py` returns `{"overall_score": 0.0, "anomalies": []}`.
- **Network failure** → `audit.py` exits non-zero and the message includes the
  underlying HTTP status. Re-run after fixing connectivity.

Files in this skill

  • .env.example394 B
  • SKILL.md3.3 KB
  • evals/evals.json2.1 KB
  • references/refund-schema.md2.1 KB
  • scripts/audit.py2.9 KB
  • scripts/grader.py2.7 KB
  • tests/integration_test.py2.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…