Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add zackbart/connecta --skill stripegit clone --depth 1 https://github.com/zackbart/connectaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zackbart/connecta/stripe)<a href="https://agentmods.dev/skills/zackbart/connecta/stripe"><img src="https://agentmods.dev/badge/skills/zackbart/connecta/stripe/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zackbart/connecta/stripe"><img src="https://agentmods.dev/badge/skills/zackbart/connecta/stripe.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00001 | $0.02590 |
| Opus 5.5 | $0.00000 | $0.01036 |
| Sonnet 5.5 | $0.00000 | $0.00518 |
| Haiku 4.5 | $0.00000 | $0.00259 |
Grade A, and why
stripe scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
This OAuth session may expose both live and sandbox Stripe accounts. Discover the live account-selection tools, select the intended account and mode, then carry exact context fields such as stripe_context and livemode wherever the schema requires them. A live-mode write moves real money; a sandbox write changes test data. Never infer the account or mode from connector metadata.
- Discover account and mode with the live account-selection tools before every account-scoped read or write. The published inventory has changed account-tool names; do not assume
list_available_accounts_or_orgsis available. Select the intended result and carry the exact context fields required by the live schema unchanged. If the account, mode, or supported selector is ambiguous, stop and ask; never guess. - Organization accounts are not Stripe Connect connected accounts. A Connect call requires a separate API-key connector whose
connectedAccountsends Stripe's documentedStripe-Accountheader; OAuth does not support that path. - Four generic tools reach any Stripe API method. Find the method with
stripe_api_search, read its parameters withstripe_api_details, then callstripe_api_read(GET) orstripe_api_write(POST/PATCH/PUT/DELETE). Never guess a path or a parameter name —stripe_api_detailsis cheaper than a rejected write. - Prefer a dedicated tool when one covers the task:
get_balance_summaryfor balances andstripe_analyticsfor Sigma or Metrics reporting. Usestripe_api_searchfor everything else instead of assuming a retired dedicated tool still exists. stripe_implementation_plannerand the query-execution intents ofstripe_analyticscreate provider-side planning or query-run state. Connecta therefore classifies both as writes, which a read-only endpoint refuses; their retrieval paths stay behind the same tool boundary.stripe_api_writecarries the blast radius of the entire write API — every POST, PATCH, PUT, and DELETE, from a customer edit to a subscription cancellation. State the method and path explicitly; a read-only endpoint refuses it.- Any
stripe_api_readlist orstripe_api_searchthat returns full objects belongs insideexecute_code, projected to the fields the question needs beforereturn. Neitherlimitnorexpandsubstitutes for that: an unprojected list of customers or invoices truncates long before it answers, and a projected one keeps the customer's name, email, and address out of the transcript. - Find an object with
stripe_api_search(or a list endpoint throughstripe_api_read) and carry theidit returned into the write. - This connection's tool list is not a fixed set. Stripe gates parts of its MCP catalog by account, integration, and beta enrollment, so search this connector for what it actually exposes rather than assuming a documented tool is here.
- Send an
Idempotency-Keyon every write you might retry, if the tool accepts it, and reuse the same key for the retry. A retry with a fresh key is a second charge, not a second attempt.
- This is Connecta's REST connector to
api.stripe.com, holding one operator-managed key. It reaches exactly one account in one mode, so there is no account selection and nostripe_contextorlivemodeargument. stripe_api_searchfinds API operations, not records: it searches the pinned API index and names the tool that calls each operation.stripe_api_detailsreturns one operation's parameters with types, enums, and required names. Neither sends a request.stripe_api_readcalls GET operations, plusPOST /v1/invoices/create_preview, which only previews.stripe_api_writecalls every other POST and every DELETE, from a customer edit to a subscription cancellation, withmethodandpathstated; a read-only endpoint refuses it.- Paths are concrete: substitute ids into the template search returned (
/v1/payment_intents/pi_123). Passqueryandbodyas JSON objects named asstripe_api_detailslists them. Connecta form-encodes v1 bodies and query lists (expand: ["latest_charge"]), sends v2 bodies as JSON, and pinsStripe-Versionto the index's API version. Sendnullor""to unset a field. - Every call is checked against the pinned index before it is sent. An unknown path returns the nearest operations; an unknown or missing parameter returns
validation.issueswith the accepted names. Nothing reached Stripe, so fix the call from that answer. - Results arrive as
{ status, data, page? }. On a list,page.nextis the cursor andpage.paramthe query parameter to pass it as:starting_after, orpagefor search and v2 lists. Lists belong insideexecute_code; passselect(dot paths such asdata.idanddata.status) to keep only the fields the question needs, which also keeps customer names, emails, and addresses out of the transcript. get_stripe_account_infoconfirms the account, mode, and connected account;get_balance_summaryreturns available and pending balances. Use them when they answer the question.- Find records with list and search operations through
stripe_api_read(GET /v1/customers/search,GET /v1/chargeswithcustomer) and carry the returnedidinto the write. stripe_api_writesends anIdempotency-Keyon every POST. PassidempotencyKeyfor anything you might retry, or reuse the generated one the result returns. An ambiguous failure carries it in its message or asuncertainCall.recovery.idempotencyKey. Reuse it only with the exact original arguments and within Stripe's retention (v1 keys may be pruned after 24 hours); after that, look the object up before retrying. A retry with a fresh key is a second charge, not a second attempt.- Refused by design: operations that hand out a credential (ephemeral keys, Terminal connection tokens, account links (v1 and v2), Terminal onboarding links, Express login links, account sessions, customer sessions, billing portal sessions, file link creation, Financial Connections session creation, and the meter event session), Stripe Apps secret payloads (
expandofpayload), Issuing cardnumberandcvcexpansion on any Issuing path, multipart uploads such asPOST /v1/files(use the Dashboard), and the meter event stream (send single events withPOST /v2/billing/meter_events). Each refusal names its reason. Quote PDFs arrive fromfiles.stripe.comas base64. - Secrets read as
"[redacted]"in every result, expansions included: client secrets (PaymentIntents, SetupIntents, Checkout and Identity sessions, Sources, Financial Connections, invoice confirmation secrets), webhook and event destination signing secrets, Apps secret payloads, app-install authorization codes, Terminal Wi-Fi passwords, forwarded request header values, and Issuing card numbers and CVCs. Webhook and event destination URLs, file link URLs (in an expanded File, a list, or an event too), and pre-signed import URLs keep only their scheme and host. Identity verificationurls come back whole. A Checkout Session'surlcomes back whole only for a guest payment session (mode: "payment", nocustomerorcustomer_account, no customer creation, no saved payment method options); any other session returns only its scheme and host, because its page can show, reuse, or remove a customer's saved payment methods. Create those from your own server code, or send a payment link or the invoice's hosted page instead. These rules follow each object wherever it appears, expansions and events included. A[redacted]field is never the real value; do not send it back. - Failures of credential-bearing operations (webhook endpoints, Apps secrets, Terminal configurations, forwarding) carry Stripe's type, code, decline code, and param, not its message. Payment, billing, and account failures keep Stripe's message.
- The hosted OAuth connection's natural-language Sigma, metrics, documentation search, implementation planner, and feedback tools do not exist with a key.
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- drift.json 1.0 KB
- fixtures.ts 1.1 KB runs code
- index.ts 13 KB runs code
- openapi.generated.ts 347 KB runs code
- openapi.source.json 434 B
- provider.test.ts 43 KB runs code
- rest.ts 19 KB runs code
- skill.generated.ts 13 KB runs code
- value-safety.candidates.json 499 KB
- value-safety.node.test.ts 1.3 KB runs code
- value-safety.ts 42 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed 1f4d7ba63946
- 5d ago Changed · +21 lines b71a8dc57bec
- 6d ago First seen · 46 lines · 1 tokens per session scan A e3a678188a3c
stripe is a skill published in the GitHub repository zackbart/connecta (0 stars, last pushed today), licensed MIT. It adds 1 tokens to every session and 2,590 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-08.
Other skills, from other repositories
sector-rotation
An analysis framework for comparing industries in the Chinese A-share stock market, using business conditions, price momentum, valuation, and money flows. It produces rankings and higher- or lower-allocation suggestions.
twitter-reader
Read Twitter/X for financial research through opencli: the user's home timeline, tweet search, trending topics, bookmarks, a user's recent tweets, threads, articles, profiles, followers and following, and notifications. Use this skill whenever the user wants to know what people are saying on Twitter/X or fintwit about…
strategy-pivot-designer
Detect backtest iteration stagnation and generate structurally different strategy pivot proposals when parameter tuning reaches a local optimum.
energy-procurement
Codified expertise for electricity and gas procurement, tariff optimization, demand charge management, renewable PPA evaluation, and multi-facility energy cost management. Informed by energy procurement managers with 15+ years experience at large commercial and industrial consumers. Includes market structure analysis…
china-portfolio-monitoring
A monitoring framework for tracking the financial results, operating measures, strategic milestones, and risks of companies held by China-focused private-equity funds. It uses measures such as revenue growth, margins, debt, cash flow, and return on equity.
airdrop-hunting-guide
Guide to finding and qualifying for crypto airdrops — eligibility criteria, farming strategies, on-chain activity requirements, Sybil detection avoidance, and tracking tools. Use when helping users understand airdrops, check eligibility, or plan participation strategies.