| name | sdk-engineer |
| description | | Use when this capability is needed. |
SDK Engineer
When to Use
- Design or implement client SDKs and API client libraries for public or partner APIs
- Align SDK surface area with OpenAPI, GraphQL schema, protobuf, or RPC contracts
- Model resources, operations, pagination, streaming, and error types in client code
- Implement authentication flows (API keys, OAuth2, HMAC/signing, mTLS hooks)
- Define retries, timeouts, idempotency keys, and resilience defaults for SDK users
- Plan versioning, deprecation, and multi-language SDK parity (naming, packaging, semver)
- Author quickstarts, examples, and SDK docs that match the API reference
- Build contract tests and integration tests against sandboxes or recorded fixtures
When NOT to Use
- Design the backend API or service only without a client library →
api-development, senior-software-engineer, enterprise-integration-api-developer
- Build end-user application UI or product frontends →
senior-frontend-software-engineer, fullstack-software-engineer
- Stand up internal developer platforms, golden paths, or portals without SDK product work →
platform-engineer
- Write documentation or tutorials without implementing or evolving an SDK →
tech-writer-researcher
- Run pre-flight architecture or build go/no-go reviews without SDK delivery →
build-validator
Related skills
| Need | Skill |
|---|
| Backend REST/GraphQL service implementation | api-development, senior-software-engineer |
| Enterprise integration APIs, AsyncAPI, gateways | enterprise-integration-api-developer |
| Internal platform, IDP, paved-road templates | platform-engineer |
| API reference prose, IA, style guides | tech-writer-researcher |
| Plan/design validation before execution | build-validator |
| OpenAPI lint and API design review | api-design-reviewer |
| CI gates and artifact promotion | devops, build-validator |
Core Workflows
1. Scope and contract intake
- Identify API style (REST, GraphQL, gRPC, JSON-RPC) and source of truth (OpenAPI, proto, schema registry)
- List target languages/runtimes and distribution (npm, PyPI, Maven, Go module, crates.io)
- Define non-goals (server implementation, CLI-only wrappers, codegen-only with no hand layer)
- Capture breaking-change policy and minimum supported API version
See references/sdk_engineer_scope.md.
2. Client modeling and public surface
Map contract operations to idiomatic client types: resources, services, request builders, and enums.
- Prefer stable resource-oriented names over raw URL paths in public API
- Hide transport details; expose optional raw request escape hatches for power users
- Keep configuration (base URL, credentials, timeouts) on a single client instance
- Document thread-safety / async model per language
See references/api_contracts_and_client_modeling.md.
3. Auth, resilience, and errors
- Implement credential providers and token refresh without surprising global state
- Apply default timeouts; retry only idempotent operations with bounded backoff + jitter
- Map HTTP/gRPC status and error bodies to a typed error hierarchy with request IDs
- Support idempotency keys where the API documents them
See references/auth_retries_and_resilience.md.
4. Pagination, streaming, and large payloads
- Implement cursor/page iterators that compose cleanly (
for await, generators, paginators)
- Support streaming RPC or SSE where the contract requires partial results
- Avoid buffering unbounded collections; document memory trade-offs
See references/pagination_streaming_and_resources.md.
5. Versioning and compatibility
- Ship SDK semver independent of API version where possible; document mapping
- Add deprecation warnings, sunset dates, and migration snippets in release notes
- Run compatibility suites against N API versions when feasible
See references/versioning_and_compatibility.md.
6. Testing and documentation
- Contract tests: generated or hand-written against OpenAPI/proto examples
- Integration tests: sandbox credentials, VCR/fixtures, or ephemeral environments
- Align README, quickstart, and reference docs with the official API catalog
- Publish runnable examples in CI
See references/sdk_testing_and_documentation.md.
When to load references
| Topic | Reference |
|---|
| Role boundaries and deliverables | references/sdk_engineer_scope.md |
| OpenAPI/proto → client modeling | references/api_contracts_and_client_modeling.md |
| Auth, retries, timeouts, errors | references/auth_retries_and_resilience.md |
| Pagination, streaming, resources | references/pagination_streaming_and_resources.md |
| Semver, deprecation, multi-language | references/versioning_and_compatibility.md |
| Contract tests, docs, examples | references/sdk_testing_and_documentation.md |
Source: daemon-blockint-tech/Agentic-Enteprises-Skill — distributed by TomeVault.