AndrewDongminYoo

Spendwall — AI skill for Claude Code

AI community

A store wants to delegate customer support, refunds, disputes, and invoices to an AI agent.

How to install Spendwall

This entry records only its repository, not the path inside it, so there is no exact command to give. Open AndrewDongminYoo/spendwall and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Spendwall does

A store wants to delegate customer support, refunds, disputes, and invoices to an AI agent. However, a single instance of hallucination or prompt injection could trigger a refund loop that drains the account. Therefore, a policy firewall is put in place between the agent and PayPal.

Alternatives in AI

  • Browser Search — A skill for AI agents: search the web with SearXNG, browse with Camofox, bypass protections with CloakBrowser 499 ★
  • Refund Anything AI Prompt — AI prompt & agent skill that gets your money back — subscriptions, digital purchases, bookings 84 ★
  • Clawhuddle — Self-hosted OpenClaw for teams — Give every person on your team their own AI assistant 54 ★

README

Spendwall

A deterministic payment policy firewall that checks an AI support agent's refund requests before execution.

An injected ticket or an agent loop should not become permission to move money. Spendwall combines trusted payment context, policy evaluation, spending reservations, bound human approval and an audit trail. **There is no LLM in the policy decision path.**

The local demo runs real firewall modules with recorded agent calls and synthetic payment responses. Separate sandbox adapters have recorded live evidence; they are not an end-to-end production payment service. Start with the [judge guide](docs/judge-guide.md) and [threat model](docs/threat-model.md).

Quickstart

Install Node.js **24.21.0**, pnpm **11.24.0**, Git and Docker with its daemon running. These versions are pinned in `.node-version` and `package.json`. No PayPal or Claude credentials are needed for this path.

git clone https://github.com/AndrewDongminYoo/spendwall.git
cd spendwall
pnpm install --frozen-lockfile
pnpm demo

Expect five `PASS` lines: `small` with one synthetic payment, `approval` with one, `injection` with zero, `velocity` with two, and `shopping` with one. Approval is explicitly scripted in this mode; it does not represent mobile or biometric approval.

For a separate server composition that waits for human approval through the existing loopback API, see [the synthetic payment recording runbook](docs/recording-approval.md). Run `pnpm test:recording` for its credential-free local fixture. Physical iPhone push, biometrics and the private HTTPS route remain unverified. The runner starts and removes its own disposable PostgreSQL container. It does not use the Compose database or captures created by `pnpm seed`. The [judge guide](docs/judge-guide.md) explains prerequisites, timing evidence, cleanup and separate sandbox verification.

See the audit dashboard

pnpm --filter @spendwall/dashboard build
pnpm dashboard:preview

Open the loopback URL pri