About sdk-development
sdk-development is a skill for building or extracting TypeScript SDKs. It covers public API design, typed clients and errors, build outputs, testing, and npm publishing.
Key features
- 01Public API and client design
- 02Typed methods and errors
- 03ESM, CJS, and type builds
- 04Unit and integration testing
- 05npm publishing lifecycle
Use cases
- 01Create a TypeScript SDK from scratch
- 02Extract an SDK from an existing app
- 03Prepare an SDK for npm distribution
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ srstomp/ pokayokay --skill sdk-developmentAfter installing, type/sdk-developmentin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/build-tools-and-output.mdbundle-optimization-and-distribution.mdci-cd-and-documentation.mdconfiguration-and-api-design.mderror-handling-and-async.mdevents-storage-and-logging.mdextraction-scope-and-boundaries.mdextraction-usages-and-planning.mdinternal-architecture-and-best-practices.mdpackage-structure-and-clients.mdpublishing-and-registries.mdtype-design.mdDetails
From the project READMESDK 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
- Analyze scope: new SDK or extraction from existing app
- Design public API surface (exports, types, config)
- Implement client with typed methods and error handling
- Configure build for ESM/CJS/types (tsup recommended)
- Write tests (unit + integration) and examples
- Publish to npm with proper package.json exports field
When NOT to Use
- For consuming external APIs — see api-integration skill
- For publishing to npm only — this skill covers full SDK lifecycle
References
| Reference | Description |
|---|---|
| extraction-scope-and-boundaries.md | Scope identification, dependency analysis, boundary definition |
| extraction-usages-and-planning.md | Finding usages, test coverage, phased extraction plan |
| package-structure-and-clients.md | SDK layout, client design patterns (single, modular, factory) |
| configuration-and-api-design.md | Config interfaces, defaults, barrel exports, method signatures |
| internal-architecture-and-best-practices.md | HTTP client, state management, tree-shaking, environment agnostic |
| type-design.md | Strict types, branded types, generics, discriminated unions |
| error-handling-and-async.md | Error class hierarchy, retry logic, request queues, token management |
| events-storage-and-logging.md | Event emitter, storage abstraction, logger interface |
| build-tools-and-output.md | tsup config, output formats, package.json exports, TypeScript config |
| bundle-optimization-and-distribution.md | Bundle size, multi-platform builds, dual packages, monorepo |
| publishing-and-registries.md | npm publishing, private registries, versioning, changelogs |
| ci-cd-and-documentation.md | GitHub Actions, documentation, pre-publish checklist, deprecation |
Comments
Markdown supported