Babysitter smithy-sdk-generator
AWS Smithy-based SDK generation for enterprise-grade APIs
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/sdk-platform-development/skills/smithy-sdk-generator" ~/.claude/skills/a5c-ai-babysitter-smithy-sdk-generator && rm -rf "$T"
manifest:
library/specializations/sdk-platform-development/skills/smithy-sdk-generator/SKILL.mdsource content
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