smithy-sdk-generator
// AWS Smithy-based SDK generation for enterprise-grade APIs
$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namesmithy-sdk-generator
descriptionAWS Smithy-based SDK generation for enterprise-grade APIs
allowed-toolsRead,Write,Edit,Glob,Grep,Bash
Smithy SDK Generator Skill
Overview
This skill leverages AWS Smithy to generate enterprise-grade SDKs with AWS-style patterns including waiters, paginators, and automatic retries. Smithy provides a protocol-agnostic approach to API modeling.
Capabilities
- Design Smithy models with traits for rich API semantics
- Generate SDKs with AWS-style patterns (waiters, paginators, retries)
- Implement custom code generation plugins
- Support multiple protocols (REST, RPC, etc.)
- Configure middleware and interceptor chains
- Generate comprehensive API documentation
- Implement client-side validation from constraints
Target Processes
- SDK Code Generation Pipeline
- SDK Architecture Design
- Multi-Language SDK Strategy
Integration Points
- AWS Smithy core and build plugins
- smithy-typescript for TypeScript SDK generation
- smithy-go for Go SDK generation
- smithy-rs for Rust SDK generation
- Custom code generators
Input Requirements
- Smithy model files (.smithy)
- Trait configurations for behaviors
- Target language specifications
- Custom template overrides (if any)
- Protocol selection (restJson1, awsJson1_1, etc.)
Output Artifacts
- Generated SDK source code
- API documentation
- Waiter configurations
- Paginator implementations
- Client configuration options
- Build artifacts per target language
Usage Example
skill:
name: smithy-sdk-generator
context:
modelDirectory: ./model
targetLanguages:
- typescript
- python
- go
protocol: restJson1
generateWaiters: true
generatePaginators: true
customTraits: ./traits
Best Practices
- Use semantic traits to enrich API behavior
- Define clear resource hierarchies
- Implement proper pagination patterns
- Add waiter definitions for async operations
- Use validation constraints for input validation
- Document all operations and shapes thoroughly