[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-azure-kickstart-generate":3,"mdc-fizdtw-key":32,"related-repo-azure-kickstart-generate":552,"related-org-azure-kickstart-generate":650},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":21,"repoUrl":22,"updatedAt":23,"license":24,"forks":25,"topics":26,"repo":27,"sourceUrl":30,"mdContent":31},"kickstart-generate","create deployment artifacts for AKS","Generation phase playbook — create all deployment artifacts.",{"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],{"name":11,"slug":8,"type":14},"tag",{"name":16,"slug":17,"type":14},"Deployment","deployment",{"name":19,"slug":20,"type":14},"Engineering","engineering",65,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fvscode-aks-tools","2026-07-12T08:17:57.528597",null,74,[],{"repoUrl":22,"stars":21,"forks":25,"topics":28,"description":29},[],"Visual Studio Code extension for Azure Kubernetes Service","https:\u002F\u002Fgithub.com\u002FAzure\u002Fvscode-aks-tools\u002Ftree\u002FHEAD\u002Fskills\u002Fkickstart-generate","---\nname: kickstart-generate\ndescription: \"Generation phase playbook — create all deployment artifacts.\"\ndisable-model-invocation: true\n---\n\n# Generate Phase\n\nCreate all deployment artifacts and write them to the workspace. Follow `\u002Fkickstart-file-generation` for the batch-write order: compute ALL contents first, write all files, then report.\n\n## Build from the structure map, not assumptions\n\nUse the per-service structure map from Discovery (build context, entry point, existing Dockerfile path). Never assume the app sits at the repo root.\n\n- **Reuse existing Dockerfiles.** If a service already ships a working `Dockerfile`, use it as-is (or amend in place) — do not generate a parallel one. Only author a Dockerfile for services that lack one.\n- **Cross-check every `COPY`\u002F`ADD`.** Each source must resolve to a real file\u002Fdir inside that service's build context, and the destination must match where the entry point runs (e.g. `WORKDIR \u002Fapp` + `COPY . \u002Fapp` only if the entry point is at the context root). Use `search`\u002F`codebase` to confirm sources exist before writing the Dockerfile; flag and fix any mismatch.\n- **Set the run target from the real entry point** (`CMD`\u002F`ENTRYPOINT`), not a guessed filename.\n\n## Domain playbooks\n\nLoad these for detailed patterns as you author each artifact:\n- `\u002Fkickstart-bicep-authoring` — Bicep template structure and conventions\n- `\u002Fkickstart-workload-identity` — federated credentials, service-account wiring, pod labels\n- `\u002Fkickstart-acr-integration` — attaching ACR to the cluster (no pull secrets)\n\n## Artifacts\n\n**Dockerfile**: Multi-stage build, pinned base image (never `:latest`), non-root user, `.dockerignore`. `COPY`\u002F`ADD` paths validated against the build context; `CMD` runs the real entry point.\n\n**K8s Manifests** (`k8s\u002F`): `namespace.yaml`, `deployment.yaml` (resource limits, probes, `runAsNonRoot`, Workload Identity labels, env from ConfigMap\u002FSecret), `service.yaml` (ClusterIP), `httproute.yaml` (Gateway API, not Ingress). See `\u002Fkickstart-workload-identity`.\n\n**Bicep** (`infra\u002Fmain.bicep`): AKS Automatic + ACR + Managed Identity + federated credential. Parameterized, pinned API versions. ARM resource IDs follow `\u002Fsubscriptions\u002F{sub}\u002FresourceGroups\u002F{rg}\u002Fproviders\u002F{ns}\u002F{type}\u002F{name}`. See `\u002Fkickstart-bicep-authoring` and `\u002Fkickstart-acr-integration`.\n\n**GitHub Actions** (`.github\u002Fworkflows\u002Fdeploy.yml`): OIDC auth (no secrets), build+push to ACR, deploy to AKS, minimal `permissions`, environment protection. Use federated credentials with `azure\u002Flogin@v2`.\n\n## Rules\n- Use actual resource names from the Configure phase.\n- Never use `:latest` tags.\n- Honor each service's build context and entry point from the structure map; reuse existing Dockerfiles instead of duplicating them.\n- All K8s manifests must comply with AKS deployment safeguards (restricted pod security, no privileged, no hostPath).\n- After writing all files, confirm with user via `vscode_askQuestions`.\n\n## Validate the build (before exit)\n\nDo not hand off unbuilt artifacts. For each Dockerfile, build and inspect before announcing completion:\n\n1. **Build** from the service's build context:\n   - Local Docker\u002FPodman daemon available: `docker build -t kickstart-validate-\u003Csvc>:check -f \u003CdockerfilePath> \u003CbuildContext>`.\n   - Otherwise build in ACR (also catches missing `COPY` sources): `az acr build --registry \u003Cacr> --image kickstart-validate\u002F\u003Csvc>:check -f \u003CdockerfilePath> \u003CbuildContext>`.\n2. **Inspect contents** (when built locally): `docker run --rm kickstart-validate-\u003Csvc>:check ls -la \u003Cworkdir>` — confirm the entry point and expected files landed where the app runs from. A build that succeeds but places files in the wrong dir is exactly the failure this step catches.\n3. If the build fails or the entry point is missing, fix the Dockerfile\u002Fpaths and rebuild — do not proceed to Review with a broken image.\n\n## Exit Criteria\nAll artifacts written, every Dockerfile builds, and the entry point is confirmed present in the image. Announce: \"Artifacts generated and build-validated — moving to Review.\"\n",{"data":33,"body":35},{"name":4,"description":6,"disable-model-invocation":34},true,{"type":36,"children":37},"root",[38,47,62,69,74,180,186,191,227,233,278,341,379,411,417,459,465,470,541,547],{"type":39,"tag":40,"props":41,"children":43},"element","h1",{"id":42},"generate-phase",[44],{"type":45,"value":46},"text","Generate Phase",{"type":39,"tag":48,"props":49,"children":50},"p",{},[51,53,60],{"type":45,"value":52},"Create all deployment artifacts and write them to the workspace. Follow ",{"type":39,"tag":54,"props":55,"children":57},"code",{"className":56},[],[58],{"type":45,"value":59},"\u002Fkickstart-file-generation",{"type":45,"value":61}," for the batch-write order: compute ALL contents first, write all files, then report.",{"type":39,"tag":63,"props":64,"children":66},"h2",{"id":65},"build-from-the-structure-map-not-assumptions",[67],{"type":45,"value":68},"Build from the structure map, not assumptions",{"type":39,"tag":48,"props":70,"children":71},{},[72],{"type":45,"value":73},"Use the per-service structure map from Discovery (build context, entry point, existing Dockerfile path). Never assume the app sits at the repo root.",{"type":39,"tag":75,"props":76,"children":77},"ul",{},[78,98,155],{"type":39,"tag":79,"props":80,"children":81},"li",{},[82,88,90,96],{"type":39,"tag":83,"props":84,"children":85},"strong",{},[86],{"type":45,"value":87},"Reuse existing Dockerfiles.",{"type":45,"value":89}," If a service already ships a working ",{"type":39,"tag":54,"props":91,"children":93},{"className":92},[],[94],{"type":45,"value":95},"Dockerfile",{"type":45,"value":97},", use it as-is (or amend in place) — do not generate a parallel one. Only author a Dockerfile for services that lack one.",{"type":39,"tag":79,"props":99,"children":100},{},[101,122,124,130,132,138,140,146,147,153],{"type":39,"tag":83,"props":102,"children":103},{},[104,106,112,114,120],{"type":45,"value":105},"Cross-check every ",{"type":39,"tag":54,"props":107,"children":109},{"className":108},[],[110],{"type":45,"value":111},"COPY",{"type":45,"value":113},"\u002F",{"type":39,"tag":54,"props":115,"children":117},{"className":116},[],[118],{"type":45,"value":119},"ADD",{"type":45,"value":121},".",{"type":45,"value":123}," Each source must resolve to a real file\u002Fdir inside that service's build context, and the destination must match where the entry point runs (e.g. ",{"type":39,"tag":54,"props":125,"children":127},{"className":126},[],[128],{"type":45,"value":129},"WORKDIR \u002Fapp",{"type":45,"value":131}," + ",{"type":39,"tag":54,"props":133,"children":135},{"className":134},[],[136],{"type":45,"value":137},"COPY . \u002Fapp",{"type":45,"value":139}," only if the entry point is at the context root). Use ",{"type":39,"tag":54,"props":141,"children":143},{"className":142},[],[144],{"type":45,"value":145},"search",{"type":45,"value":113},{"type":39,"tag":54,"props":148,"children":150},{"className":149},[],[151],{"type":45,"value":152},"codebase",{"type":45,"value":154}," to confirm sources exist before writing the Dockerfile; flag and fix any mismatch.",{"type":39,"tag":79,"props":156,"children":157},{},[158,163,165,171,172,178],{"type":39,"tag":83,"props":159,"children":160},{},[161],{"type":45,"value":162},"Set the run target from the real entry point",{"type":45,"value":164}," (",{"type":39,"tag":54,"props":166,"children":168},{"className":167},[],[169],{"type":45,"value":170},"CMD",{"type":45,"value":113},{"type":39,"tag":54,"props":173,"children":175},{"className":174},[],[176],{"type":45,"value":177},"ENTRYPOINT",{"type":45,"value":179},"), not a guessed filename.",{"type":39,"tag":63,"props":181,"children":183},{"id":182},"domain-playbooks",[184],{"type":45,"value":185},"Domain playbooks",{"type":39,"tag":48,"props":187,"children":188},{},[189],{"type":45,"value":190},"Load these for detailed patterns as you author each artifact:",{"type":39,"tag":75,"props":192,"children":193},{},[194,205,216],{"type":39,"tag":79,"props":195,"children":196},{},[197,203],{"type":39,"tag":54,"props":198,"children":200},{"className":199},[],[201],{"type":45,"value":202},"\u002Fkickstart-bicep-authoring",{"type":45,"value":204}," — Bicep template structure and conventions",{"type":39,"tag":79,"props":206,"children":207},{},[208,214],{"type":39,"tag":54,"props":209,"children":211},{"className":210},[],[212],{"type":45,"value":213},"\u002Fkickstart-workload-identity",{"type":45,"value":215}," — federated credentials, service-account wiring, pod labels",{"type":39,"tag":79,"props":217,"children":218},{},[219,225],{"type":39,"tag":54,"props":220,"children":222},{"className":221},[],[223],{"type":45,"value":224},"\u002Fkickstart-acr-integration",{"type":45,"value":226}," — attaching ACR to the cluster (no pull secrets)",{"type":39,"tag":63,"props":228,"children":230},{"id":229},"artifacts",[231],{"type":45,"value":232},"Artifacts",{"type":39,"tag":48,"props":234,"children":235},{},[236,240,242,248,250,256,258,263,264,269,271,276],{"type":39,"tag":83,"props":237,"children":238},{},[239],{"type":45,"value":95},{"type":45,"value":241},": Multi-stage build, pinned base image (never ",{"type":39,"tag":54,"props":243,"children":245},{"className":244},[],[246],{"type":45,"value":247},":latest",{"type":45,"value":249},"), non-root user, ",{"type":39,"tag":54,"props":251,"children":253},{"className":252},[],[254],{"type":45,"value":255},".dockerignore",{"type":45,"value":257},". ",{"type":39,"tag":54,"props":259,"children":261},{"className":260},[],[262],{"type":45,"value":111},{"type":45,"value":113},{"type":39,"tag":54,"props":265,"children":267},{"className":266},[],[268],{"type":45,"value":119},{"type":45,"value":270}," paths validated against the build context; ",{"type":39,"tag":54,"props":272,"children":274},{"className":273},[],[275],{"type":45,"value":170},{"type":45,"value":277}," runs the real entry point.",{"type":39,"tag":48,"props":279,"children":280},{},[281,286,287,293,295,301,303,309,311,317,319,325,327,333,335,340],{"type":39,"tag":83,"props":282,"children":283},{},[284],{"type":45,"value":285},"K8s Manifests",{"type":45,"value":164},{"type":39,"tag":54,"props":288,"children":290},{"className":289},[],[291],{"type":45,"value":292},"k8s\u002F",{"type":45,"value":294},"): ",{"type":39,"tag":54,"props":296,"children":298},{"className":297},[],[299],{"type":45,"value":300},"namespace.yaml",{"type":45,"value":302},", ",{"type":39,"tag":54,"props":304,"children":306},{"className":305},[],[307],{"type":45,"value":308},"deployment.yaml",{"type":45,"value":310}," (resource limits, probes, ",{"type":39,"tag":54,"props":312,"children":314},{"className":313},[],[315],{"type":45,"value":316},"runAsNonRoot",{"type":45,"value":318},", Workload Identity labels, env from ConfigMap\u002FSecret), ",{"type":39,"tag":54,"props":320,"children":322},{"className":321},[],[323],{"type":45,"value":324},"service.yaml",{"type":45,"value":326}," (ClusterIP), ",{"type":39,"tag":54,"props":328,"children":330},{"className":329},[],[331],{"type":45,"value":332},"httproute.yaml",{"type":45,"value":334}," (Gateway API, not Ingress). See ",{"type":39,"tag":54,"props":336,"children":338},{"className":337},[],[339],{"type":45,"value":213},{"type":45,"value":121},{"type":39,"tag":48,"props":342,"children":343},{},[344,349,350,356,358,364,366,371,373,378],{"type":39,"tag":83,"props":345,"children":346},{},[347],{"type":45,"value":348},"Bicep",{"type":45,"value":164},{"type":39,"tag":54,"props":351,"children":353},{"className":352},[],[354],{"type":45,"value":355},"infra\u002Fmain.bicep",{"type":45,"value":357},"): AKS Automatic + ACR + Managed Identity + federated credential. Parameterized, pinned API versions. ARM resource IDs follow ",{"type":39,"tag":54,"props":359,"children":361},{"className":360},[],[362],{"type":45,"value":363},"\u002Fsubscriptions\u002F{sub}\u002FresourceGroups\u002F{rg}\u002Fproviders\u002F{ns}\u002F{type}\u002F{name}",{"type":45,"value":365},". See ",{"type":39,"tag":54,"props":367,"children":369},{"className":368},[],[370],{"type":45,"value":202},{"type":45,"value":372}," and ",{"type":39,"tag":54,"props":374,"children":376},{"className":375},[],[377],{"type":45,"value":224},{"type":45,"value":121},{"type":39,"tag":48,"props":380,"children":381},{},[382,387,388,394,396,402,404,410],{"type":39,"tag":83,"props":383,"children":384},{},[385],{"type":45,"value":386},"GitHub Actions",{"type":45,"value":164},{"type":39,"tag":54,"props":389,"children":391},{"className":390},[],[392],{"type":45,"value":393},".github\u002Fworkflows\u002Fdeploy.yml",{"type":45,"value":395},"): OIDC auth (no secrets), build+push to ACR, deploy to AKS, minimal ",{"type":39,"tag":54,"props":397,"children":399},{"className":398},[],[400],{"type":45,"value":401},"permissions",{"type":45,"value":403},", environment protection. Use federated credentials with ",{"type":39,"tag":54,"props":405,"children":407},{"className":406},[],[408],{"type":45,"value":409},"azure\u002Flogin@v2",{"type":45,"value":121},{"type":39,"tag":63,"props":412,"children":414},{"id":413},"rules",[415],{"type":45,"value":416},"Rules",{"type":39,"tag":75,"props":418,"children":419},{},[420,425,437,442,447],{"type":39,"tag":79,"props":421,"children":422},{},[423],{"type":45,"value":424},"Use actual resource names from the Configure phase.",{"type":39,"tag":79,"props":426,"children":427},{},[428,430,435],{"type":45,"value":429},"Never use ",{"type":39,"tag":54,"props":431,"children":433},{"className":432},[],[434],{"type":45,"value":247},{"type":45,"value":436}," tags.",{"type":39,"tag":79,"props":438,"children":439},{},[440],{"type":45,"value":441},"Honor each service's build context and entry point from the structure map; reuse existing Dockerfiles instead of duplicating them.",{"type":39,"tag":79,"props":443,"children":444},{},[445],{"type":45,"value":446},"All K8s manifests must comply with AKS deployment safeguards (restricted pod security, no privileged, no hostPath).",{"type":39,"tag":79,"props":448,"children":449},{},[450,452,458],{"type":45,"value":451},"After writing all files, confirm with user via ",{"type":39,"tag":54,"props":453,"children":455},{"className":454},[],[456],{"type":45,"value":457},"vscode_askQuestions",{"type":45,"value":121},{"type":39,"tag":63,"props":460,"children":462},{"id":461},"validate-the-build-before-exit",[463],{"type":45,"value":464},"Validate the build (before exit)",{"type":39,"tag":48,"props":466,"children":467},{},[468],{"type":45,"value":469},"Do not hand off unbuilt artifacts. For each Dockerfile, build and inspect before announcing completion:",{"type":39,"tag":471,"props":472,"children":473},"ol",{},[474,518,536],{"type":39,"tag":79,"props":475,"children":476},{},[477,482,484],{"type":39,"tag":83,"props":478,"children":479},{},[480],{"type":45,"value":481},"Build",{"type":45,"value":483}," from the service's build context:\n",{"type":39,"tag":75,"props":485,"children":486},{},[487,499],{"type":39,"tag":79,"props":488,"children":489},{},[490,492,498],{"type":45,"value":491},"Local Docker\u002FPodman daemon available: ",{"type":39,"tag":54,"props":493,"children":495},{"className":494},[],[496],{"type":45,"value":497},"docker build -t kickstart-validate-\u003Csvc>:check -f \u003CdockerfilePath> \u003CbuildContext>",{"type":45,"value":121},{"type":39,"tag":79,"props":500,"children":501},{},[502,504,509,511,517],{"type":45,"value":503},"Otherwise build in ACR (also catches missing ",{"type":39,"tag":54,"props":505,"children":507},{"className":506},[],[508],{"type":45,"value":111},{"type":45,"value":510}," sources): ",{"type":39,"tag":54,"props":512,"children":514},{"className":513},[],[515],{"type":45,"value":516},"az acr build --registry \u003Cacr> --image kickstart-validate\u002F\u003Csvc>:check -f \u003CdockerfilePath> \u003CbuildContext>",{"type":45,"value":121},{"type":39,"tag":79,"props":519,"children":520},{},[521,526,528,534],{"type":39,"tag":83,"props":522,"children":523},{},[524],{"type":45,"value":525},"Inspect contents",{"type":45,"value":527}," (when built locally): ",{"type":39,"tag":54,"props":529,"children":531},{"className":530},[],[532],{"type":45,"value":533},"docker run --rm kickstart-validate-\u003Csvc>:check ls -la \u003Cworkdir>",{"type":45,"value":535}," — confirm the entry point and expected files landed where the app runs from. A build that succeeds but places files in the wrong dir is exactly the failure this step catches.",{"type":39,"tag":79,"props":537,"children":538},{},[539],{"type":45,"value":540},"If the build fails or the entry point is missing, fix the Dockerfile\u002Fpaths and rebuild — do not proceed to Review with a broken image.",{"type":39,"tag":63,"props":542,"children":544},{"id":543},"exit-criteria",[545],{"type":45,"value":546},"Exit Criteria",{"type":39,"tag":48,"props":548,"children":549},{},[550],{"type":45,"value":551},"All artifacts written, every Dockerfile builds, and the entry point is confirmed present in the image. Announce: \"Artifacts generated and build-validated — moving to Review.\"",{"items":553,"total":649},[554,566,580,595,611,624,637],{"slug":555,"name":555,"fn":556,"description":557,"org":558,"tags":559,"stars":21,"repoUrl":22,"updatedAt":565},"kickstart-acr-integration","integrate Azure Container Registry with AKS","ACR integration for AKS Automatic. Teaches attaching an ACR, image reference conventions (digest pinning, no :latest), and pull-secret-free authentication via the managed identity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[560,561,564],{"name":11,"slug":8,"type":14},{"name":562,"slug":563,"type":14},"Containers","containers",{"name":16,"slug":17,"type":14},"2026-07-12T08:18:05.091337",{"slug":567,"name":567,"fn":568,"description":569,"org":570,"tags":571,"stars":21,"repoUrl":22,"updatedAt":579},"kickstart-bicep-authoring","author idiomatic Azure Bicep templates","Writing idiomatic, safe, and reviewable Bicep templates for Azure resources.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[572,573,575,576],{"name":11,"slug":8,"type":14},{"name":348,"slug":574,"type":14},"bicep",{"name":16,"slug":17,"type":14},{"name":577,"slug":578,"type":14},"Infrastructure as Code","infrastructure-as-code","2026-07-12T08:18:02.601998",{"slug":581,"name":581,"fn":582,"description":583,"org":584,"tags":585,"stars":21,"repoUrl":22,"updatedAt":594},"kickstart-cluster-status","monitor AKS cluster provisioning status","Non-blocking cluster status peek — run at the end of Phases 3, 4, 5 to check AKS provisioning progress without hanging.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[586,587,588,591],{"name":11,"slug":8,"type":14},{"name":16,"slug":17,"type":14},{"name":589,"slug":590,"type":14},"Kubernetes","kubernetes",{"name":592,"slug":593,"type":14},"Monitoring","monitoring","2026-07-12T08:18:01.355249",{"slug":596,"name":596,"fn":597,"description":598,"org":599,"tags":600,"stars":21,"repoUrl":22,"updatedAt":610},"kickstart-collaborator-voice","define agent voice and interaction patterns","Voice, tone, and interaction patterns for Kickstart agents.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[601,604,607],{"name":602,"slug":603,"type":14},"Agents","agents",{"name":605,"slug":606,"type":14},"Branding","branding",{"name":608,"slug":609,"type":14},"Communications","communications","2026-07-12T08:18:09.636172",{"slug":612,"name":612,"fn":613,"description":614,"org":615,"tags":616,"stars":21,"repoUrl":22,"updatedAt":623},"kickstart-configure-infra","configure Azure infrastructure for AKS clusters","Configure Infrastructure phase playbook — launch the dedicated Kickstart cluster-setup view, which collects and creates the Azure resources (subscription, resource group, AKS Automatic cluster, ACR) and hands the results back to the chat.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[617,618,619,622],{"name":11,"slug":8,"type":14},{"name":16,"slug":17,"type":14},{"name":620,"slug":621,"type":14},"Infrastructure","infrastructure",{"name":589,"slug":590,"type":14},"2026-07-12T08:18:03.828624",{"slug":625,"name":625,"fn":626,"description":627,"org":628,"tags":629,"stars":21,"repoUrl":22,"updatedAt":636},"kickstart-deploy","deploy applications with Azure CLI and kubectl","Deploy phase playbook — build, push, apply with Azure CLI and kubectl.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[630,631,634,635],{"name":11,"slug":8,"type":14},{"name":632,"slug":633,"type":14},"CLI","cli",{"name":16,"slug":17,"type":14},{"name":589,"slug":590,"type":14},"2026-07-12T08:17:52.254389",{"slug":638,"name":638,"fn":639,"description":640,"org":641,"tags":642,"stars":21,"repoUrl":22,"updatedAt":648},"kickstart-design","propose target architecture on AKS","Design phase playbook — propose target architecture on AKS Automatic.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[643,646,647],{"name":644,"slug":645,"type":14},"Architecture","architecture",{"name":11,"slug":8,"type":14},{"name":16,"slug":17,"type":14},"2026-07-12T08:17:50.938775",19,{"items":651,"total":826},[652,671,686,705,720,735,748,763,774,788,801,814],{"slug":653,"name":653,"fn":654,"description":655,"org":656,"tags":657,"stars":668,"repoUrl":669,"updatedAt":670},"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},[658,659,662,665],{"name":11,"slug":8,"type":14},{"name":660,"slug":661,"type":14},"Compliance","compliance",{"name":663,"slug":664,"type":14},"Governance","governance",{"name":666,"slug":667,"type":14},"Policy","policy",1686,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-policy","2026-07-12T08:17:48.378432",{"slug":672,"name":672,"fn":673,"description":674,"org":675,"tags":676,"stars":683,"repoUrl":684,"updatedAt":685},"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},[677,678,679,680],{"name":11,"slug":8,"type":14},{"name":16,"slug":17,"type":14},{"name":577,"slug":578,"type":14},{"name":681,"slug":682,"type":14},"Migration","migration",260,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-blueprints","2026-07-12T08:17:49.646405",{"slug":687,"name":687,"fn":688,"description":689,"org":690,"tags":691,"stars":702,"repoUrl":703,"updatedAt":704},"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},[692,695,696,699],{"name":693,"slug":694,"type":14},"API Development","api-development",{"name":11,"slug":8,"type":14},{"name":697,"slug":698,"type":14},"Code Review","code-review",{"name":700,"slug":701,"type":14},"Documentation","documentation",133,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-tools","2026-07-12T08:17:43.350876",{"slug":706,"name":706,"fn":707,"description":708,"org":709,"tags":710,"stars":702,"repoUrl":703,"updatedAt":719},"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},[711,712,713,716],{"name":11,"slug":8,"type":14},{"name":16,"slug":17,"type":14},{"name":714,"slug":715,"type":14},"SDK","sdk",{"name":717,"slug":718,"type":14},"Testing","testing","2026-07-12T08:17:44.718943",{"slug":721,"name":721,"fn":722,"description":723,"org":724,"tags":725,"stars":702,"repoUrl":703,"updatedAt":734},"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},[726,727,730,733],{"name":11,"slug":8,"type":14},{"name":728,"slug":729,"type":14},"GitHub","github",{"name":731,"slug":732,"type":14},"Project Management","project-management",{"name":714,"slug":715,"type":14},"2026-07-12T08:17:38.345387",{"slug":736,"name":736,"fn":737,"description":738,"org":739,"tags":740,"stars":702,"repoUrl":703,"updatedAt":747},"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},[741,742,745,746],{"name":11,"slug":8,"type":14},{"name":743,"slug":744,"type":14},"CI\u002FCD","ci-cd",{"name":16,"slug":17,"type":14},{"name":714,"slug":715,"type":14},"2026-07-12T08:17:34.27607",{"slug":749,"name":749,"fn":750,"description":751,"org":752,"tags":753,"stars":702,"repoUrl":703,"updatedAt":762},"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},[754,755,756,759],{"name":693,"slug":694,"type":14},{"name":11,"slug":8,"type":14},{"name":757,"slug":758,"type":14},"OpenAPI","openapi",{"name":760,"slug":761,"type":14},"Technical Writing","technical-writing","2026-07-12T08:17:39.603232",{"slug":764,"name":764,"fn":765,"description":766,"org":767,"tags":768,"stars":702,"repoUrl":703,"updatedAt":773},"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},[769,770,771,772],{"name":11,"slug":8,"type":14},{"name":743,"slug":744,"type":14},{"name":714,"slug":715,"type":14},{"name":717,"slug":718,"type":14},"2026-07-12T08:17:37.08523",{"slug":775,"name":775,"fn":776,"description":777,"org":778,"tags":779,"stars":702,"repoUrl":703,"updatedAt":787},"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},[780,783,786],{"name":781,"slug":782,"type":14},"LLM","llm",{"name":784,"slug":785,"type":14},"Performance","performance",{"name":760,"slug":761,"type":14},"2026-07-12T08:17:42.080413",{"slug":789,"name":789,"fn":790,"description":791,"org":792,"tags":793,"stars":702,"repoUrl":703,"updatedAt":800},"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},[794,795,796,799],{"name":11,"slug":8,"type":14},{"name":743,"slug":744,"type":14},{"name":797,"slug":798,"type":14},"Debugging","debugging",{"name":714,"slug":715,"type":14},"2026-07-12T08:17:40.821512",{"slug":802,"name":802,"fn":803,"description":804,"org":805,"tags":806,"stars":702,"repoUrl":703,"updatedAt":813},"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},[807,808,809,812],{"name":11,"slug":8,"type":14},{"name":660,"slug":661,"type":14},{"name":810,"slug":811,"type":14},"Process Optimization","process-optimization",{"name":760,"slug":761,"type":14},"2026-07-12T08:17:32.970921",{"slug":815,"name":815,"fn":816,"description":817,"org":818,"tags":819,"stars":702,"repoUrl":703,"updatedAt":825},"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},[820,821,824],{"name":700,"slug":701,"type":14},{"name":822,"slug":823,"type":14},"Plugin Development","plugin-development",{"name":760,"slug":761,"type":14},"2026-07-12T08:17:35.873862",109]