Install
$ agentstack add skill-straddleio-ai-straddle-plan ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Purpose
Run a guided conversation (5-8 questions) that produces a complete Straddle integration plan. The plan covers entity mapping, API flows, code examples, webhook handlers, and compliance notes -- all tailored to the developer's specific use case and SDK language.
The plan is the artifact the developer uses to build their sandbox integration.
Scope boundaries
- Execute API calls -> use
sandbox-test - Answer ad-hoc integration questions -> use
straddle-integrate - Set up MCP/CLI/keys -> use
setup - Explain statuses -> use
explain-status
Point users to the appropriate skill if they ask for something outside scope.
Reference files
Read before generating each plan section. Shared with straddle-integrate:
| Topic | Reference | |-------|-----------| | Entities, statuses, webhooks, ACH | | | Embed: onboarding, accounts, headers | | | Pay by Bank: customer, bridge, payments | | | SDKs, Bridge Widget, errors | |
Doc search enforcement
Reference files contain stable structural and behavioral knowledge. Enumerated factual lists (return codes, event names, numeric limits) have been replaced with links to authoritative documentation pages.
Doc search tools:
search_docsMCP tool -- SDK and API reference (method signatures, parameters, code examples). Always passlanguageparam.- Product docs -- search by POSTing to
https://docs.straddle.com/mcpwith{"jsonrpc":"2.0","method":"tools/call","params":{"name":"search_straddle_docs","arguments":{"query":"YOUR_QUERY"}},"id":1}and headerAccept: application/json, text/event-stream. Returns payment guides, compliance, sandbox testing.
Default to search_docs for any code or API question.
For EACH section of the output plan:
- Read the relevant reference file for structural baseline
- Follow all documentation links in the reference file for current values
- Use
search_docs(passlanguageparam) for method signatures and code examples - Search product docs (POST to
https://docs.straddle.com/mcp) for current guides and compliance info - Compare all sources. MCP results win on conflicts (they are live). Flag discrepancies.
Never generate a plan section from reference files alone. Never guess at enumerated values -- always search or follow the doc links.
Documentation index: https://docs.straddle.com/llms.txt -- complete sitemap of all Straddle documentation pages. Use as a fallback when MCP search doesn't return the needed content.
Conversation flow
Ask questions one at a time. Skip conditional questions when they don't apply.
Step 0: Prerequisites
Recommend (do not gate):
> Before we start, two things that help: > > Straddle CLI -- full API access from your terminal: > `` > brew install straddleio/tools/straddle > export STRADDLE_API_KEY=your_sandbox_key > `` > > API key from the Straddle Dashboard.
Proceed to step 1 immediately.
Step 1: Use case
> What are you building? > 1. A single business that needs to collect or send bank payments > 2. A SaaS product where your clients need payment capabilities > 3. A marketplace connecting buyers with sellers
Store as use_case: account, saas, or marketplace.
Step 2: SDK language
> Which language is your backend? > 1. TypeScript / Node.js > 2. Python > 3. Go > 4. Ruby > 5. C# / .NET > 6. Raw HTTP
Store as sdk_language. Map to search_docs language param: typescript, python, go, ruby, http. For C#, the search_docs tool does not have a csharp option -- use http for raw API shapes and supplement with typescript examples (the C# SDK follows the same patterns).
After answer, recommend the SDK install command from .
Step 3: Business context
> Describe your business in 1-2 sentences. What do you do, who are your users, and what payments need to happen?
Free text. Drives entity mapping.
Step 4: Payment directions
> What payment directions do you need? > 1. Charges only -- pull money from bank accounts > 2. Payouts only -- push money to bank accounts > 3. Both
Step 5: Customer types
> Who are you transacting with? > 1. Individuals (consumers, people) > 2. Businesses (companies, vendors, contractors) > 3. Both
Step 6 (saas/marketplace only): Scale
> Roughly how many merchants/sellers at launch?
Skip for account use case.
Step 7: Existing bank linking
> Do you already have a bank linking provider? > 1. Yes, Plaid > 2. Yes, Quiltt > 3. No, starting fresh > 4. Not sure
"No" and "Not sure" -> recommend Bridge widget.
Plan generation
After all questions, announce:
> Generating your integration plan. Cross-referencing Straddle docs and SDK reference for [language].
Generate each section below. Follow doc search enforcement for every section. Use the developer's business terms (from step 3) throughout.
Section 1: Entity mapping
Table mapping their domain concepts to Straddle entities.
account: their business = account holder, their customers = Customer, bank links = Paykeysaas/marketplace: their platform = Platform, their merchants = Account (hosted onboarding), their end-users = Customer, bank links = Paykey
Section 2: Onboarding flow
account: "Not applicable -- account set up via Dashboard."saas/marketplace: Hosted onboarding form. Search SDK docs for embed component. Show code. Explainplatform.id,env,external.id. Document status flow:created->onboarding->active.
Section 3: Customer and paykey flow
Search SDK docs for customers.create and Bridge setup.
- Create customer with required fields
- Verification by type: individual (always reviewed), business without complianceprofile (auto-verified, no B2B chargeback protection), business with complianceprofile (standard)
- Customers in
reviewcan proceed (items held until cleared) - Bank connection based on step 7: Bridge (
@straddlecom/bridge-reactorbridge-js), Plaid token, or Quiltt token - Paykey creation statuses: active, review, rejected
- Verify with CLI:
straddle customers get --format json,straddle paykeys list --format json
Section 4: Payment flow
Search SDK docs for charges.create / payouts.create.
- Code examples for applicable payment directions
Straddle-Account-Idheader rules per use case (read from embed.md header table)- Consent type:
internetfor individual,signedfor B2B - Authorization guides: https://help.straddle.com/article/authorization-guide, https://help.straddle.com/article/b2b-agreements
- Balance check modes:
enabled(default),required(high-value),disabled(future-dated/manual-entry) - Test with CLI before writing SDK code:
straddle charges create --helpto see required fields,straddle charges get --debugto inspect responses
Section 5: Webhook handler
Search product docs for webhook events and security.
- Events filtered by use case + payment directions
- Status transitions per event (from domain.md lifecycle)
- Terminal status guard with timestamp ordering
on_hold: system holds (Dashboard) vs user holds (release via API)- Signature verification
- Idempotency: store webhook-id, dedup on replay
Section 6: Sandbox testing
Search product docs for sandbox guide.
sandbox_outcomesfor test scenariossimulatefor account onboarding (saas/marketplace)- CLI commands for verifying sandbox state:
straddle customers list --environment sandbox --format jsonstraddle charges get --environment sandbox --debugstraddle paykeys list --environment sandbox --format json- Use
--helpon any command to see available parameters - Link: https://docs.straddle.com/guides/resources/sandbox-paybybank
Section 7: Pre-Production Checklist
- Idempotency-Key on all POST/PATCH (10-40 chars)
- Webhook signature verification
- Error handling:
error.type,error.items[].reference, logapi_request_id - NACHA compliance: consent records, notification emails
- Retry on 429 (no inherent rate limits)
- Address note: account uses
line1/postal_code, customer usesaddress1/zip(known, will be unified) - Use
straddle --debugto troubleshoot unexpected API responses
Delivering the plan
Present the full plan in conversation. Then offer:
> Save this plan to straddle-integration-plan.md?
Revising the plan:
To revise a section, ask about it. There is no need to restart the full conversation. Re-read the relevant reference files and re-search docs for the updated sections only.
Next steps:
> 1. Review the plan -- ask questions or request changes to any section > 2. Test in sandbox -- try /sandbox-test for guided testing > 3. Explore the Straddle docs for deep dives
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: straddleio
- Source: straddleio/ai
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.