[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-azure-azsdk-common-prepare-release-plan":3,"mdc--h7t38g-key":35,"related-repo-azure-azsdk-common-prepare-release-plan":1286,"related-org-azure-azsdk-common-prepare-release-plan":1381},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"azsdk-common-prepare-release-plan","manage Azure SDK release plan work items","Create, get, update, abandon, and link SDK PRs to release plan work items for Azure SDK releases. **UTILITY SKILL**. USE FOR: \"create release plan\", \"get release plan\", \"update release plan\", \"update API spec in release plan\", \"update SDK details in release plan\", \"abandon release plan\", \"link SDK PR to plan\", \"namespace approval\", \"check release plan status\". DO NOT USE FOR: SDK code generation, pipeline troubleshooting, API review feedback. INVOKES: azure-sdk-mcp:azsdk_create_release_plan, azure-sdk-mcp:azsdk_get_release_plan, azure-sdk-mcp:azsdk_get_release_plan_for_spec_pr, azure-sdk-mcp:azsdk_update_release_plan, azure-sdk-mcp:azsdk_update_api_spec_pull_request_in_release_plan, azure-sdk-mcp:azsdk_update_sdk_details_in_release_plan, azure-sdk-mcp:azsdk_abandon_release_plan, azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan, azure-sdk-mcp:azsdk_link_namespace_approval_issue.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"azure","Azure (Microsoft)","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fazure.png","Azure",[13,15,18,21],{"name":11,"slug":8,"type":14},"tag",{"name":16,"slug":17,"type":14},"GitHub","github",{"name":19,"slug":20,"type":14},"Project Management","project-management",{"name":22,"slug":23,"type":14},"SDK","sdk",133,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-tools","2026-07-12T08:17:38.345387","MIT",248,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"Tools repository leveraged by the Azure SDK team.","https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-tools\u002Ftree\u002FHEAD\u002Fplugins\u002Fazure-sdk-tools\u002Fskills\u002Fprepare-release-plan","---\nname: azsdk-common-prepare-release-plan\nlicense: MIT\nmetadata:\n  version: \"1.0.0\"\n  distribution: shared\ndescription: 'Create, get, update, abandon, and link SDK PRs to release plan work items for Azure SDK releases. **UTILITY SKILL**. USE FOR: \"create release plan\", \"get release plan\", \"update release plan\", \"update API spec in release plan\", \"update SDK details in release plan\", \"abandon release plan\", \"link SDK PR to plan\", \"namespace approval\", \"check release plan status\". DO NOT USE FOR: SDK code generation, pipeline troubleshooting, API review feedback. INVOKES: azure-sdk-mcp:azsdk_create_release_plan, azure-sdk-mcp:azsdk_get_release_plan, azure-sdk-mcp:azsdk_get_release_plan_for_spec_pr, azure-sdk-mcp:azsdk_update_release_plan, azure-sdk-mcp:azsdk_update_api_spec_pull_request_in_release_plan, azure-sdk-mcp:azsdk_update_sdk_details_in_release_plan, azure-sdk-mcp:azsdk_abandon_release_plan, azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan, azure-sdk-mcp:azsdk_link_namespace_approval_issue.'\ncompatibility: \"azure-sdk-mcp server, API spec PR in Azure\u002Fazure-rest-api-specs\"\n---\n\n# Prepare Release Plan\n\nThis skill creates, gets, updates, abandons, and links SDK PRs to release plan work items for Azure SDK releases, helping gather required release data, validate spec inputs, and link related approvals or SDK pull requests without exposing internal work item URLs.\n\n## Triggers\n\nUSE FOR: create release plan, get release plan, update release plan, update API spec in release plan, update SDK details in release plan, abandon release plan, link SDK PR to plan, namespace approval, check release plan status\nWHEN: \"create release plan\", \"get release plan\", \"update release plan\", \"abandon release plan\", \"link SDK PR to plan\", \"namespace approval\", \"check release plan status\"\nDO NOT USE FOR: SDK code generation, pipeline troubleshooting, API review feedback\n\n## Rules\n\n- Do not display Azure DevOps work item URLs; only provide the Release Plan Link and ID.\n- Require an API spec PR link or a TypeSpec project path before creating or updating a plan.\n- Validate that the spec PR repository matches the requested API release type before creation.\n- Release plan tools accept **either** a Release Plan ID or an Azure DevOps work item ID — pass whichever the user provides. Each tool resolves the value automatically (trying it as a Release Plan ID first, then as a work item ID), so you do not need to call `azure-sdk-mcp:azsdk_get_release_plan` first just to translate one ID into the other.\n\n## MCP Tools\n\n| Tool                                                               | Purpose                            |\n| ------------------------------------------------------------------ | ---------------------------------- |\n| `azure-sdk-mcp:azsdk_create_release_plan`                          | Create a new release plan          |\n| `azure-sdk-mcp:azsdk_get_release_plan`                             | Get release plan details by ID     |\n| `azure-sdk-mcp:azsdk_get_release_plan_for_spec_pr`                 | Find release plan by spec PR URL   |\n| `azure-sdk-mcp:azsdk_update_release_plan`                          | Update release plan metadata       |\n| `azure-sdk-mcp:azsdk_update_api_spec_pull_request_in_release_plan` | Update API spec PR URL in plan     |\n| `azure-sdk-mcp:azsdk_update_sdk_details_in_release_plan`           | Update SDK\u002Fpackage details in plan |\n| `azure-sdk-mcp:azsdk_abandon_release_plan`                         | Abandon a release plan             |\n| `azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan`        | Link SDK PR to release plan        |\n| `azure-sdk-mcp:azsdk_link_namespace_approval_issue`                | Link namespace approval issue      |\n\n---\n\n## Use Cases\n\n### 1. Create Release Plan\n\n**When**: User wants to create a release plan for a TypeSpec project.\n\n**Steps**:\n\n1. **Get TypeSpec Project Path** — Ask the user for the relative TypeSpec project path (directory containing `tspconfig.yaml`, e.g. `specification\u002Fcontosowidgetmanager\u002FContoso.WidgetManager`). Always use the relative path from the repo root, not an absolute path.\n2. **Check Existing** — Run `azure-sdk-mcp:azsdk_get_release_plan` with the relative `typeSpecProjectPath` to check if a release plan already exists.\n   - If a release plan exists with the **same API release type** the user requested: inform the user that a release plan already exists, show the Release Plan ID, status, and API release type. Suggest the user use the existing release plan. Do NOT create a new one.\n   - If a release plan exists but for a **different API release type**: inform the user about the existing plan and its API release type, then proceed to create a new release plan using `forceCreateReleasePlan: true` for the user's requested API release type. Do NOT attempt to update the existing release plan's API release type.\n   - If no release plan exists, proceed to step 3.\n3. **Gather Info** — Collect required details from the user. See [details](references\u002Frelease-plan-details.md):\n   - Target release month\u002Fyear (format: \"Month YYYY\", e.g. \"June 2026\"). Do NOT use formats like \"2026-06\" or \"06\u002F2026\" — these are invalid.\n   - API release type: Value must be one of the following: \"Private Preview\", \"Public Preview\", or \"GA\"\n   - SDK release type: Value must be \"beta\" or \"stable\" — always ask the user explicitly\n   - Spec PR URL (optional)\n   - Service Tree ID (GUID) — optional if previously created\n   - Product Tree ID (GUID) — optional if previously created\n4. **Create** — Run `azure-sdk-mcp:azsdk_create_release_plan` with the collected parameters including `sdkReleaseType`. Use `forceCreateReleasePlan: true` only if an existing release plan was found for a different API release type.\n5. **Namespace** — For first management plane releases, link namespace approval issue using `azure-sdk-mcp:azsdk_link_namespace_approval_issue`.\n\n> **IMPORTANT**: Do NOT default the API release type value as the SDK release type. These are separate fields — always ask the user explicitly for the SDK release type.\n>\n> **IMPORTANT**: Do NOT update an existing release plan to change its API release type. If a release plan exists for a different API release type, force-create a new one instead.\n\n**Tool**: `azure-sdk-mcp:azsdk_create_release_plan`\n\n---\n\n### 2. Get Release Plan\n\n**When**: User wants to check the status or details of an existing release plan.\n\n**Steps**:\n\n1. **Identify Plan** — Ask user for one of:\n   - Release plan ID or work item ID\n   - Relative TypeSpec project path (e.g. `specification\u002Fcontosowidgetmanager\u002FContoso.WidgetManager`)\n   - Spec PR URL\n2. **Query** — Run `azure-sdk-mcp:azsdk_get_release_plan` with the provided identifier (always use relative path for `typeSpecProjectPath`), OR run `azure-sdk-mcp:azsdk_get_release_plan_for_spec_pr` if only a spec PR URL is available.\n3. **Display** — Show the release plan ID, status, linked PRs, and SDK details.\n\n**Tools**: `azure-sdk-mcp:azsdk_get_release_plan`, `azure-sdk-mcp:azsdk_get_release_plan_for_spec_pr`\n\n---\n\n### 3. Update Release Plan \u002F Update API Spec in Release Plan\n\n**When**: User needs to update release plan metadata (spec PR URL, TypeSpec project path, SDK release type, service\u002Fproduct IDs) or update the API spec PR link.\n\n**Steps**:\n\n1. **Identify Plan** — Get the work item ID or TypeSpec project path from the user.\n2. **Update Metadata** — Run `azure-sdk-mcp:azsdk_update_release_plan` with:\n   - `typeSpecProjectPath` (required)\n   - `workItemId` (optional — resolved from TypeSpec path or spec PR if not provided)\n   - `specPullRequestUrl` (optional)\n   - `sdkReleaseType` (required — do NOT default this from API release type; always ask user explicitly)\n   - `serviceTreeId` (optional)\n   - `productTreeId` (optional)\n3. **Update API Spec PR** — If only the spec PR URL needs updating, run `azure-sdk-mcp:azsdk_update_api_spec_pull_request_in_release_plan` with:\n   - `specPullRequestUrl` (required)\n   - `workItemId` or `releasePlanId`\n\n**Tools**: `azure-sdk-mcp:azsdk_update_release_plan`, `azure-sdk-mcp:azsdk_update_api_spec_pull_request_in_release_plan`\n\n---\n\n### 4. Update SDK\u002FPackage Details in Release Plan\n\n**When**: User needs to update SDK language and package name details in the release plan after code generation or configuration changes.\n\n**Steps**:\n\n1. **Identify Plan** — Get the Release Plan ID or work item ID from the user (either is accepted).\n2. **Identify TypeSpec Project** — Get or confirm the TypeSpec project path.\n3. **Update** — Run `azure-sdk-mcp:azsdk_update_sdk_details_in_release_plan` with:\n   - `workItemId` (required — accepts either the Release Plan ID or the work item ID)\n   - `typeSpecProjectPath` (required)\n\n**Tool**: `azure-sdk-mcp:azsdk_update_sdk_details_in_release_plan`\n\n---\n\n### 5. Abandon a Release Plan\n\n**When**: User decides to cancel or discard a release plan that is no longer needed.\n\n**Steps**:\n\n1. **Identify Plan** — Get the work item ID or release plan ID from the user.\n2. **Confirm** — Ask user to confirm abandonment: \"Are you sure you want to abandon this release plan? This action updates the status to Abandoned.\"\n3. **Abandon** — Run `azure-sdk-mcp:azsdk_abandon_release_plan` with:\n   - `workItemId` or `releasePlanId`\n\n**Tool**: `azure-sdk-mcp:azsdk_abandon_release_plan`\n\n---\n\n### 6. Link SDK Pull Request to Release Plan\n\n**When**: SDK pull requests have been created and need to be associated with the release plan.\n\n**Steps**:\n\n1. **Identify Plan** — Get the Release Plan ID or work item ID from the user (either is accepted).\n2. **Collect PR Info** — Get the SDK pull request URL and language from the user.\n3. **Link** — Run `azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan` with:\n   - `pullRequestUrl` (required)\n   - `language` (required — e.g., \".NET\", \"Java\", \"JavaScript\", \"Python\", \"Go\")\n   - `workItemId` or `releasePlanId` (either accepts the Release Plan ID or the work item ID)\n4. **Repeat** — If multiple SDK PRs exist for different languages, repeat for each.\n\n**Tool**: `azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan`\n\n---\n\n## Examples\n\n- \"Create a release plan for my spec PR\"\n- \"Get the release plan for work item 12345\"\n- \"What is the status of my release plan?\"\n- \"Update the API spec PR in my release plan\"\n- \"Update SDK details in release plan 67890\"\n- \"Abandon release plan 11111\"\n- \"Link my SDK PR to release plan\"\n- \"Link Python SDK PR #100 to release plan 67890\"\n\n## Troubleshooting\n\n- Requires `azure-sdk-mcp` server; no CLI fallback — prompt user to configure MCP if unavailable.\n- If creation fails, verify spec PR URL and Service Tree IDs.\n- If update fails, ensure the Release Plan ID or work item ID is correct and the plan is not already abandoned.\n- If linking fails, verify the SDK PR URL is valid and the language matches a supported value.\n",{"data":36,"body":41},{"name":4,"license":27,"metadata":37,"description":6,"compatibility":40},{"version":38,"distribution":39},"1.0.0","shared","azure-sdk-mcp server, API spec PR in Azure\u002Fazure-rest-api-specs",{"type":42,"children":43},"root",[44,53,59,66,71,77,119,125,305,309,315,322,332,342,537,560,574,577,583,592,600,678,699,702,708,717,725,862,881,884,890,899,907,966,979,982,988,997,1005,1059,1072,1075,1081,1090,1098,1184,1197,1200,1206,1249,1255],{"type":45,"tag":46,"props":47,"children":49},"element","h1",{"id":48},"prepare-release-plan",[50],{"type":51,"value":52},"text","Prepare Release Plan",{"type":45,"tag":54,"props":55,"children":56},"p",{},[57],{"type":51,"value":58},"This skill creates, gets, updates, abandons, and links SDK PRs to release plan work items for Azure SDK releases, helping gather required release data, validate spec inputs, and link related approvals or SDK pull requests without exposing internal work item URLs.",{"type":45,"tag":60,"props":61,"children":63},"h2",{"id":62},"triggers",[64],{"type":51,"value":65},"Triggers",{"type":45,"tag":54,"props":67,"children":68},{},[69],{"type":51,"value":70},"USE FOR: create release plan, get release plan, update release plan, update API spec in release plan, update SDK details in release plan, abandon release plan, link SDK PR to plan, namespace approval, check release plan status\nWHEN: \"create release plan\", \"get release plan\", \"update release plan\", \"abandon release plan\", \"link SDK PR to plan\", \"namespace approval\", \"check release plan status\"\nDO NOT USE FOR: SDK code generation, pipeline troubleshooting, API review feedback",{"type":45,"tag":60,"props":72,"children":74},{"id":73},"rules",[75],{"type":51,"value":76},"Rules",{"type":45,"tag":78,"props":79,"children":80},"ul",{},[81,87,92,97],{"type":45,"tag":82,"props":83,"children":84},"li",{},[85],{"type":51,"value":86},"Do not display Azure DevOps work item URLs; only provide the Release Plan Link and ID.",{"type":45,"tag":82,"props":88,"children":89},{},[90],{"type":51,"value":91},"Require an API spec PR link or a TypeSpec project path before creating or updating a plan.",{"type":45,"tag":82,"props":93,"children":94},{},[95],{"type":51,"value":96},"Validate that the spec PR repository matches the requested API release type before creation.",{"type":45,"tag":82,"props":98,"children":99},{},[100,102,108,110,117],{"type":51,"value":101},"Release plan tools accept ",{"type":45,"tag":103,"props":104,"children":105},"strong",{},[106],{"type":51,"value":107},"either",{"type":51,"value":109}," a Release Plan ID or an Azure DevOps work item ID — pass whichever the user provides. Each tool resolves the value automatically (trying it as a Release Plan ID first, then as a work item ID), so you do not need to call ",{"type":45,"tag":111,"props":112,"children":114},"code",{"className":113},[],[115],{"type":51,"value":116},"azure-sdk-mcp:azsdk_get_release_plan",{"type":51,"value":118}," first just to translate one ID into the other.",{"type":45,"tag":60,"props":120,"children":122},{"id":121},"mcp-tools",[123],{"type":51,"value":124},"MCP Tools",{"type":45,"tag":126,"props":127,"children":128},"table",{},[129,148],{"type":45,"tag":130,"props":131,"children":132},"thead",{},[133],{"type":45,"tag":134,"props":135,"children":136},"tr",{},[137,143],{"type":45,"tag":138,"props":139,"children":140},"th",{},[141],{"type":51,"value":142},"Tool",{"type":45,"tag":138,"props":144,"children":145},{},[146],{"type":51,"value":147},"Purpose",{"type":45,"tag":149,"props":150,"children":151},"tbody",{},[152,170,186,203,220,237,254,271,288],{"type":45,"tag":134,"props":153,"children":154},{},[155,165],{"type":45,"tag":156,"props":157,"children":158},"td",{},[159],{"type":45,"tag":111,"props":160,"children":162},{"className":161},[],[163],{"type":51,"value":164},"azure-sdk-mcp:azsdk_create_release_plan",{"type":45,"tag":156,"props":166,"children":167},{},[168],{"type":51,"value":169},"Create a new release plan",{"type":45,"tag":134,"props":171,"children":172},{},[173,181],{"type":45,"tag":156,"props":174,"children":175},{},[176],{"type":45,"tag":111,"props":177,"children":179},{"className":178},[],[180],{"type":51,"value":116},{"type":45,"tag":156,"props":182,"children":183},{},[184],{"type":51,"value":185},"Get release plan details by ID",{"type":45,"tag":134,"props":187,"children":188},{},[189,198],{"type":45,"tag":156,"props":190,"children":191},{},[192],{"type":45,"tag":111,"props":193,"children":195},{"className":194},[],[196],{"type":51,"value":197},"azure-sdk-mcp:azsdk_get_release_plan_for_spec_pr",{"type":45,"tag":156,"props":199,"children":200},{},[201],{"type":51,"value":202},"Find release plan by spec PR URL",{"type":45,"tag":134,"props":204,"children":205},{},[206,215],{"type":45,"tag":156,"props":207,"children":208},{},[209],{"type":45,"tag":111,"props":210,"children":212},{"className":211},[],[213],{"type":51,"value":214},"azure-sdk-mcp:azsdk_update_release_plan",{"type":45,"tag":156,"props":216,"children":217},{},[218],{"type":51,"value":219},"Update release plan metadata",{"type":45,"tag":134,"props":221,"children":222},{},[223,232],{"type":45,"tag":156,"props":224,"children":225},{},[226],{"type":45,"tag":111,"props":227,"children":229},{"className":228},[],[230],{"type":51,"value":231},"azure-sdk-mcp:azsdk_update_api_spec_pull_request_in_release_plan",{"type":45,"tag":156,"props":233,"children":234},{},[235],{"type":51,"value":236},"Update API spec PR URL in plan",{"type":45,"tag":134,"props":238,"children":239},{},[240,249],{"type":45,"tag":156,"props":241,"children":242},{},[243],{"type":45,"tag":111,"props":244,"children":246},{"className":245},[],[247],{"type":51,"value":248},"azure-sdk-mcp:azsdk_update_sdk_details_in_release_plan",{"type":45,"tag":156,"props":250,"children":251},{},[252],{"type":51,"value":253},"Update SDK\u002Fpackage details in plan",{"type":45,"tag":134,"props":255,"children":256},{},[257,266],{"type":45,"tag":156,"props":258,"children":259},{},[260],{"type":45,"tag":111,"props":261,"children":263},{"className":262},[],[264],{"type":51,"value":265},"azure-sdk-mcp:azsdk_abandon_release_plan",{"type":45,"tag":156,"props":267,"children":268},{},[269],{"type":51,"value":270},"Abandon a release plan",{"type":45,"tag":134,"props":272,"children":273},{},[274,283],{"type":45,"tag":156,"props":275,"children":276},{},[277],{"type":45,"tag":111,"props":278,"children":280},{"className":279},[],[281],{"type":51,"value":282},"azure-sdk-mcp:azsdk_link_sdk_pull_request_to_release_plan",{"type":45,"tag":156,"props":284,"children":285},{},[286],{"type":51,"value":287},"Link SDK PR to release plan",{"type":45,"tag":134,"props":289,"children":290},{},[291,300],{"type":45,"tag":156,"props":292,"children":293},{},[294],{"type":45,"tag":111,"props":295,"children":297},{"className":296},[],[298],{"type":51,"value":299},"azure-sdk-mcp:azsdk_link_namespace_approval_issue",{"type":45,"tag":156,"props":301,"children":302},{},[303],{"type":51,"value":304},"Link namespace approval issue",{"type":45,"tag":306,"props":307,"children":308},"hr",{},[],{"type":45,"tag":60,"props":310,"children":312},{"id":311},"use-cases",[313],{"type":51,"value":314},"Use Cases",{"type":45,"tag":316,"props":317,"children":319},"h3",{"id":318},"_1-create-release-plan",[320],{"type":51,"value":321},"1. Create Release Plan",{"type":45,"tag":54,"props":323,"children":324},{},[325,330],{"type":45,"tag":103,"props":326,"children":327},{},[328],{"type":51,"value":329},"When",{"type":51,"value":331},": User wants to create a release plan for a TypeSpec project.",{"type":45,"tag":54,"props":333,"children":334},{},[335,340],{"type":45,"tag":103,"props":336,"children":337},{},[338],{"type":51,"value":339},"Steps",{"type":51,"value":341},":",{"type":45,"tag":343,"props":344,"children":345},"ol",{},[346,372,437,489,520],{"type":45,"tag":82,"props":347,"children":348},{},[349,354,356,362,364,370],{"type":45,"tag":103,"props":350,"children":351},{},[352],{"type":51,"value":353},"Get TypeSpec Project Path",{"type":51,"value":355}," — Ask the user for the relative TypeSpec project path (directory containing ",{"type":45,"tag":111,"props":357,"children":359},{"className":358},[],[360],{"type":51,"value":361},"tspconfig.yaml",{"type":51,"value":363},", e.g. ",{"type":45,"tag":111,"props":365,"children":367},{"className":366},[],[368],{"type":51,"value":369},"specification\u002Fcontosowidgetmanager\u002FContoso.WidgetManager",{"type":51,"value":371},"). Always use the relative path from the repo root, not an absolute path.",{"type":45,"tag":82,"props":373,"children":374},{},[375,380,382,387,389,395,397],{"type":45,"tag":103,"props":376,"children":377},{},[378],{"type":51,"value":379},"Check Existing",{"type":51,"value":381}," — Run ",{"type":45,"tag":111,"props":383,"children":385},{"className":384},[],[386],{"type":51,"value":116},{"type":51,"value":388}," with the relative ",{"type":45,"tag":111,"props":390,"children":392},{"className":391},[],[393],{"type":51,"value":394},"typeSpecProjectPath",{"type":51,"value":396}," to check if a release plan already exists.\n",{"type":45,"tag":78,"props":398,"children":399},{},[400,412,432],{"type":45,"tag":82,"props":401,"children":402},{},[403,405,410],{"type":51,"value":404},"If a release plan exists with the ",{"type":45,"tag":103,"props":406,"children":407},{},[408],{"type":51,"value":409},"same API release type",{"type":51,"value":411}," the user requested: inform the user that a release plan already exists, show the Release Plan ID, status, and API release type. Suggest the user use the existing release plan. Do NOT create a new one.",{"type":45,"tag":82,"props":413,"children":414},{},[415,417,422,424,430],{"type":51,"value":416},"If a release plan exists but for a ",{"type":45,"tag":103,"props":418,"children":419},{},[420],{"type":51,"value":421},"different API release type",{"type":51,"value":423},": inform the user about the existing plan and its API release type, then proceed to create a new release plan using ",{"type":45,"tag":111,"props":425,"children":427},{"className":426},[],[428],{"type":51,"value":429},"forceCreateReleasePlan: true",{"type":51,"value":431}," for the user's requested API release type. Do NOT attempt to update the existing release plan's API release type.",{"type":45,"tag":82,"props":433,"children":434},{},[435],{"type":51,"value":436},"If no release plan exists, proceed to step 3.",{"type":45,"tag":82,"props":438,"children":439},{},[440,445,447,454,456],{"type":45,"tag":103,"props":441,"children":442},{},[443],{"type":51,"value":444},"Gather Info",{"type":51,"value":446}," — Collect required details from the user. See ",{"type":45,"tag":448,"props":449,"children":451},"a",{"href":450},"references\u002Frelease-plan-details.md",[452],{"type":51,"value":453},"details",{"type":51,"value":455},":\n",{"type":45,"tag":78,"props":457,"children":458},{},[459,464,469,474,479,484],{"type":45,"tag":82,"props":460,"children":461},{},[462],{"type":51,"value":463},"Target release month\u002Fyear (format: \"Month YYYY\", e.g. \"June 2026\"). Do NOT use formats like \"2026-06\" or \"06\u002F2026\" — these are invalid.",{"type":45,"tag":82,"props":465,"children":466},{},[467],{"type":51,"value":468},"API release type: Value must be one of the following: \"Private Preview\", \"Public Preview\", or \"GA\"",{"type":45,"tag":82,"props":470,"children":471},{},[472],{"type":51,"value":473},"SDK release type: Value must be \"beta\" or \"stable\" — always ask the user explicitly",{"type":45,"tag":82,"props":475,"children":476},{},[477],{"type":51,"value":478},"Spec PR URL (optional)",{"type":45,"tag":82,"props":480,"children":481},{},[482],{"type":51,"value":483},"Service Tree ID (GUID) — optional if previously created",{"type":45,"tag":82,"props":485,"children":486},{},[487],{"type":51,"value":488},"Product Tree ID (GUID) — optional if previously created",{"type":45,"tag":82,"props":490,"children":491},{},[492,497,498,503,505,511,513,518],{"type":45,"tag":103,"props":493,"children":494},{},[495],{"type":51,"value":496},"Create",{"type":51,"value":381},{"type":45,"tag":111,"props":499,"children":501},{"className":500},[],[502],{"type":51,"value":164},{"type":51,"value":504}," with the collected parameters including ",{"type":45,"tag":111,"props":506,"children":508},{"className":507},[],[509],{"type":51,"value":510},"sdkReleaseType",{"type":51,"value":512},". Use ",{"type":45,"tag":111,"props":514,"children":516},{"className":515},[],[517],{"type":51,"value":429},{"type":51,"value":519}," only if an existing release plan was found for a different API release type.",{"type":45,"tag":82,"props":521,"children":522},{},[523,528,530,535],{"type":45,"tag":103,"props":524,"children":525},{},[526],{"type":51,"value":527},"Namespace",{"type":51,"value":529}," — For first management plane releases, link namespace approval issue using ",{"type":45,"tag":111,"props":531,"children":533},{"className":532},[],[534],{"type":51,"value":299},{"type":51,"value":536},".",{"type":45,"tag":538,"props":539,"children":540},"blockquote",{},[541,551],{"type":45,"tag":54,"props":542,"children":543},{},[544,549],{"type":45,"tag":103,"props":545,"children":546},{},[547],{"type":51,"value":548},"IMPORTANT",{"type":51,"value":550},": Do NOT default the API release type value as the SDK release type. These are separate fields — always ask the user explicitly for the SDK release type.",{"type":45,"tag":54,"props":552,"children":553},{},[554,558],{"type":45,"tag":103,"props":555,"children":556},{},[557],{"type":51,"value":548},{"type":51,"value":559},": Do NOT update an existing release plan to change its API release type. If a release plan exists for a different API release type, force-create a new one instead.",{"type":45,"tag":54,"props":561,"children":562},{},[563,567,569],{"type":45,"tag":103,"props":564,"children":565},{},[566],{"type":51,"value":142},{"type":51,"value":568},": ",{"type":45,"tag":111,"props":570,"children":572},{"className":571},[],[573],{"type":51,"value":164},{"type":45,"tag":306,"props":575,"children":576},{},[],{"type":45,"tag":316,"props":578,"children":580},{"id":579},"_2-get-release-plan",[581],{"type":51,"value":582},"2. Get Release Plan",{"type":45,"tag":54,"props":584,"children":585},{},[586,590],{"type":45,"tag":103,"props":587,"children":588},{},[589],{"type":51,"value":329},{"type":51,"value":591},": User wants to check the status or details of an existing release plan.",{"type":45,"tag":54,"props":593,"children":594},{},[595,599],{"type":45,"tag":103,"props":596,"children":597},{},[598],{"type":51,"value":339},{"type":51,"value":341},{"type":45,"tag":343,"props":601,"children":602},{},[603,638,668],{"type":45,"tag":82,"props":604,"children":605},{},[606,611,613],{"type":45,"tag":103,"props":607,"children":608},{},[609],{"type":51,"value":610},"Identify Plan",{"type":51,"value":612}," — Ask user for one of:\n",{"type":45,"tag":78,"props":614,"children":615},{},[616,621,633],{"type":45,"tag":82,"props":617,"children":618},{},[619],{"type":51,"value":620},"Release plan ID or work item ID",{"type":45,"tag":82,"props":622,"children":623},{},[624,626,631],{"type":51,"value":625},"Relative TypeSpec project path (e.g. ",{"type":45,"tag":111,"props":627,"children":629},{"className":628},[],[630],{"type":51,"value":369},{"type":51,"value":632},")",{"type":45,"tag":82,"props":634,"children":635},{},[636],{"type":51,"value":637},"Spec PR URL",{"type":45,"tag":82,"props":639,"children":640},{},[641,646,647,652,654,659,661,666],{"type":45,"tag":103,"props":642,"children":643},{},[644],{"type":51,"value":645},"Query",{"type":51,"value":381},{"type":45,"tag":111,"props":648,"children":650},{"className":649},[],[651],{"type":51,"value":116},{"type":51,"value":653}," with the provided identifier (always use relative path for ",{"type":45,"tag":111,"props":655,"children":657},{"className":656},[],[658],{"type":51,"value":394},{"type":51,"value":660},"), OR run ",{"type":45,"tag":111,"props":662,"children":664},{"className":663},[],[665],{"type":51,"value":197},{"type":51,"value":667}," if only a spec PR URL is available.",{"type":45,"tag":82,"props":669,"children":670},{},[671,676],{"type":45,"tag":103,"props":672,"children":673},{},[674],{"type":51,"value":675},"Display",{"type":51,"value":677}," — Show the release plan ID, status, linked PRs, and SDK details.",{"type":45,"tag":54,"props":679,"children":680},{},[681,686,687,692,694],{"type":45,"tag":103,"props":682,"children":683},{},[684],{"type":51,"value":685},"Tools",{"type":51,"value":568},{"type":45,"tag":111,"props":688,"children":690},{"className":689},[],[691],{"type":51,"value":116},{"type":51,"value":693},", ",{"type":45,"tag":111,"props":695,"children":697},{"className":696},[],[698],{"type":51,"value":197},{"type":45,"tag":306,"props":700,"children":701},{},[],{"type":45,"tag":316,"props":703,"children":705},{"id":704},"_3-update-release-plan-update-api-spec-in-release-plan",[706],{"type":51,"value":707},"3. Update Release Plan \u002F Update API Spec in Release Plan",{"type":45,"tag":54,"props":709,"children":710},{},[711,715],{"type":45,"tag":103,"props":712,"children":713},{},[714],{"type":51,"value":329},{"type":51,"value":716},": User needs to update release plan metadata (spec PR URL, TypeSpec project path, SDK release type, service\u002Fproduct IDs) or update the API spec PR link.",{"type":45,"tag":54,"props":718,"children":719},{},[720,724],{"type":45,"tag":103,"props":721,"children":722},{},[723],{"type":51,"value":339},{"type":51,"value":341},{"type":45,"tag":343,"props":726,"children":727},{},[728,737,818],{"type":45,"tag":82,"props":729,"children":730},{},[731,735],{"type":45,"tag":103,"props":732,"children":733},{},[734],{"type":51,"value":610},{"type":51,"value":736}," — Get the work item ID or TypeSpec project path from the user.",{"type":45,"tag":82,"props":738,"children":739},{},[740,745,746,751,753],{"type":45,"tag":103,"props":741,"children":742},{},[743],{"type":51,"value":744},"Update Metadata",{"type":51,"value":381},{"type":45,"tag":111,"props":747,"children":749},{"className":748},[],[750],{"type":51,"value":214},{"type":51,"value":752}," with:\n",{"type":45,"tag":78,"props":754,"children":755},{},[756,766,777,788,798,808],{"type":45,"tag":82,"props":757,"children":758},{},[759,764],{"type":45,"tag":111,"props":760,"children":762},{"className":761},[],[763],{"type":51,"value":394},{"type":51,"value":765}," (required)",{"type":45,"tag":82,"props":767,"children":768},{},[769,775],{"type":45,"tag":111,"props":770,"children":772},{"className":771},[],[773],{"type":51,"value":774},"workItemId",{"type":51,"value":776}," (optional — resolved from TypeSpec path or spec PR if not provided)",{"type":45,"tag":82,"props":778,"children":779},{},[780,786],{"type":45,"tag":111,"props":781,"children":783},{"className":782},[],[784],{"type":51,"value":785},"specPullRequestUrl",{"type":51,"value":787}," (optional)",{"type":45,"tag":82,"props":789,"children":790},{},[791,796],{"type":45,"tag":111,"props":792,"children":794},{"className":793},[],[795],{"type":51,"value":510},{"type":51,"value":797}," (required — do NOT default this from API release type; always ask user explicitly)",{"type":45,"tag":82,"props":799,"children":800},{},[801,807],{"type":45,"tag":111,"props":802,"children":804},{"className":803},[],[805],{"type":51,"value":806},"serviceTreeId",{"type":51,"value":787},{"type":45,"tag":82,"props":809,"children":810},{},[811,817],{"type":45,"tag":111,"props":812,"children":814},{"className":813},[],[815],{"type":51,"value":816},"productTreeId",{"type":51,"value":787},{"type":45,"tag":82,"props":819,"children":820},{},[821,826,828,833,834],{"type":45,"tag":103,"props":822,"children":823},{},[824],{"type":51,"value":825},"Update API Spec PR",{"type":51,"value":827}," — If only the spec PR URL needs updating, run ",{"type":45,"tag":111,"props":829,"children":831},{"className":830},[],[832],{"type":51,"value":231},{"type":51,"value":752},{"type":45,"tag":78,"props":835,"children":836},{},[837,846],{"type":45,"tag":82,"props":838,"children":839},{},[840,845],{"type":45,"tag":111,"props":841,"children":843},{"className":842},[],[844],{"type":51,"value":785},{"type":51,"value":765},{"type":45,"tag":82,"props":847,"children":848},{},[849,854,856],{"type":45,"tag":111,"props":850,"children":852},{"className":851},[],[853],{"type":51,"value":774},{"type":51,"value":855}," or ",{"type":45,"tag":111,"props":857,"children":859},{"className":858},[],[860],{"type":51,"value":861},"releasePlanId",{"type":45,"tag":54,"props":863,"children":864},{},[865,869,870,875,876],{"type":45,"tag":103,"props":866,"children":867},{},[868],{"type":51,"value":685},{"type":51,"value":568},{"type":45,"tag":111,"props":871,"children":873},{"className":872},[],[874],{"type":51,"value":214},{"type":51,"value":693},{"type":45,"tag":111,"props":877,"children":879},{"className":878},[],[880],{"type":51,"value":231},{"type":45,"tag":306,"props":882,"children":883},{},[],{"type":45,"tag":316,"props":885,"children":887},{"id":886},"_4-update-sdkpackage-details-in-release-plan",[888],{"type":51,"value":889},"4. Update SDK\u002FPackage Details in Release Plan",{"type":45,"tag":54,"props":891,"children":892},{},[893,897],{"type":45,"tag":103,"props":894,"children":895},{},[896],{"type":51,"value":329},{"type":51,"value":898},": User needs to update SDK language and package name details in the release plan after code generation or configuration changes.",{"type":45,"tag":54,"props":900,"children":901},{},[902,906],{"type":45,"tag":103,"props":903,"children":904},{},[905],{"type":51,"value":339},{"type":51,"value":341},{"type":45,"tag":343,"props":908,"children":909},{},[910,919,929],{"type":45,"tag":82,"props":911,"children":912},{},[913,917],{"type":45,"tag":103,"props":914,"children":915},{},[916],{"type":51,"value":610},{"type":51,"value":918}," — Get the Release Plan ID or work item ID from the user (either is accepted).",{"type":45,"tag":82,"props":920,"children":921},{},[922,927],{"type":45,"tag":103,"props":923,"children":924},{},[925],{"type":51,"value":926},"Identify TypeSpec Project",{"type":51,"value":928}," — Get or confirm the TypeSpec project path.",{"type":45,"tag":82,"props":930,"children":931},{},[932,937,938,943,944],{"type":45,"tag":103,"props":933,"children":934},{},[935],{"type":51,"value":936},"Update",{"type":51,"value":381},{"type":45,"tag":111,"props":939,"children":941},{"className":940},[],[942],{"type":51,"value":248},{"type":51,"value":752},{"type":45,"tag":78,"props":945,"children":946},{},[947,957],{"type":45,"tag":82,"props":948,"children":949},{},[950,955],{"type":45,"tag":111,"props":951,"children":953},{"className":952},[],[954],{"type":51,"value":774},{"type":51,"value":956}," (required — accepts either the Release Plan ID or the work item ID)",{"type":45,"tag":82,"props":958,"children":959},{},[960,965],{"type":45,"tag":111,"props":961,"children":963},{"className":962},[],[964],{"type":51,"value":394},{"type":51,"value":765},{"type":45,"tag":54,"props":967,"children":968},{},[969,973,974],{"type":45,"tag":103,"props":970,"children":971},{},[972],{"type":51,"value":142},{"type":51,"value":568},{"type":45,"tag":111,"props":975,"children":977},{"className":976},[],[978],{"type":51,"value":248},{"type":45,"tag":306,"props":980,"children":981},{},[],{"type":45,"tag":316,"props":983,"children":985},{"id":984},"_5-abandon-a-release-plan",[986],{"type":51,"value":987},"5. Abandon a Release Plan",{"type":45,"tag":54,"props":989,"children":990},{},[991,995],{"type":45,"tag":103,"props":992,"children":993},{},[994],{"type":51,"value":329},{"type":51,"value":996},": User decides to cancel or discard a release plan that is no longer needed.",{"type":45,"tag":54,"props":998,"children":999},{},[1000,1004],{"type":45,"tag":103,"props":1001,"children":1002},{},[1003],{"type":51,"value":339},{"type":51,"value":341},{"type":45,"tag":343,"props":1006,"children":1007},{},[1008,1017,1027],{"type":45,"tag":82,"props":1009,"children":1010},{},[1011,1015],{"type":45,"tag":103,"props":1012,"children":1013},{},[1014],{"type":51,"value":610},{"type":51,"value":1016}," — Get the work item ID or release plan ID from the user.",{"type":45,"tag":82,"props":1018,"children":1019},{},[1020,1025],{"type":45,"tag":103,"props":1021,"children":1022},{},[1023],{"type":51,"value":1024},"Confirm",{"type":51,"value":1026}," — Ask user to confirm abandonment: \"Are you sure you want to abandon this release plan? This action updates the status to Abandoned.\"",{"type":45,"tag":82,"props":1028,"children":1029},{},[1030,1035,1036,1041,1042],{"type":45,"tag":103,"props":1031,"children":1032},{},[1033],{"type":51,"value":1034},"Abandon",{"type":51,"value":381},{"type":45,"tag":111,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":51,"value":265},{"type":51,"value":752},{"type":45,"tag":78,"props":1043,"children":1044},{},[1045],{"type":45,"tag":82,"props":1046,"children":1047},{},[1048,1053,1054],{"type":45,"tag":111,"props":1049,"children":1051},{"className":1050},[],[1052],{"type":51,"value":774},{"type":51,"value":855},{"type":45,"tag":111,"props":1055,"children":1057},{"className":1056},[],[1058],{"type":51,"value":861},{"type":45,"tag":54,"props":1060,"children":1061},{},[1062,1066,1067],{"type":45,"tag":103,"props":1063,"children":1064},{},[1065],{"type":51,"value":142},{"type":51,"value":568},{"type":45,"tag":111,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":51,"value":265},{"type":45,"tag":306,"props":1073,"children":1074},{},[],{"type":45,"tag":316,"props":1076,"children":1078},{"id":1077},"_6-link-sdk-pull-request-to-release-plan",[1079],{"type":51,"value":1080},"6. Link SDK Pull Request to Release Plan",{"type":45,"tag":54,"props":1082,"children":1083},{},[1084,1088],{"type":45,"tag":103,"props":1085,"children":1086},{},[1087],{"type":51,"value":329},{"type":51,"value":1089},": SDK pull requests have been created and need to be associated with the release plan.",{"type":45,"tag":54,"props":1091,"children":1092},{},[1093,1097],{"type":45,"tag":103,"props":1094,"children":1095},{},[1096],{"type":51,"value":339},{"type":51,"value":341},{"type":45,"tag":343,"props":1099,"children":1100},{},[1101,1109,1119,1174],{"type":45,"tag":82,"props":1102,"children":1103},{},[1104,1108],{"type":45,"tag":103,"props":1105,"children":1106},{},[1107],{"type":51,"value":610},{"type":51,"value":918},{"type":45,"tag":82,"props":1110,"children":1111},{},[1112,1117],{"type":45,"tag":103,"props":1113,"children":1114},{},[1115],{"type":51,"value":1116},"Collect PR Info",{"type":51,"value":1118}," — Get the SDK pull request URL and language from the user.",{"type":45,"tag":82,"props":1120,"children":1121},{},[1122,1127,1128,1133,1134],{"type":45,"tag":103,"props":1123,"children":1124},{},[1125],{"type":51,"value":1126},"Link",{"type":51,"value":381},{"type":45,"tag":111,"props":1129,"children":1131},{"className":1130},[],[1132],{"type":51,"value":282},{"type":51,"value":752},{"type":45,"tag":78,"props":1135,"children":1136},{},[1137,1147,1158],{"type":45,"tag":82,"props":1138,"children":1139},{},[1140,1146],{"type":45,"tag":111,"props":1141,"children":1143},{"className":1142},[],[1144],{"type":51,"value":1145},"pullRequestUrl",{"type":51,"value":765},{"type":45,"tag":82,"props":1148,"children":1149},{},[1150,1156],{"type":45,"tag":111,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":51,"value":1155},"language",{"type":51,"value":1157}," (required — e.g., \".NET\", \"Java\", \"JavaScript\", \"Python\", \"Go\")",{"type":45,"tag":82,"props":1159,"children":1160},{},[1161,1166,1167,1172],{"type":45,"tag":111,"props":1162,"children":1164},{"className":1163},[],[1165],{"type":51,"value":774},{"type":51,"value":855},{"type":45,"tag":111,"props":1168,"children":1170},{"className":1169},[],[1171],{"type":51,"value":861},{"type":51,"value":1173}," (either accepts the Release Plan ID or the work item ID)",{"type":45,"tag":82,"props":1175,"children":1176},{},[1177,1182],{"type":45,"tag":103,"props":1178,"children":1179},{},[1180],{"type":51,"value":1181},"Repeat",{"type":51,"value":1183}," — If multiple SDK PRs exist for different languages, repeat for each.",{"type":45,"tag":54,"props":1185,"children":1186},{},[1187,1191,1192],{"type":45,"tag":103,"props":1188,"children":1189},{},[1190],{"type":51,"value":142},{"type":51,"value":568},{"type":45,"tag":111,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":51,"value":282},{"type":45,"tag":306,"props":1198,"children":1199},{},[],{"type":45,"tag":60,"props":1201,"children":1203},{"id":1202},"examples",[1204],{"type":51,"value":1205},"Examples",{"type":45,"tag":78,"props":1207,"children":1208},{},[1209,1214,1219,1224,1229,1234,1239,1244],{"type":45,"tag":82,"props":1210,"children":1211},{},[1212],{"type":51,"value":1213},"\"Create a release plan for my spec PR\"",{"type":45,"tag":82,"props":1215,"children":1216},{},[1217],{"type":51,"value":1218},"\"Get the release plan for work item 12345\"",{"type":45,"tag":82,"props":1220,"children":1221},{},[1222],{"type":51,"value":1223},"\"What is the status of my release plan?\"",{"type":45,"tag":82,"props":1225,"children":1226},{},[1227],{"type":51,"value":1228},"\"Update the API spec PR in my release plan\"",{"type":45,"tag":82,"props":1230,"children":1231},{},[1232],{"type":51,"value":1233},"\"Update SDK details in release plan 67890\"",{"type":45,"tag":82,"props":1235,"children":1236},{},[1237],{"type":51,"value":1238},"\"Abandon release plan 11111\"",{"type":45,"tag":82,"props":1240,"children":1241},{},[1242],{"type":51,"value":1243},"\"Link my SDK PR to release plan\"",{"type":45,"tag":82,"props":1245,"children":1246},{},[1247],{"type":51,"value":1248},"\"Link Python SDK PR #100 to release plan 67890\"",{"type":45,"tag":60,"props":1250,"children":1252},{"id":1251},"troubleshooting",[1253],{"type":51,"value":1254},"Troubleshooting",{"type":45,"tag":78,"props":1256,"children":1257},{},[1258,1271,1276,1281],{"type":45,"tag":82,"props":1259,"children":1260},{},[1261,1263,1269],{"type":51,"value":1262},"Requires ",{"type":45,"tag":111,"props":1264,"children":1266},{"className":1265},[],[1267],{"type":51,"value":1268},"azure-sdk-mcp",{"type":51,"value":1270}," server; no CLI fallback — prompt user to configure MCP if unavailable.",{"type":45,"tag":82,"props":1272,"children":1273},{},[1274],{"type":51,"value":1275},"If creation fails, verify spec PR URL and Service Tree IDs.",{"type":45,"tag":82,"props":1277,"children":1278},{},[1279],{"type":51,"value":1280},"If update fails, ensure the Release Plan ID or work item ID is correct and the plan is not already abandoned.",{"type":45,"tag":82,"props":1282,"children":1283},{},[1284],{"type":51,"value":1285},"If linking fails, verify the SDK PR URL is valid and the language matches a supported value.",{"items":1287,"total":1380},[1288,1305,1320,1327,1340,1355,1366],{"slug":1289,"name":1289,"fn":1290,"description":1291,"org":1292,"tags":1293,"stars":24,"repoUrl":25,"updatedAt":1304},"apiview-feedback-resolution","resolve APIView feedback on Azure SDKs","Analyze and resolve APIView review feedback on Azure SDK PRs. **UTILITY SKILL**. USE FOR: APIView comments, API review feedback, SDK API surface changes. DO NOT USE FOR: general code review, non-APIView feedback. INVOKES: azure-sdk-mcp:azsdk_apiview_get_comments, azure-sdk-mcp:azsdk_typespec_customized_code_update.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1294,1297,1298,1301],{"name":1295,"slug":1296,"type":14},"API Development","api-development",{"name":11,"slug":8,"type":14},{"name":1299,"slug":1300,"type":14},"Code Review","code-review",{"name":1302,"slug":1303,"type":14},"Documentation","documentation","2026-07-12T08:17:43.350876",{"slug":1306,"name":1306,"fn":1307,"description":1308,"org":1309,"tags":1310,"stars":24,"repoUrl":25,"updatedAt":1319},"azsdk-common-live-and-recorded-tests","deploy resources and run Azure SDK tests","Deploy test resources and run Azure SDK tests in live, record, or playback mode. WHEN: \"run live tests\", \"run recorded tests\", \"deploy test resources\", \"record tests\", \"run tests in record mode\", \"clean up test resources\", \"run tests against live resources\". DO NOT USE FOR: writing new tests, authoring Bicep templates, playback-only test runs without resource deployment. INVOKES: azure-sdk-mcp:azsdk_package_run_tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1311,1312,1315,1316],{"name":11,"slug":8,"type":14},{"name":1313,"slug":1314,"type":14},"Deployment","deployment",{"name":22,"slug":23,"type":14},{"name":1317,"slug":1318,"type":14},"Testing","testing","2026-07-12T08:17:44.718943",{"slug":4,"name":4,"fn":5,"description":6,"org":1321,"tags":1322,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1323,1324,1325,1326],{"name":11,"slug":8,"type":14},{"name":16,"slug":17,"type":14},{"name":19,"slug":20,"type":14},{"name":22,"slug":23,"type":14},{"slug":1328,"name":1328,"fn":1329,"description":1330,"org":1331,"tags":1332,"stars":24,"repoUrl":25,"updatedAt":1339},"azsdk-common-sdk-release","release Azure SDK packages","Check release readiness and trigger the release pipeline for Azure SDK packages. **UTILITY SKILL**. USE FOR: \"release SDK\", \"trigger release\", \"check release readiness\", \"release pipeline\", \"publish package\", \"ship SDK\". DO NOT USE FOR: SDK development, code generation, pipeline debugging, release plan creation. INVOKES: azure-sdk-mcp:azsdk_release_sdk.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1333,1334,1337,1338],{"name":11,"slug":8,"type":14},{"name":1335,"slug":1336,"type":14},"CI\u002FCD","ci-cd",{"name":1313,"slug":1314,"type":14},{"name":22,"slug":23,"type":14},"2026-07-12T08:17:34.27607",{"slug":1341,"name":1341,"fn":1342,"description":1343,"org":1344,"tags":1345,"stars":24,"repoUrl":25,"updatedAt":1354},"azure-typespec-author","author and modify Azure TypeSpec API specifications","Authors and modifies Azure TypeSpec (.tsp) API specifications. USE FOR: any TypeSpec\u002Ftsp change — api versions (add, bump, preview, stable, promote), resources, operations, models, properties, decorators, visibility, constraints, breaking changes, LRO, suppressions, operationId, spread model. Covers ARM resource-manager and data-plane 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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1346,1347,1348,1351],{"name":1295,"slug":1296,"type":14},{"name":11,"slug":8,"type":14},{"name":1349,"slug":1350,"type":14},"OpenAPI","openapi",{"name":1352,"slug":1353,"type":14},"Technical Writing","technical-writing","2026-07-12T08:17:39.603232",{"slug":1356,"name":1356,"fn":1357,"description":1358,"org":1359,"tags":1360,"stars":24,"repoUrl":25,"updatedAt":1365},"generate-sdk-locally","generate and test Azure SDKs locally","Generate, build, and test Azure SDKs locally from TypeSpec with automatic customization. WHEN: \"generate SDK locally\", \"build SDK\", \"run SDK tests\", \"run CI checks\", \"validate package\", \"run checks\", \"update changelog\", \"fix SDK build errors\", \"fix breaking changes\", \"resolve SDK generation errors\", \"customize TypeSpec\", \"rename SDK client\", \"rename SDK model\", \"hide operation from SDK\", \"fix analyzer errors\", \"resolve customization drift\", \"create subclient\", \"update metadata\", \"update version\". DO NOT USE FOR: publishing to package registries, CI pipeline configuration, API design review. INVOKES: azsdk_verify_setup, azsdk_package_generate_code, azsdk_package_build_code, azsdk_package_run_check, azsdk_package_run_tests, azsdk_customized_code_update, azsdk_package_update_changelog_content, azsdk_package_update_metadata, azsdk_package_update_version.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1361,1362,1363,1364],{"name":11,"slug":8,"type":14},{"name":1335,"slug":1336,"type":14},{"name":22,"slug":23,"type":14},{"name":1317,"slug":1318,"type":14},"2026-07-12T08:17:37.08523",{"slug":1367,"name":1367,"fn":1368,"description":1369,"org":1370,"tags":1371,"stars":24,"repoUrl":25,"updatedAt":1379},"markdown-token-optimizer","optimize markdown files for token efficiency","Analyze markdown files for token efficiency and reduce context-window bloat. **UTILITY SKILL**. DO NOT USE FOR: code optimization, general file editing, non-markdown files. TRIGGERS: optimize markdown, reduce tokens, token count, token bloat, too many tokens, make concise, shrink file, file too large, optimize for AI, token efficiency, verbose markdown, reduce file size. INVOKES: waza CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1372,1375,1378],{"name":1373,"slug":1374,"type":14},"LLM","llm",{"name":1376,"slug":1377,"type":14},"Performance","performance",{"name":1352,"slug":1353,"type":14},"2026-07-12T08:17:42.080413",10,{"items":1382,"total":1505},[1383,1402,1419,1426,1433,1440,1447,1454,1461,1467,1480,1493],{"slug":1384,"name":1384,"fn":1385,"description":1386,"org":1387,"tags":1388,"stars":1399,"repoUrl":1400,"updatedAt":1401},"azure-arg-external-evaluation-policy-author","author and test Azure Resource Graph policies","Use when the user wants to author, design, or test an Azure Policy that queries Azure Resource Graph (ARG) at request-time — i.e. a policy whose deny\u002Faudit decision depends on data from elsewhere in the subscription (sibling\u002Fparent resource state, RG-wide invariants, multi-hop relationships, etc.). Formally called Azure Policy External Evaluation; sometimes referred to colloquially as \"Invoke\". Drives an iterative KQL co-design loop against the user's real subscription via `az graph query`, then emits a policy definition, assignment, `.http` test flow, and an `EXPLANATION.md` companion. Read-only; never provisions anything.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1389,1390,1393,1396],{"name":11,"slug":8,"type":14},{"name":1391,"slug":1392,"type":14},"Compliance","compliance",{"name":1394,"slug":1395,"type":14},"Governance","governance",{"name":1397,"slug":1398,"type":14},"Policy","policy",1686,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-policy","2026-07-12T08:17:48.378432",{"slug":1403,"name":1403,"fn":1404,"description":1405,"org":1406,"tags":1407,"stars":1416,"repoUrl":1417,"updatedAt":1418},"azure-blueprints-migration","migrate Azure Blueprints to Template Specs","Use when a user needs to migrate off Azure Blueprints (definitions and\u002For assignments) to Template Specs and Deployment Stacks before the January 31, 2027 retirement. Covers inventory, export, conversion to Bicep, policy decoupling, Template Spec publishing, Deployment Stack deployment with deny-settings, validation, and cutover.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1408,1409,1410,1413],{"name":11,"slug":8,"type":14},{"name":1313,"slug":1314,"type":14},{"name":1411,"slug":1412,"type":14},"Infrastructure as Code","infrastructure-as-code",{"name":1414,"slug":1415,"type":14},"Migration","migration",260,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-blueprints","2026-07-12T08:17:49.646405",{"slug":1289,"name":1289,"fn":1290,"description":1291,"org":1420,"tags":1421,"stars":24,"repoUrl":25,"updatedAt":1304},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1422,1423,1424,1425],{"name":1295,"slug":1296,"type":14},{"name":11,"slug":8,"type":14},{"name":1299,"slug":1300,"type":14},{"name":1302,"slug":1303,"type":14},{"slug":1306,"name":1306,"fn":1307,"description":1308,"org":1427,"tags":1428,"stars":24,"repoUrl":25,"updatedAt":1319},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1429,1430,1431,1432],{"name":11,"slug":8,"type":14},{"name":1313,"slug":1314,"type":14},{"name":22,"slug":23,"type":14},{"name":1317,"slug":1318,"type":14},{"slug":4,"name":4,"fn":5,"description":6,"org":1434,"tags":1435,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1436,1437,1438,1439],{"name":11,"slug":8,"type":14},{"name":16,"slug":17,"type":14},{"name":19,"slug":20,"type":14},{"name":22,"slug":23,"type":14},{"slug":1328,"name":1328,"fn":1329,"description":1330,"org":1441,"tags":1442,"stars":24,"repoUrl":25,"updatedAt":1339},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1443,1444,1445,1446],{"name":11,"slug":8,"type":14},{"name":1335,"slug":1336,"type":14},{"name":1313,"slug":1314,"type":14},{"name":22,"slug":23,"type":14},{"slug":1341,"name":1341,"fn":1342,"description":1343,"org":1448,"tags":1449,"stars":24,"repoUrl":25,"updatedAt":1354},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1450,1451,1452,1453],{"name":1295,"slug":1296,"type":14},{"name":11,"slug":8,"type":14},{"name":1349,"slug":1350,"type":14},{"name":1352,"slug":1353,"type":14},{"slug":1356,"name":1356,"fn":1357,"description":1358,"org":1455,"tags":1456,"stars":24,"repoUrl":25,"updatedAt":1365},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1457,1458,1459,1460],{"name":11,"slug":8,"type":14},{"name":1335,"slug":1336,"type":14},{"name":22,"slug":23,"type":14},{"name":1317,"slug":1318,"type":14},{"slug":1367,"name":1367,"fn":1368,"description":1369,"org":1462,"tags":1463,"stars":24,"repoUrl":25,"updatedAt":1379},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1464,1465,1466],{"name":1373,"slug":1374,"type":14},{"name":1376,"slug":1377,"type":14},{"name":1352,"slug":1353,"type":14},{"slug":1468,"name":1468,"fn":1469,"description":1470,"org":1471,"tags":1472,"stars":24,"repoUrl":25,"updatedAt":1479},"pipeline-troubleshooting","troubleshoot Azure SDK CI pipelines","Diagnose and resolve failures in Azure SDK CI and generation pipelines. **UTILITY SKILL**. USE FOR: \"pipeline failed\", \"build failure\", \"CI check failing\", \"SDK generation error\", \"reproduce pipeline locally\", \"debug SDK pipeline\". DO NOT USE FOR: local build issues without pipeline context, API design review, SDK publishing. INVOKES: azure-sdk-mcp:azsdk_analyze_pipeline, azure-sdk-mcp:azsdk_package_build_code, azure-sdk-mcp:azsdk_package_run_check.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1473,1474,1475,1478],{"name":11,"slug":8,"type":14},{"name":1335,"slug":1336,"type":14},{"name":1476,"slug":1477,"type":14},"Debugging","debugging",{"name":22,"slug":23,"type":14},"2026-07-12T08:17:40.821512",{"slug":1481,"name":1481,"fn":1482,"description":1483,"org":1484,"tags":1485,"stars":24,"repoUrl":25,"updatedAt":1492},"sensei","improve skill frontmatter compliance","**WORKFLOW SKILL** — Iteratively improve skill frontmatter compliance using the Ralph loop pattern. WHEN: \"run sensei\", \"sensei help\", \"improve skill\", \"fix frontmatter\", \"skill compliance\", \"frontmatter audit\", \"score skill\", \"check skill tokens\". INVOKES: token counting tools, test runners, git commands. FOR SINGLE OPERATIONS: use token CLI directly for counts\u002Fchecks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1486,1487,1488,1491],{"name":11,"slug":8,"type":14},{"name":1391,"slug":1392,"type":14},{"name":1489,"slug":1490,"type":14},"Process Optimization","process-optimization",{"name":1352,"slug":1353,"type":14},"2026-07-12T08:17:32.970921",{"slug":1494,"name":1494,"fn":1495,"description":1496,"org":1497,"tags":1498,"stars":24,"repoUrl":25,"updatedAt":1504},"skill-authoring","author agent skills for agentskills.io","Write Agent Skills that comply with the agentskills.io specification. WHEN: \"create a skill\", \"new skill\", \"write a skill\", \"skill template\", \"skill structure\", \"review skill\", \"skill PR\", \"skill compliance\", \"SKILL.md format\", \"skill frontmatter\", \"skill best practices\". DO NOT USE FOR: improving existing skills (use sensei), general documentation. INVOKES: waza CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1499,1500,1503],{"name":1302,"slug":1303,"type":14},{"name":1501,"slug":1502,"type":14},"Plugin Development","plugin-development",{"name":1352,"slug":1353,"type":14},"2026-07-12T08:17:35.873862",109]