sdk-design

Designs idiomatic client SDKs for APIs in Python, TypeScript, and Go.

1|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/kalilurrahman/kr-claudiator-skills-original-prompts --skill sdk-design-kalilurrahman
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sdk-design
Source: https://github.com/kalilurrahman/kr-claudiator-skills-original-prompts/tree/main/08-api-integration/sdk-design
Command: npx skills add https://github.com/kalilurrahman/kr-claudiator-skills-original-prompts --skill sdk-design-kalilurrahman

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires httpx.

What problem does it solve? Building a client library for an API involves repetitive plumbing work: authentication handling, token refresh, retry logic, pagination, and error mapping. This Skill generates production-style SDK code so developers write business logic instead of HTTP boilerplate. ## Core Features & Use Cases - Idiomatic Client Generation: Produces Python and TypeScript SDK clients with namespaced sub-clients, typed return models, and context manager support. - Built-in Resilience: Implements exponential backoff with jitter, Retry-After handling for 429 responses, and typed exception hierarchies (AuthenticationError, RateLimitError, NotFoundError, ValidationError). - Transparent Pagination: Wraps cursor-based pagination in iterators and async generators so callers never manage cursors manually. - Use Case: You just shipped a REST API and need to publish Python and TypeScript SDKs to PyPI and npm. Use this Skill to generate the client structure, auth handling, retry logic, and publishing configuration. ## Quick Start Generate a Python SDK client for my orders API with API key authentication, automatic retries, and cursor-based pagination.

Frequently Asked Questions about sdk-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a Python SDK for my REST API?

Design the caller-facing interface first, then implement a client class wrapping httpx with auth header injection, retry logic, and typed return models. Use namespaced sub-clients like client.orders for resource grouping and publish to PyPI with python -m build and twine.

How to handle pagination in an API client library?

Wrap cursor-based pagination in iterators or async generators so callers never manage cursors manually. The client fetches pages internally, yields each item, and stops when the API returns no next_cursor value.

What retry strategy should an API SDK use?

Use exponential backoff with jitter for transient failures like 500, 502, 503, and 504 status codes, capping delays around 30 seconds. For 429 responses, honor the Retry-After header instead of computed backoff.

Should SDK errors be typed exceptions or HTTP status codes?

SDKs should raise typed exceptions like NotFoundError, ValidationError, and RateLimitError rather than raw HTTP errors. Typed exceptions let callers catch specific failure modes and access structured details like error codes and retry-after values.

Can one codebase generate SDKs for multiple languages?

Code generation from OpenAPI specs covers the API surface, but each language needs idiomatic customization. Sharing code across languages hurts developer experience, so maintain one SDK per language with language-native patterns.