Agent Skill
2/7/2026

sdk-development

Use when building TypeScript SDKs, extracting shared code into packages, creating developer tooling libraries, designing clean API surfaces, or publishing to npm (public or private). Covers typed clients, error handling, multi-target bundling (ESM/CJS/browser).

S
srstomp
2GitHub Stars
1Views
npx skills add srstomp/pokayokay

SKILL.md

Namesdk-development
DescriptionUse when building TypeScript SDKs, extracting shared code into packages, creating developer tooling libraries, designing clean API surfaces, or publishing to npm (public or private). Covers typed clients, error handling, multi-target bundling (ESM/CJS/browser).

name: sdk-development description: Use when building TypeScript SDKs, extracting shared code into packages, creating developer tooling libraries, designing clean API surfaces, or publishing to npm (public or private). Covers typed clients, error handling, multi-target bundling (ESM/CJS/browser).

SDK Development

Create professional TypeScript SDKs from scratch or by extraction.

Key Principles

  • Clean public API — Export only what consumers need, hide internals
  • Type everything — Full type coverage for config, methods, responses, and errors
  • Meaningful errors — Typed error classes with codes and context
  • Sensible defaults — Works out of the box with minimal config
  • Framework agnostic — Core SDK has no framework dependencies; add bindings separately

Quick Start Checklist

  1. Analyze scope: new SDK or extraction from existing app
  2. Design public API surface (exports, types, config)
  3. Implement client with typed methods and error handling
  4. Configure build for ESM/CJS/types (tsup recommended)
  5. Write tests (unit + integration) and examples
  6. Publish to npm with proper package.json exports field

References

ReferenceDescription
extraction-scope-and-boundaries.mdScope identification, dependency analysis, boundary definition
extraction-usages-and-planning.mdFinding usages, test coverage, phased extraction plan
package-structure-and-clients.mdSDK layout, client design patterns (single, modular, factory)
configuration-and-api-design.mdConfig interfaces, defaults, barrel exports, method signatures
internal-architecture-and-best-practices.mdHTTP client, state management, tree-shaking, environment agnostic
type-design.mdStrict types, branded types, generics, discriminated unions
error-handling-and-async.mdError class hierarchy, retry logic, request queues, token management
events-storage-and-logging.mdEvent emitter, storage abstraction, logger interface
build-tools-and-output.mdtsup config, output formats, package.json exports, TypeScript config
bundle-optimization-and-distribution.mdBundle size, multi-platform builds, dual packages, monorepo
publishing-and-registries.mdnpm publishing, private registries, versioning, changelogs
ci-cd-and-documentation.mdGitHub Actions, documentation, pre-publish checklist, deprecation
Skills Info
Original Name:sdk-developmentAuthor:srstomp