Agent Skills: /payments

|

UncategorizedID: phrazzld/claude-config/payments

Install this agent skill to your local

pnpm dlx add-skill https://github.com/phrazzld/claude-config/tree/HEAD/skills/payments

Skill Files

Browse the full folder contents for payments.

Download Skill

Loading file tree…

skills/payments/SKILL.md

Skill Metadata

Name
payments
Description
|

/payments

Unified payment lifecycle. Audit, fix, verify—all providers, one skill.

What This Does

Orchestrates all payment providers. Detects active systems, runs provider-specific skills, merges findings, drives fixes in priority order, verifies end-to-end payment flows.

Branching

Before making code changes:

git checkout -b fix/payments-$(date +%Y%m%d)

Configuration-only changes (env vars, dashboard settings) don't require a branch.

Process

1. Detect Active Providers

# Stripe
grep -q "stripe" package.json 2>/dev/null && echo "✓ Stripe SDK" || echo "○ No Stripe"
[ -n "$STRIPE_SECRET_KEY" ] && echo "✓ STRIPE_SECRET_KEY" || echo "○ No STRIPE_SECRET_KEY"

# Bitcoin
command -v bitcoin-cli >/dev/null && echo "✓ bitcoin-cli" || echo "○ No bitcoin-cli"
[ -n "$BITCOIN_RPC_URL" ] && echo "✓ BITCOIN_RPC_URL" || echo "○ No BITCOIN_RPC_URL"

# Lightning
command -v lncli >/dev/null && echo "✓ lncli (LND)" || echo "○ No lncli"
command -v lightning-cli >/dev/null && echo "✓ lightning-cli (CLN)" || echo "○ No lightning-cli"
[ -n "$LND_DIR" ] && echo "✓ LND_DIR" || echo "○ No LND_DIR"

# BTCPay
[ -n "$BTCPAY_URL" ] && echo "✓ BTCPAY_URL" || echo "○ No BTCPAY_URL"
[ -n "$BTCPAY_API_KEY" ] && echo "✓ BTCPAY_API_KEY" || echo "○ No BTCPAY_API_KEY"

2. Run Provider Lifecycles

For each detected provider, invoke the full lifecycle skill:

| Provider | Skill | Fallback | |----------|-------|----------| | Stripe | /stripe | /check-stripe if quick audit | | Bitcoin | /bitcoin | /check-bitcoin if quick audit | | Lightning | /lightning | /check-lightning if quick audit | | BTCPay | /check-btcpay | N/A (audit only) |

Each skill produces prioritized findings (P0-P3).

3. Consolidate Findings

Merge all provider findings into unified report:

## Unified Payment Audit

### P0: Critical (Cross-Provider)
- [Stripe] Webhook signature not verified
- [Bitcoin] Node unreachable
- [Lightning] No inbound liquidity

### P1: Essential
- [Stripe] No customer portal
- [Lightning] Watchtower not configured
- [BTCPay] Webhook URL uses HTTP

### P2: Important
- [Bitcoin] UTXO consolidation needed
- [Lightning] Low outbound liquidity
- [Stripe] Missing idempotency keys

### P3: Nice to Have
- [All] Add unified payment analytics

4. Execute Fixes

Fix in priority order across all providers:

  1. P0 first — Any provider's P0 blocks payment acceptance
  2. Dependency chains — Lightning depends on Bitcoin node; fix Bitcoin first
  3. Cross-provider issues — Unified invoice tracking, reconciliation

Delegate code fixes to Codex:

codex exec --full-auto "Fix [issue]. Provider: [stripe|bitcoin|lightning]. \
File: [path]. Follow pattern in [ref]. Verify: pnpm typecheck" \
--output-last-message /tmp/codex-fix.md 2>/dev/null

5. Verify All Flows

Test each provider end-to-end:

Stripe:

# Create test checkout, complete with 4242...4242, verify webhook
stripe trigger checkout.session.completed

Bitcoin:

# Generate address, send testnet coins, verify confirmation tracking
bitcoin-cli -testnet getnewaddress

Lightning:

# Create invoice, pay from another node, verify settlement
lncli --network=testnet addinvoice --amt=1000 --memo="Test"

Don't declare done until all active providers pass verification.

Output Format

## Payment Infrastructure Status

### Active Providers
- Stripe: Configured
- Bitcoin: Configured (testnet)
- Lightning: Configured (LND)
- BTCPay: Not detected

### Findings Summary
| Provider | P0 | P1 | P2 | P3 |
|----------|----|----|----|----|
| Stripe | 1 | 2 | 3 | 1 |
| Bitcoin | 0 | 1 | 2 | 2 |
| Lightning | 1 | 2 | 1 | 3 |
| **Total** | **2** | **5** | **6** | **6** |

### Fix Order
1. [P0] Stripe webhook verification
2. [P0] Lightning inbound liquidity
3. [P1] Bitcoin fee estimation
...

### Verification Status
- Stripe: PASSED
- Bitcoin: PASSED
- Lightning: PENDING (waiting for channel open)

### Next Steps
Run `/fix-stripe` to address Stripe P0.

What You Get

When complete:

  • All payment providers audited
  • Unified findings prioritized
  • Fixes implemented across providers
  • End-to-end verification per provider
  • Clear status and next steps

User can:

  • Accept payments via any configured provider
  • See unified payment health status
  • Run provider-specific skills for deeper work

Related

  • /stripe - Stripe lifecycle
  • /bitcoin - Bitcoin lifecycle
  • /lightning - Lightning lifecycle
  • /check-payments - Multi-provider audit (no fixes)
  • /groom - Full backlog grooming