Agent-first billing drift setup in 5 minutes
Tell Cursor to set up ProdVerdict — non-interactive bootstrap writes config, scheduled workflow, MCP, and team skills. No LLM in the check path.
Stripe says paid. Your app might disagree.
v0.13 makes that check agent-first: install a skill, tell your AI to set up ProdVerdict, and bootstrap writes everything — config, hourly drift workflow, Cursor MCP, and team skills — in one non-interactive pass.
The bug in one command
npx prodverdict@0.13.0 demoNo git clone. No API keys. You get a FAIL: active Stripe subscription, has_paid_access false in Postgres. That is billing drift — the gap CI does not check because Stripe is mocked in tests.
Tell your AI to set it up
Option A — skills (recommended):
npx skills add prodv-dev/prodverdict-sdk@prodverdict-setup -g -yThen in Cursor: "Set up ProdVerdict for this repo."
Option B — one shell command:
npx prodverdict@0.13.0 setup --yes --format agent --from-envReturns JSON with filesWritten, envWired, missing, and nextSteps. Wires credentials from .env.local when present. Only asks for STRIPE_SECRET_KEY or DATABASE_URL if they are missing.
Bootstrap creates:
prodverdict.ymlmatched to your stack.github/workflows/prodverdict-hourly.ymlfor scheduled drift detection.cursor/mcp.jsonwith local MCP env.cursor/skills/prodverdict-setupandprodverdict-verifyfor the whole team
Why scheduled, not PR-gated
Billing drift appears after deploy — when a webhook fires in production, not when you open a PR. Access is a scheduled monitor with Slack alerts on FAIL. Config, migration, boundary, and webhook contracts stay on PR gates.
npx prodverdict@0.13.0 scheduled --frequency hourly --installSet repo secrets: read-only Stripe key, read-only Postgres URL, Slack webhook.
MCP: bootstrap_prodverdict
If local MCP is already configured, agents can call bootstrap_prodverdict instead of shelling out — same result, stable agent JSON.
Typical agent flow:
npx prodverdict scan --format agent
npx prodverdict setup --yes --format agent --from-env
npx prodverdict status --format agent
npx prodverdict doctor --format agentDeterministic, fail-closed
ProdVerdict does not call an LLM to evaluate your billing state. Rules only. Missing credentials = fail, not a silent pass. Stripe and Postgres reads stay on your runner — never on prodverdict.com.
Next steps
- AI agent setup — full bootstrap reference
- Agents landing page — demo video walkthrough
- Billing drift evidence — why the bug is structural
- Volunteer for the 5 SaaS study — free concierge run
Free on private repos. Pro Cloud ($39/project/mo) adds remote MCP repo scans and shared run history for teams already running local checks.
Try it in 60 seconds
Run the fixture demo — no Stripe key or database required.
npx prodverdict@latest check access --config examples/nextjs-stripe/prodverdict.yml --fixtures --fixtures-dir examples/nextjs-stripe/scenarios/fail-revenue-leakRelated posts
Scheduled Stripe–Postgres reconciliation beats PR-only billing tests
Why Access checks belong on a cron, not every pull request — and how to install nightly billing drift detection in GitHub Actions.
July 1, 2026
Stripe and Postgres drift apart. Here's the proof.
Webhooks are not enough. Stripe docs, practitioner writeups, and reconciliation patterns for when billing state and your database disagree.
June 29, 2026
Stripe Entitlements migration checklist (before you cut over)
Moving from Postgres paid flags to Stripe Entitlements? Pitfalls, dual-write traps, and how to verify billing vs DB before you flip the switch.
June 30, 2026
Comments
Guest comments. No account required. Max 300 words.
Loading comments…