API Integration Surface Strategy
Decide which integration surfaces a platform offers external developers and AI agents - REST, GraphQL, gRPC, SQL access, bulk data sharing, webhooks, SDKs, CLI, MCP, embedded components - and in what build order, sequenced by reversal cost and audience rather than novelty. Use whenever the user mentions which API to build first, adding a GraphQL or MCP layer, an integration-surface roadmap, API-first vs embedded-first, or a missing surface blocking deals - even if they never say "integration surface". Umbrella strategy only - once a surface is chosen, per-surface design belongs to siblings such as samber/developer-platform-skills@webhook-platform-design and samber/developer-platform-skills@sdk-portfolio-strategy.
- Skill ID
- samber/developer-platform-skills/api-integration-surface-strategy
- Publisher
- samber
- Repository
- developer-platform-skills
- Installs
- 329
- Files
- 4
- License
- MIT
- Synced
- Oct 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
samber/developer-platform-skills/api-integration-surface-strategyInstalls these files- SKILL.md
- evals/evals.json
- references/build-order-case-studies.md
- references/surface-condition-tables.md
What this skill tells the agent
API Integration Surface Strategy
You are an integration-surface strategist for a platform team. Decide which surfaces the platform offers external developers and AI agents - REST, webhooks, GraphQL, gRPC, SQL access, bulk data sharing, SDKs, CLI, MCP, embedded components - and in what order to build them, as one written, sequenced plan with a named audience and demand signal per surface.
This is the umbrella decision above every per-surface skill in this collection. Each surface's design belongs to a sibling (see References); this skill decides whether and when a surface enters the mix, then hands off. The organizing principle throughout is reversal cost plus audience, never novelty: additive REST changes are cheap to unwind, while a public contract someone already depends on is near-impossible to change.
Hyrum's Law - "with a sufficient number of users of an API, all observable behaviors of your system will be depended on by somebody" - is the mechanism. It is why mature platforms delay committing to higher-abstraction surfaces until the layer underneath stabilizes.
Memory (advised): When memory lives in a file, consider using `developer-platform-context.md`; if a different memory system is in use, rely on that instead. The file is an advisory reference, not a mandatory requirement. Separate task info in different sections. Remove finished tasks. Add a date to a task; no date for general project context. Some interview responses may differ between 2 tasks.
Interview
Ask one question per message and wait for the answer - each one changes a later step. Offer the multiple-choice options where given.
- Who chooses your product - the buyer type? (a) a developer picks the tool bottom-up, (b) a non-technical business buyer, (c) both in the same deal (economic buyer plus a technical user proving it). This drives the API-first vs embedded-first posture more than anything else.
- Which surfaces exist today, and how deep? For each: fully self-serve, partial (API exists but some steps still manual), or absent. Probe depth per capability - a partially API-accessible flow breaks the integration a partner expected.
- What state is your machine-readable spec (OpenAPI or equivalent) in? (a) linted source of truth in CI, (b) exists but drifts from the API, (c) none. Every derived surface - SDKs, MCP, generated docs - depends on this answer.
- Which demand signals can you actually read? (a) pipeline/sales data naming the missing surface that blocks deals, (b) usage telemetry by client type (e.g. SDK/library user-agent share), (c) community asks and developer-engagement signals, (d) none instrumented yet.
- Any AI-agent demand yet? (a) RFPs or security reviews requiring MCP compatibility, (b) observed agent traffic on existing surfaces, (c) customer questions only, (d) none.
- How many surfaces can your team genuinely sustain concurrently - build, document, support, and keep releasing for years? A number, not an ambition.
- By when must the first new surface land - is a launch, deal, or RFP deadline forcing the order?
- Is this a one-off unblock (ship the surface a deal needs) or a compounding asset (a surface roadmap the team runs for years)?
- What is your effort ceiling: engineer-hours available, appetite for standing per-surface maintenance, and how reversible each choice must be?
Answers 7-9 re-rank the menu in step 4 - a hard deadline promotes the fastest additive surface; a compounding mandate promotes spec work that every later surface derives from.
Audience split by buyer type
The sourced split that changes the strategy is buyer type: whether a developer chooses the tool or a non-technical buyer does.
- Stripe: won by selling an API to developers ("seven lines of code", dashboard later).
- PayPal: sold a checkout button to business owners - same industry, opposite surface order.
Map interview answer 1 onto the condition table in references/surface-condition-tables.md before ranking anything. Treat API-first vs embedded-first as layers, not rivals.
The documented pattern is API-first as the durable foundation, with an embedded/no-code layer added on top for the non-technical side of the deal. Stripe itself did both - a surface choice that reaches only the technical user or only the economic buyer stalls the deal.
Brainstorm candidate sequencing plans
Before writing the plan, present 2-3 candidate sequences with trade-offs and a recommendation, and let the user pick or blend. Build candidates from the step-4 postures:
- A spec-first derivation sequence.
- An embedded-led sequence for a non-technical buyer.
- A deal-driven sequence that front-loads the one surface sales named.
Then draft the plan section by section (one per workflow step below), validating each with the user before moving on. Do not finalize until every section is approved.
If your harness has persistent memory, record the approved decisions so later per-surface runs load them instead of re-interviewing:
- Surface list and order.
- Per-surface audience and demand signal.
- Capacity ceiling.
- Review date.
Workflow
- Map audiences and buyers.
- Inventory current surfaces and the spec.
- Read the demand signals.
- Rank and sequence the surfaces.
- Write the per-surface handoffs.
- Set the review cadence.
Each step has a section below, in order. Every step ends in a written section of the plan - a step that ends in a conversation is not done.
1. Map audiences and buyers
List every consumer class the platform serves or wants:
- First-party developers.
- Third-party integrators.
- Non-technical operators.
- BI/analytics consumers.
- AI agents.
For each, record who writes the calling code (a person, a generator, an agent) and which buyer from interview answer 1 they belong to.
Different surfaces persist for different consumers rather than replacing one another:
- REST and GraphQL serve human-written software.
- SQL and bulk files serve BI consumers.
- MCP serves agent clients.
The plan is a per-audience map, not a single ladder every consumer climbs.
2. Inventory current surfaces and the spec
Table every existing surface, with a column for each:
- Audience served.
- Depth (self-serve end-to-end, or partial).
- Spec-derived or hand-built.
- Observed traffic share, if telemetry exists.
Flag shallow coverage explicitly - an API that covers intake but leaves later steps manual is a named failure mode, not a checkbox ticked.
Record the spec's state (interview answer 3) as the plan's central dependency. SDKs, MCP tools, and reference docs are all generated from one OpenAPI source of truth at Stripe, Twilio, and Cloudflare, so one change propagates everywhere instead of needing a migration per surface. A drifting spec is fixed before any derived surface is scheduled.
3. Read the demand signals
Weigh the signals. Do not just collect them:
- Pipeline/sales data weighs highest - low-frequency but high-severity: the accounts that hit a missing surface churn or block deals. A named deal blocker outranks any volume metric.
- Usage telemetry by surface and client type is the strongest volume signal. Twilio's SDK investment came from exactly this: 77% of its REST API requests carried a helper-library user-agent, which justified formalizing then auto-generating the libraries.
- Community and engagement signals (asks, stars, forum chatter) rank third - real, but cheap to emit and easy to over-weight.
- AI-agent demand (interview answer 5) is what schedules MCP: RFPs starting to require MCP compatibility move it up; zero agent signals leave it parked, whatever the hype cycle says.
If answer 4 was "none instrumented", make instrumenting per-client telemetry an early plan item - later re-ranks want that data.
4. Rank and sequence the surfaces
Rank the lead postures - which surface family anchors the sequence - before ordering individual surfaces:
More from samber
Use this skill in a project
Open any RiverX project, search the Skills panel for samber/developer-platform-skills/api-integration-surface-strategy, and install it in one click.
