home / skills / a5c-ai / babysitter / typespec-sdk-generator
This skill generates multi-language SDKs from TypeSpec definitions, applying Azure guidelines and emitting OpenAPI for streamlined API consumption.
npx playbooks add skill a5c-ai/babysitter --skill typespec-sdk-generatorReview the files below or copy the command above to add this skill to your agents.
---
name: typespec-sdk-generator
description: Microsoft TypeSpec-based API and SDK generation
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
---
# TypeSpec SDK Generator Skill
## Overview
This skill utilizes Microsoft TypeSpec (formerly Cadl) to design APIs and generate multi-language SDKs following Azure SDK guidelines. TypeSpec provides a concise, type-safe language for API definition.
## Capabilities
- Design APIs using TypeSpec language
- Generate multi-language SDKs (TypeScript, Python, Java, C#, Go)
- Emit OpenAPI and other specification formats
- Apply Azure SDK style guidelines automatically
- Implement decorators for rich API semantics
- Support versioning and deprecation patterns
- Generate strongly-typed clients
## Target Processes
- SDK Code Generation Pipeline
- API Design Specification
- Multi-Language SDK Strategy
## Integration Points
- TypeSpec compiler and emitters
- AutoRest for SDK generation
- Azure SDK code generation pipeline
- OpenAPI emitters
- Custom emitter development
## Input Requirements
- TypeSpec model files (.tsp)
- Emitter configurations per target
- Versioning requirements
- Style guide preferences
- Custom decorators (if any)
## Output Artifacts
- Generated SDK source code per language
- OpenAPI specifications
- JSON schemas
- API documentation
- Client library packages
## Usage Example
```yaml
skill:
name: typespec-sdk-generator
context:
modelDirectory: ./typespec
emitters:
- "@azure-tools/typespec-ts"
- "@azure-tools/typespec-python"
- "@typespec/openapi3"
applyAzureGuidelines: true
apiVersion: "2024-01-01"
```
## Best Practices
1. Use namespaces to organize API structure
2. Leverage decorators for documentation and behavior
3. Implement proper versioning with @versioned
4. Use templates for reusable patterns
5. Define clear model inheritance hierarchies
6. Apply Azure SDK guidelines for consistency
This skill uses Microsoft TypeSpec to design APIs and generate multi-language SDKs that follow Azure SDK guidelines. It produces strongly-typed clients, OpenAPI outputs, and language-specific packages for TypeScript, Python, Java, C#, and Go. The goal is reproducible, style-consistent SDK generation from TypeSpec models.
Provide TypeSpec model files and emitter configurations. The skill runs the TypeSpec compiler with configured emitters to produce OpenAPI, JSON Schema, documentation, and language SDK source code. It can apply Azure SDK style rules, handle versioning/deprecation, and support custom emitters or decorators for richer API semantics.
What inputs does the skill require?
TypeSpec model files (.tsp), emitter configurations, versioning info, and optional custom decorators.
Which languages are supported?
Out of the box: TypeScript, Python, Java, C#, and Go via available emitters; custom emitters can add more.
Can it enforce Azure SDK style guidelines?
Yes. The skill can apply Azure SDK recommendations automatically during generation for consistent APIs.