StripeCAUTION
A framework for building agentic apps
Overview
A framework for building agentic apps
d31edd75948aOBSERVED · 2026-10-14What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: stripe description: How to connect to and query the Stripe API for analytics data. --- # Stripe Integration ## Connection - **Base URL**: `https://api.stripe.com` - **Auth**: Bearer token via the per-user/org `STRIPE_SECRET_KEY` credential - **Server lib**: `server/lib/stripe.ts` - **Routes**: `server/routes/stripe.ts` - **Dashboard**: `app/pages/adhoc/stripe/` (tool page, not metrics dashboard) ## Credential - `STRIPE_SECRET_KEY` — configure in Settings → Data sources ## Agent Action Use `stripe` for agent-facing Stripe work. Do not call `/api/stripe/*` directly from the agent. | Mode | Args | Description | | -------------------- | ---------------------------------------- | ------------------------------------ | | `billing` | `email`, `customerId`, `query`, `months` | Invoices for a customer in timeframe | | `payment-status` | `email`, `customerId`, `query` | Recent charges + payment intents | | `refunds` | `email`, `customerId`, `query` | Refunds associated with customer | | `subscriptions` | `email`, `customerId`, `query` | Active subscriptions | | `billing-by-product` | `email`, `customerId`, `query`, `months` | Billing aggregated by product | ## API Routes | Route | Method | Params | Description | | ---------------------------- | ------ | ----------------------------- | ------------------------------------- | | `/api/stripe/billing` | GET | `email`, `months` (default 6) | Invoices for a customer in timeframe | | `/api/stripe/payment-status` | GET | `email` | Recent charges + payment intents | | `/api/stripe/refunds` | GET | `email` | Refunds associated with customer | | `/api/stripe/subscriptions` | GET | `email` | All subscriptions (active + inactive) | All routes resolve email → Stripe customer ID(s) internally. ## Exported Functions (server/lib/stripe.ts) - `getCustomersByEmail(email)` — lookup customers by email - `getInvoices(customerId, months?)` — invoices, optionally filtered by timeframe - `getCharges(customerId, limit?)` — recent charges - `getPaymentIntents(customerId, limit?)` — recent payment intents - `getSubscriptions(customerId)` — all subscriptions (status=all) - `getRefunds(customerId)` — refunds via charge lookup ## Gotchas - Stripe `/v1/refunds` does NOT support `customer` filter. The lib works around this by fetching customer charges first, then fetching refunds for refunded charges. - One email can map to multiple Stripe customer objects. All routes handle this by aggregating across all matching customers. - Amounts in Stripe are in **cents** (smallest currency unit). Divide by 100 for display. - Cache TTL is 5 minutes (shorter than other integrations since billing data changes more frequently). - The `expand` parameter is used for invoices (line items) and subscriptions (price details). ## Client Hooks (app/lib/api-hooks.ts) - `useStripeBilling(email, months, enabled)` - `useStripePaymentStatus(email, enabled)` - `useStripeRefunds(email, enabled)` - `useStripeSubscriptions(email, enabled)` All hooks use `enabled` flag — data is only fetched when a button is clicked. ## UI Pattern The Stripe page is a **tool** (not a dashboard). It has: 1. Email input field 2. Four action buttons (Billing History, Payment Status, Refund Status, Subscriptions) 3. Results panel that shows data for whichever action was last triggered
Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (5)
.agents/skills/an
.agents/skills/content-product-development
.agents/skills/design-exploration
.agents/skills/turn-into-app
.agents/skills/visual-edit
Gates applied: no_behavioural_pass.
d31edd75948afull audit observations/trust-audit/skill/builderio__stripe.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-14 | d31edd75948a | CAUTION | B | 89 | first audit |
Questions
What does the Stripe skill do?
A framework for building agentic apps
Is Stripe safe to install?
With care. The audit graded it B (89/100) and found 5 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can Stripe access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (d31edd75948a), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/builderio/stripe/)
Not your listing, or something out of date? Claim or update your listing.