Agent skill

smithy-sdk-generator

AWS Smithy-based SDK generation for enterprise-grade APIs

Stars 514
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/a5c-ai/babysitter/tree/main/library/specializations/sdk-platform-development/skills/smithy-sdk-generator

SKILL.md

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

yaml
skill:
  name: smithy-sdk-generator
  context:
    modelDirectory: ./model
    targetLanguages:
      - typescript
      - python
      - go
    protocol: restJson1
    generateWaiters: true
    generatePaginators: true
    customTraits: ./traits

Best Practices

  1. Use semantic traits to enrich API behavior
  2. Define clear resource hierarchies
  3. Implement proper pagination patterns
  4. Add waiter definitions for async operations
  5. Use validation constraints for input validation
  6. Document all operations and shapes thoroughly

Expand your agent's capabilities with these related and highly-rated skills.

a5c-ai/babysitter

gsd-tools

Central utility skill for GSD operations. Provides config parsing, slug generation, timestamps, path operations, and orchestrates calls to other specialized skills. Acts as the unified entry point that the original gsd-tools.cjs provided via its lib/ modules (commands, config, core, init).

514 31
Explore
a5c-ai/babysitter

model-profile-resolution

Resolve model profile (quality/balanced/budget) at orchestration start and map agents to specific models. Enables cost/quality tradeoffs by selecting appropriate AI models for each agent role.

514 31
Explore
a5c-ai/babysitter

verification-suite

Plan structure validation, phase completeness checks, reference integrity verification, and artifact existence confirmation. Provides the structured verification layer ensuring GSD artifacts are well-formed and complete.

514 31
Explore
a5c-ai/babysitter

state-management

STATE.md reading, writing, and field-level updates. Provides cross-session state persistence via .planning/STATE.md with structured fields for current task, completed phases, blockers, decisions, and quick tasks.

514 31
Explore
a5c-ai/babysitter

git-integration

Git commit patterns, formats, and conventions for GSD methodology. Provides atomic commits per task, structured commit messages, planning file commits, branch management, and milestone tag operations.

514 31
Explore
a5c-ai/babysitter

frontmatter-parsing

YAML frontmatter parsing and manipulation for .planning/ documents. Provides read, write, update, query, and validation operations on frontmatter blocks in GSD markdown artifacts.

514 31
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results