azure/azure-typespec-author
Authors and modifies Azure TypeSpec (.tsp) API specifications. MUST BE USED FOR ALL TypeSpec changes regardless of complexity — even adding a single property or enum value requires this skill's validation workflow. USE FOR: any TypeSpec/tsp change — api versions (add, bump, preview, stable, promote), resources, operations, models, properties, decorators, visibility, constraints, breaking changes, LRO, suppressions, operationId, spread model. Covers both ARM resource-manager (Azure.ResourceManager) and data-plane (Azure.Core) services. DO NOT USE FOR: SDK generation, releasing SDK packages, or single MCP tool calls. INVOKES: azure-sdk-mcp:azsdk_typespec_generate_authoring_plan, azure-sdk-mcp:azsdk_run_typespec_validation.
npx skills add https://github.com/Azure/azure-rest-api-specs --skill azure-typespec-author
This skill authors and modifies Azure TypeSpec (.tsp) API specifications for ARM resource-manager and data-plane services, covering versioning, resources, operations, models, decorators, constraints, and other schema changes that must follow the repository's TypeSpec authoring workflow.
USE FOR: any TypeSpec/tsp change — api versions (add, bump, preview, stable, promote), resources, operations, models, properties, decorators, visibility, constraints, breaking changes, LRO, suppressions, operationId, spread model
WHEN: "add TypeSpec API version", "modify .tsp file", "change TypeSpec decorators", "update TypeSpec models or operations", "author Azure TypeSpec"
DO NOT USE FOR: SDK generation, releasing SDK packages, or single MCP tool calls
The azure-typespec-author skill must be invoked immediately in all modes (including plan mode) for any task that involves creating and modifying TypeSpec (.tsp) files except for client.tsp under the specification directory in this repository. This skill MUST be used regardless of how simple the task appears — there are no "simple" TypeSpec edits. Even trivial-seeming changes (adding a single enum value, one property, one operation) require the full workflow because versioning decorators, validation, and compliance checks are mandatory.
This includes but is not limited to:
| Tool | Purpose |
| ------------------------------------------------------ | --------------------------------------------------------- |
| azure-sdk-mcp:azsdk_typespec_generate_authoring_plan | Generate a grounded authoring plan for cases not covered by reference-document-links.md / agentic search. Cases that are covered — e.g. API version evolution (Case 3) — ground via agentic search (web_fetch) instead. |
| azure-sdk-mcp:azsdk_run_typespec_validation | Validate TypeSpec |
Prerequisite: azure-sdk-mcp server must be running.
@added decorators, version gating, and validation. Always invoke this skill..tsp edits — even a single ? change can be breaking.web_fetch on the matching versioning doc in reference-document-links.md; never call azsdk_typespec_generate_authoring_plan for a version add, bump, or promote.> Analyze → Intake → Plan → Apply → Validate → Output reference links
See analyze-project.md.
See intake.md.
See authoring-plan.md.
Make minimal .tsp edits following the plan from Step 3. Confirm uncertainties with the user first.
See validation.md. Always run 5.1 general validation (5.1.1 TypeSpec validation and 5.1.2 tsp compile .); run 5.2 case-specific validation whenever its case matches.
Output the validation results as a checklist. Report one line per check, each marked ✅ (pass) or ❌ (fail) with a short note. Fix every ❌ and re-run until all checks pass. For API version evolution (Case 3) the checklist must cover every §5.2 Case 3 check — including: the new version's examples/ folder exists; no example folder remains for a version absent from the Versions enum; no decorator references a version absent from the enum; every carried-over feature is present with its decorators rebased onto the new version (not reverted); every excluded feature is fully removed.
Output all referenced document URLs from Step 3. This gives the user direct links to the documentation that informed the changes.
| File | Purpose |
| --------------------------------------------------------------------- | ------------------------------------------- |
| analyze-project.md | Step 1: project analysis |
| intake.md | Step 2: general + case-specific intake |
| authoring-plan.md | Step 3: build authoring plan (Option A + B) |
| agentic-search.md | Procedure: fetch URLs → extract guidance |
| reference-document-links.md | Catalog of external guide URLs |
| validation.md | Step 5: validate → compile → verify |
Take azure/azure-typespec-author from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.