Generate client SDKs in multiple languages from OpenAPI specifications. Use when generating client libraries for API consumption. Trigger with phrases like "generate SDK", "create client library", or "build API SDK".
71
66%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/api-development/api-sdk-generator/skills/generating-api-sdks/SKILL.mdGenerate type-safe client SDKs in multiple languages (TypeScript, Python, Go, Java) from OpenAPI 3.0+ specifications. Produce idiomatic client libraries with authentication handling, automatic retries, pagination helpers, and comprehensive type definitions that mirror the API contract.
$ref usage, and response type coverage across all endpoints.listUsers, get_user, CreateUser).description and summary fields for full IDE IntelliSense support.See ${CLAUDE_SKILL_DIR}/references/implementation.md for the full implementation guide.
${CLAUDE_SKILL_DIR}/sdk/typescript/src/client.ts - Main SDK client class with typed methods${CLAUDE_SKILL_DIR}/sdk/typescript/src/models/ - TypeScript interfaces and type definitions${CLAUDE_SKILL_DIR}/sdk/python/client.py - Python SDK with dataclass models and async support${CLAUDE_SKILL_DIR}/sdk/go/client.go - Go SDK with struct types and context-based methods${CLAUDE_SKILL_DIR}/sdk/*/README.md - Per-language installation and usage documentation${CLAUDE_SKILL_DIR}/sdk/*/tests/ - SDK test suites per language| Error | Cause | Solution |
|---|---|---|
| Schema generation failure | OpenAPI spec contains $ref cycles or missing component definitions | Run spec linting with spectral first; resolve circular references with allOf composition |
| Type mismatch | API response does not match generated model types at runtime | Add runtime response validation option; log schema drift warnings for API provider notification |
| Auth configuration error | SDK instantiated without required credentials for protected endpoints | Throw descriptive error at client construction time listing required auth parameters |
| Pagination exhaustion | Iterator consumes all pages without termination condition | Enforce maximum page count safety limit; detect empty result sets as termination signal |
| Rate limit handling | SDK retry logic conflicts with application-level retry logic | Expose retryConfig option to disable built-in retries; emit retry events for observability |
Refer to ${CLAUDE_SKILL_DIR}/references/errors.md for comprehensive error patterns.
TypeScript SDK for payment API: Generate a fully typed PaymentsClient with methods like createCharge(amount, currency) returning Promise<Charge>, automatic Bearer token injection, and paginated listTransactions() returning an async iterator.
Python SDK with async support: Produce both sync (PaymentsClient) and async (AsyncPaymentsClient) clients using httpx, with Pydantic models for request/response validation and __aiter__ pagination support.
Multi-language CI pipeline: On OpenAPI spec change, automatically regenerate SDKs in all target languages, run tests against a mock server, bump semantic versions, and publish to respective package registries.
See ${CLAUDE_SKILL_DIR}/references/examples.md for additional examples.
3e83543
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.