[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-azure-azure-functions-setup":3,"mdc-8deoc5-key":32,"related-org-azure-azure-functions-setup":1287,"related-repo-azure-azure-functions-setup":1466},{"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},"azure-functions-setup","set up Azure Functions development environment","Verify prerequisites and set up your environment for Azure Functions development",{"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},"Configuration","configuration",{"name":19,"slug":20,"type":14},"Deployment","deployment",12,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-functions-skills","2026-07-15T06:02:45.11515",null,1,[],{"repoUrl":22,"stars":21,"forks":25,"topics":28,"description":29},[],"A repository for Azure Functions skills, prompts, and reusable definitions to support agentic development and operational workflows.","https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-functions-skills\u002Ftree\u002FHEAD\u002Ftemplates\u002Fskills\u002Fazure-functions-setup","---\nname: azure-functions-setup\ntitle: Azure Functions Setup\ndescription: Verify prerequisites and set up your environment for Azure Functions development\ncategory: entry\n---\n\n> **Language**: Always respond in the same language the user is using.\n\n# azure-functions-setup — Azure Functions Environment Setup\n\nVerify that the developer's environment has all prerequisites for Azure Functions development.\n\n## Checks\n\nRun each check and report results:\n\n```bash\naz --version        # Azure CLI ≥ 2.60\nazd version         # Azure Developer CLI, required for Azure Skills deployment workflows\nfunc --version      # Azure Functions Core Tools ≥ 4.x\nnode --version      # Node.js 24 or 22 for new Node.js\u002FTypeScript projects\npython --version    # Python 3.13 preferred; 3.10-3.13 supported for Python projects\npython3 --version   # Use this fallback when python is not on PATH\ndotnet --version    # .NET SDK ≥ 8.0 (if .NET project)\n```\n\n## Azure Skills Plugin Check\n\nAzure Functions deployment is proxied through the Azure Skills deployment workflow. For deployment scenarios, verify that the Azure Skills plugin is installed and that these skills are available:\n\n- `azure-prepare`\n- `azure-validate`\n- `azure-deploy`\n\n**How to detect availability**: Check your current tool\u002Fskill list for the above skill names. If they appear in the list of available skills (e.g., in `\u003Cavailable_skills>` or equivalent plugin registry), they are installed. You do not need to run any commands — the presence of these skills in the agent's tool list is sufficient confirmation.\n\nIf the Azure Skills plugin is missing, install it for the active host before using `azure-functions-deploy`.\n\n| Host | Install guidance |\n|------|------------------|\n| GitHub Copilot CLI | `\u002Fplugin marketplace add microsoft\u002Fazure-skills`, then `\u002Fplugin install azure@azure-skills` |\n| Claude Code | `\u002Fplugin install azure@claude-plugins-official` |\n| Codex CLI | `codex plugin marketplace add microsoft\u002Fazure-skills`, then install `azure` from `\u002Fplugins` |\n| VS Code | Install the Azure MCP extension and companion Azure Skills integration, then reload VS Code |\n| GitHub Copilot fallback | `npx skills add https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Ftree\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills -a github-copilot -g -y` |\n\n## Output Format\n\nPresent results as a checklist:\n\n```\nAzure Functions Environment Check\n\n  ✅ Azure CLI          \u003Cversion>\n  ✅ Azure Developer CLI \u003Cversion>\n  ✅ Core Tools         \u003Cversion>\n  ✅ Node.js            \u003Cversion>\n  ⚠️  Azure subscription  Not logged in → Run 'az login'\n  ⚠️  Azure Skills plugin Missing → install before azure-functions-deploy\n```\n\n## Fix Instructions\n\nFor each failing check, provide:\n1. **What's wrong** — one-line description\n2. **How to fix** — exact install\u002Ffix command for the user's OS and shell\n3. **Docs link** — Microsoft Learn URL\n\nUse the user's operating system when choosing fix commands. Do **not** give Linux-only installation commands to Windows or macOS users. If the operating system or package manager is unclear, show the OS-specific choices and ask the user to run the one that matches their machine.\n\nFor language runtimes, prefer the latest Azure Functions **GA-supported** version for new installs. Do not recommend preview runtimes unless the user explicitly asks for previews.\n\n| Tool | Recommended version | Windows | macOS | Linux | Docs |\n|------|---------------------|---------|-------|-------|------|\n| Azure CLI | Latest stable, ≥ 2.60 | `winget install --exact --id Microsoft.AzureCLI` | `brew update && brew install azure-cli` | Use the distro-specific Microsoft Learn command for your package manager | https:\u002F\u002Flearn.microsoft.com\u002Fcli\u002Fazure\u002Finstall-azure-cli |\n| Azure Developer CLI | Latest stable | `winget install --exact --id Microsoft.Azd` | `brew install azure\u002Fazd\u002Fazd` | Use the Microsoft Learn instructions for your distro or install the signed `.deb`\u002F`.rpm` package from the Azure Developer CLI release | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fdeveloper\u002Fazure-developer-cli\u002Finstall-azd |\n| Core Tools | v4.x | Download and run the v4.x 64-bit MSI installer from Microsoft Learn | `brew tap azure\u002Ffunctions && brew install azure-functions-core-tools@4` | Use the Microsoft package repository for your distro, then install `azure-functions-core-tools-4` | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fazure-functions\u002Ffunctions-run-local |\n| Node.js | Node.js 24 GA for new apps; Node.js 22 also supported | `winget install --exact --id OpenJS.NodeJS.LTS` or `fnm install 24` | `brew install node@24` or `fnm install 24` | Use your distro package manager or a version manager such as `fnm install 24` | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fazure-functions\u002Ffunctions-versions |\n| Python | Python 3.13 GA for new apps; 3.10-3.13 supported | `winget install --exact --id Python.Python.3.13` | `brew install python@3.13` | Use your distro package manager or a version manager such as `pyenv install 3.13` | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fazure-functions\u002Ffunctions-versions |\n| .NET SDK | .NET 8 LTS minimum; use the latest GA version supported by the target Functions model | `winget install --exact --id Microsoft.DotNet.SDK.8` | `brew install --cask dotnet-sdk` | Use the Microsoft Learn instructions for your distro | https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fcore\u002Finstall\u002F |\n\nAzure Functions runtime 4.x currently supports Node.js 24 and 22 for Node.js\u002FTypeScript apps, and Python 3.10 through 3.13 for Python apps. Python 3.14 can appear in preview; keep Python 3.13 as the default recommendation until the user opts into preview support. Mention hosting caveats when relevant: newer language versions might not be available on Linux Consumption, so Flex Consumption is the safer default for new Linux-hosted apps.\n\n## After Setup\n\nAfter the environment check completes and you have reported the results, update the local Azure Functions Skills setup state when a state command is available:\n\n1. If the startup context provided an exact `npx @azure\u002Ffunctions-skills state setup-complete ...` command, run that exact command.\n2. Otherwise, when running from a workspace that has `.azure-functions-skills\u002Fstate.local.json`, run:\n\n  ```bash\n  npx @azure\u002Ffunctions-skills state setup-complete --dir .\n  ```\n\nIf the command is unavailable because the CLI is not installed, the npm package has not been updated yet, or the user reached the skill without using the CLI, update `.azure-functions-skills\u002Fstate.local.json` directly when that file exists:\n\n1. Preserve every existing field except the setup status timestamps.\n2. Set `setupSkill` to include at least:\n\n   ```json\n   {\n     \"status\": \"completed\",\n     \"completedAt\": \"\u003Ccurrent ISO-8601 time>\",\n     \"completedBy\": \"\u003Cactive agent if known, otherwise null>\"\n   }\n   ```\n\n3. Update `workspace.updatedAt` to the same current ISO-8601 time.\n\nDo this only after the setup check has finished and the user has received the checklist results. If neither the command nor direct file update is possible, state that setup state could not be updated and continue with the next-step guidance.\n\nWhen all checks pass, suggest the next step:\n\n> ✅ Your environment is ready! Next:\n> - Use **azure-functions-create** to scaffold a new Azure Functions project (HTTP triggers, timer triggers, queue triggers, etc.)\n> - Use **azure-functions-agents** to build an AI-powered agent app on Azure Functions (scheduled agents, chat agents, connector-triggered agents, background AI workflows)\n\nFor deployment, confirm the Azure Skills plugin is available before suggesting **azure-functions-deploy**. `azure-functions-deploy` delegates to `azure-prepare`, `azure-validate`, and `azure-deploy`.\n\n## Next steps\n\n- On success, suggest `azure-functions-create` for traditional Functions projects, or `azure-functions-agents` for AI agent apps — let the user choose based on their goal.\n- On failure, keep the user in `azure-functions-setup`: explain fixes, then ask them to rerun setup verification.\n- If deployment is requested and Azure Skills is missing, keep the user in `azure-functions-setup` until the Azure Skills plugin is installed or the user explicitly chooses a fallback deployment path.\n",{"data":33,"body":36},{"name":4,"title":34,"description":6,"category":35},"Azure Functions Setup","entry",{"type":37,"children":38},"root",[39,57,64,69,76,81,225,231,236,268,286,299,431,437,442,452,458,463,497,509,521,876,881,887,892,921,961,973,1147,1152,1157,1191,1229,1235,1281],{"type":40,"tag":41,"props":42,"children":43},"element","blockquote",{},[44],{"type":40,"tag":45,"props":46,"children":47},"p",{},[48,55],{"type":40,"tag":49,"props":50,"children":51},"strong",{},[52],{"type":53,"value":54},"text","Language",{"type":53,"value":56},": Always respond in the same language the user is using.",{"type":40,"tag":58,"props":59,"children":61},"h1",{"id":60},"azure-functions-setup-azure-functions-environment-setup",[62],{"type":53,"value":63},"azure-functions-setup — Azure Functions Environment Setup",{"type":40,"tag":45,"props":65,"children":66},{},[67],{"type":53,"value":68},"Verify that the developer's environment has all prerequisites for Azure Functions development.",{"type":40,"tag":70,"props":71,"children":73},"h2",{"id":72},"checks",[74],{"type":53,"value":75},"Checks",{"type":40,"tag":45,"props":77,"children":78},{},[79],{"type":53,"value":80},"Run each check and report results:",{"type":40,"tag":82,"props":83,"children":88},"pre",{"className":84,"code":85,"language":86,"meta":87,"style":87},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","az --version        # Azure CLI ≥ 2.60\nazd version         # Azure Developer CLI, required for Azure Skills deployment workflows\nfunc --version      # Azure Functions Core Tools ≥ 4.x\nnode --version      # Node.js 24 or 22 for new Node.js\u002FTypeScript projects\npython --version    # Python 3.13 preferred; 3.10-3.13 supported for Python projects\npython3 --version   # Use this fallback when python is not on PATH\ndotnet --version    # .NET SDK ≥ 8.0 (if .NET project)\n","bash","",[89],{"type":40,"tag":90,"props":91,"children":92},"code",{"__ignoreMap":87},[93,116,135,153,171,189,207],{"type":40,"tag":94,"props":95,"children":97},"span",{"class":96,"line":25},"line",[98,104,110],{"type":40,"tag":94,"props":99,"children":101},{"style":100},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[102],{"type":53,"value":103},"az",{"type":40,"tag":94,"props":105,"children":107},{"style":106},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[108],{"type":53,"value":109}," --version",{"type":40,"tag":94,"props":111,"children":113},{"style":112},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[114],{"type":53,"value":115},"        # Azure CLI ≥ 2.60\n",{"type":40,"tag":94,"props":117,"children":119},{"class":96,"line":118},2,[120,125,130],{"type":40,"tag":94,"props":121,"children":122},{"style":100},[123],{"type":53,"value":124},"azd",{"type":40,"tag":94,"props":126,"children":127},{"style":106},[128],{"type":53,"value":129}," version",{"type":40,"tag":94,"props":131,"children":132},{"style":112},[133],{"type":53,"value":134},"         # Azure Developer CLI, required for Azure Skills deployment workflows\n",{"type":40,"tag":94,"props":136,"children":138},{"class":96,"line":137},3,[139,144,148],{"type":40,"tag":94,"props":140,"children":141},{"style":100},[142],{"type":53,"value":143},"func",{"type":40,"tag":94,"props":145,"children":146},{"style":106},[147],{"type":53,"value":109},{"type":40,"tag":94,"props":149,"children":150},{"style":112},[151],{"type":53,"value":152},"      # Azure Functions Core Tools ≥ 4.x\n",{"type":40,"tag":94,"props":154,"children":156},{"class":96,"line":155},4,[157,162,166],{"type":40,"tag":94,"props":158,"children":159},{"style":100},[160],{"type":53,"value":161},"node",{"type":40,"tag":94,"props":163,"children":164},{"style":106},[165],{"type":53,"value":109},{"type":40,"tag":94,"props":167,"children":168},{"style":112},[169],{"type":53,"value":170},"      # Node.js 24 or 22 for new Node.js\u002FTypeScript projects\n",{"type":40,"tag":94,"props":172,"children":174},{"class":96,"line":173},5,[175,180,184],{"type":40,"tag":94,"props":176,"children":177},{"style":100},[178],{"type":53,"value":179},"python",{"type":40,"tag":94,"props":181,"children":182},{"style":106},[183],{"type":53,"value":109},{"type":40,"tag":94,"props":185,"children":186},{"style":112},[187],{"type":53,"value":188},"    # Python 3.13 preferred; 3.10-3.13 supported for Python projects\n",{"type":40,"tag":94,"props":190,"children":192},{"class":96,"line":191},6,[193,198,202],{"type":40,"tag":94,"props":194,"children":195},{"style":100},[196],{"type":53,"value":197},"python3",{"type":40,"tag":94,"props":199,"children":200},{"style":106},[201],{"type":53,"value":109},{"type":40,"tag":94,"props":203,"children":204},{"style":112},[205],{"type":53,"value":206},"   # Use this fallback when python is not on PATH\n",{"type":40,"tag":94,"props":208,"children":210},{"class":96,"line":209},7,[211,216,220],{"type":40,"tag":94,"props":212,"children":213},{"style":100},[214],{"type":53,"value":215},"dotnet",{"type":40,"tag":94,"props":217,"children":218},{"style":106},[219],{"type":53,"value":109},{"type":40,"tag":94,"props":221,"children":222},{"style":112},[223],{"type":53,"value":224},"    # .NET SDK ≥ 8.0 (if .NET project)\n",{"type":40,"tag":70,"props":226,"children":228},{"id":227},"azure-skills-plugin-check",[229],{"type":53,"value":230},"Azure Skills Plugin Check",{"type":40,"tag":45,"props":232,"children":233},{},[234],{"type":53,"value":235},"Azure Functions deployment is proxied through the Azure Skills deployment workflow. For deployment scenarios, verify that the Azure Skills plugin is installed and that these skills are available:",{"type":40,"tag":237,"props":238,"children":239},"ul",{},[240,250,259],{"type":40,"tag":241,"props":242,"children":243},"li",{},[244],{"type":40,"tag":90,"props":245,"children":247},{"className":246},[],[248],{"type":53,"value":249},"azure-prepare",{"type":40,"tag":241,"props":251,"children":252},{},[253],{"type":40,"tag":90,"props":254,"children":256},{"className":255},[],[257],{"type":53,"value":258},"azure-validate",{"type":40,"tag":241,"props":260,"children":261},{},[262],{"type":40,"tag":90,"props":263,"children":265},{"className":264},[],[266],{"type":53,"value":267},"azure-deploy",{"type":40,"tag":45,"props":269,"children":270},{},[271,276,278,284],{"type":40,"tag":49,"props":272,"children":273},{},[274],{"type":53,"value":275},"How to detect availability",{"type":53,"value":277},": Check your current tool\u002Fskill list for the above skill names. If they appear in the list of available skills (e.g., in ",{"type":40,"tag":90,"props":279,"children":281},{"className":280},[],[282],{"type":53,"value":283},"\u003Cavailable_skills>",{"type":53,"value":285}," or equivalent plugin registry), they are installed. You do not need to run any commands — the presence of these skills in the agent's tool list is sufficient confirmation.",{"type":40,"tag":45,"props":287,"children":288},{},[289,291,297],{"type":53,"value":290},"If the Azure Skills plugin is missing, install it for the active host before using ",{"type":40,"tag":90,"props":292,"children":294},{"className":293},[],[295],{"type":53,"value":296},"azure-functions-deploy",{"type":53,"value":298},".",{"type":40,"tag":300,"props":301,"children":302},"table",{},[303,322],{"type":40,"tag":304,"props":305,"children":306},"thead",{},[307],{"type":40,"tag":308,"props":309,"children":310},"tr",{},[311,317],{"type":40,"tag":312,"props":313,"children":314},"th",{},[315],{"type":53,"value":316},"Host",{"type":40,"tag":312,"props":318,"children":319},{},[320],{"type":53,"value":321},"Install guidance",{"type":40,"tag":323,"props":324,"children":325},"tbody",{},[326,352,369,401,414],{"type":40,"tag":308,"props":327,"children":328},{},[329,335],{"type":40,"tag":330,"props":331,"children":332},"td",{},[333],{"type":53,"value":334},"GitHub Copilot CLI",{"type":40,"tag":330,"props":336,"children":337},{},[338,344,346],{"type":40,"tag":90,"props":339,"children":341},{"className":340},[],[342],{"type":53,"value":343},"\u002Fplugin marketplace add microsoft\u002Fazure-skills",{"type":53,"value":345},", then ",{"type":40,"tag":90,"props":347,"children":349},{"className":348},[],[350],{"type":53,"value":351},"\u002Fplugin install azure@azure-skills",{"type":40,"tag":308,"props":353,"children":354},{},[355,360],{"type":40,"tag":330,"props":356,"children":357},{},[358],{"type":53,"value":359},"Claude Code",{"type":40,"tag":330,"props":361,"children":362},{},[363],{"type":40,"tag":90,"props":364,"children":366},{"className":365},[],[367],{"type":53,"value":368},"\u002Fplugin install azure@claude-plugins-official",{"type":40,"tag":308,"props":370,"children":371},{},[372,377],{"type":40,"tag":330,"props":373,"children":374},{},[375],{"type":53,"value":376},"Codex CLI",{"type":40,"tag":330,"props":378,"children":379},{},[380,386,388,393,395],{"type":40,"tag":90,"props":381,"children":383},{"className":382},[],[384],{"type":53,"value":385},"codex plugin marketplace add microsoft\u002Fazure-skills",{"type":53,"value":387},", then install ",{"type":40,"tag":90,"props":389,"children":391},{"className":390},[],[392],{"type":53,"value":8},{"type":53,"value":394}," from ",{"type":40,"tag":90,"props":396,"children":398},{"className":397},[],[399],{"type":53,"value":400},"\u002Fplugins",{"type":40,"tag":308,"props":402,"children":403},{},[404,409],{"type":40,"tag":330,"props":405,"children":406},{},[407],{"type":53,"value":408},"VS Code",{"type":40,"tag":330,"props":410,"children":411},{},[412],{"type":53,"value":413},"Install the Azure MCP extension and companion Azure Skills integration, then reload VS Code",{"type":40,"tag":308,"props":415,"children":416},{},[417,422],{"type":40,"tag":330,"props":418,"children":419},{},[420],{"type":53,"value":421},"GitHub Copilot fallback",{"type":40,"tag":330,"props":423,"children":424},{},[425],{"type":40,"tag":90,"props":426,"children":428},{"className":427},[],[429],{"type":53,"value":430},"npx skills add https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills\u002Ftree\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills -a github-copilot -g -y",{"type":40,"tag":70,"props":432,"children":434},{"id":433},"output-format",[435],{"type":53,"value":436},"Output Format",{"type":40,"tag":45,"props":438,"children":439},{},[440],{"type":53,"value":441},"Present results as a checklist:",{"type":40,"tag":82,"props":443,"children":447},{"className":444,"code":446,"language":53},[445],"language-text","Azure Functions Environment Check\n\n  ✅ Azure CLI          \u003Cversion>\n  ✅ Azure Developer CLI \u003Cversion>\n  ✅ Core Tools         \u003Cversion>\n  ✅ Node.js            \u003Cversion>\n  ⚠️  Azure subscription  Not logged in → Run 'az login'\n  ⚠️  Azure Skills plugin Missing → install before azure-functions-deploy\n",[448],{"type":40,"tag":90,"props":449,"children":450},{"__ignoreMap":87},[451],{"type":53,"value":446},{"type":40,"tag":70,"props":453,"children":455},{"id":454},"fix-instructions",[456],{"type":53,"value":457},"Fix Instructions",{"type":40,"tag":45,"props":459,"children":460},{},[461],{"type":53,"value":462},"For each failing check, provide:",{"type":40,"tag":464,"props":465,"children":466},"ol",{},[467,477,487],{"type":40,"tag":241,"props":468,"children":469},{},[470,475],{"type":40,"tag":49,"props":471,"children":472},{},[473],{"type":53,"value":474},"What's wrong",{"type":53,"value":476}," — one-line description",{"type":40,"tag":241,"props":478,"children":479},{},[480,485],{"type":40,"tag":49,"props":481,"children":482},{},[483],{"type":53,"value":484},"How to fix",{"type":53,"value":486}," — exact install\u002Ffix command for the user's OS and shell",{"type":40,"tag":241,"props":488,"children":489},{},[490,495],{"type":40,"tag":49,"props":491,"children":492},{},[493],{"type":53,"value":494},"Docs link",{"type":53,"value":496}," — Microsoft Learn URL",{"type":40,"tag":45,"props":498,"children":499},{},[500,502,507],{"type":53,"value":501},"Use the user's operating system when choosing fix commands. Do ",{"type":40,"tag":49,"props":503,"children":504},{},[505],{"type":53,"value":506},"not",{"type":53,"value":508}," give Linux-only installation commands to Windows or macOS users. If the operating system or package manager is unclear, show the OS-specific choices and ask the user to run the one that matches their machine.",{"type":40,"tag":45,"props":510,"children":511},{},[512,514,519],{"type":53,"value":513},"For language runtimes, prefer the latest Azure Functions ",{"type":40,"tag":49,"props":515,"children":516},{},[517],{"type":53,"value":518},"GA-supported",{"type":53,"value":520}," version for new installs. Do not recommend preview runtimes unless the user explicitly asks for previews.",{"type":40,"tag":300,"props":522,"children":523},{},[524,560],{"type":40,"tag":304,"props":525,"children":526},{},[527],{"type":40,"tag":308,"props":528,"children":529},{},[530,535,540,545,550,555],{"type":40,"tag":312,"props":531,"children":532},{},[533],{"type":53,"value":534},"Tool",{"type":40,"tag":312,"props":536,"children":537},{},[538],{"type":53,"value":539},"Recommended version",{"type":40,"tag":312,"props":541,"children":542},{},[543],{"type":53,"value":544},"Windows",{"type":40,"tag":312,"props":546,"children":547},{},[548],{"type":53,"value":549},"macOS",{"type":40,"tag":312,"props":551,"children":552},{},[553],{"type":53,"value":554},"Linux",{"type":40,"tag":312,"props":556,"children":557},{},[558],{"type":53,"value":559},"Docs",{"type":40,"tag":323,"props":561,"children":562},{},[563,610,671,718,782,831],{"type":40,"tag":308,"props":564,"children":565},{},[566,571,576,585,594,599],{"type":40,"tag":330,"props":567,"children":568},{},[569],{"type":53,"value":570},"Azure CLI",{"type":40,"tag":330,"props":572,"children":573},{},[574],{"type":53,"value":575},"Latest stable, ≥ 2.60",{"type":40,"tag":330,"props":577,"children":578},{},[579],{"type":40,"tag":90,"props":580,"children":582},{"className":581},[],[583],{"type":53,"value":584},"winget install --exact --id Microsoft.AzureCLI",{"type":40,"tag":330,"props":586,"children":587},{},[588],{"type":40,"tag":90,"props":589,"children":591},{"className":590},[],[592],{"type":53,"value":593},"brew update && brew install azure-cli",{"type":40,"tag":330,"props":595,"children":596},{},[597],{"type":53,"value":598},"Use the distro-specific Microsoft Learn command for your package manager",{"type":40,"tag":330,"props":600,"children":601},{},[602],{"type":40,"tag":603,"props":604,"children":608},"a",{"href":605,"rel":606},"https:\u002F\u002Flearn.microsoft.com\u002Fcli\u002Fazure\u002Finstall-azure-cli",[607],"nofollow",[609],{"type":53,"value":605},{"type":40,"tag":308,"props":611,"children":612},{},[613,618,623,632,641,662],{"type":40,"tag":330,"props":614,"children":615},{},[616],{"type":53,"value":617},"Azure Developer CLI",{"type":40,"tag":330,"props":619,"children":620},{},[621],{"type":53,"value":622},"Latest stable",{"type":40,"tag":330,"props":624,"children":625},{},[626],{"type":40,"tag":90,"props":627,"children":629},{"className":628},[],[630],{"type":53,"value":631},"winget install --exact --id Microsoft.Azd",{"type":40,"tag":330,"props":633,"children":634},{},[635],{"type":40,"tag":90,"props":636,"children":638},{"className":637},[],[639],{"type":53,"value":640},"brew install azure\u002Fazd\u002Fazd",{"type":40,"tag":330,"props":642,"children":643},{},[644,646,652,654,660],{"type":53,"value":645},"Use the Microsoft Learn instructions for your distro or install the signed ",{"type":40,"tag":90,"props":647,"children":649},{"className":648},[],[650],{"type":53,"value":651},".deb",{"type":53,"value":653},"\u002F",{"type":40,"tag":90,"props":655,"children":657},{"className":656},[],[658],{"type":53,"value":659},".rpm",{"type":53,"value":661}," package from the Azure Developer CLI release",{"type":40,"tag":330,"props":663,"children":664},{},[665],{"type":40,"tag":603,"props":666,"children":669},{"href":667,"rel":668},"https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fdeveloper\u002Fazure-developer-cli\u002Finstall-azd",[607],[670],{"type":53,"value":667},{"type":40,"tag":308,"props":672,"children":673},{},[674,679,684,689,698,709],{"type":40,"tag":330,"props":675,"children":676},{},[677],{"type":53,"value":678},"Core Tools",{"type":40,"tag":330,"props":680,"children":681},{},[682],{"type":53,"value":683},"v4.x",{"type":40,"tag":330,"props":685,"children":686},{},[687],{"type":53,"value":688},"Download and run the v4.x 64-bit MSI installer from Microsoft Learn",{"type":40,"tag":330,"props":690,"children":691},{},[692],{"type":40,"tag":90,"props":693,"children":695},{"className":694},[],[696],{"type":53,"value":697},"brew tap azure\u002Ffunctions && brew install azure-functions-core-tools@4",{"type":40,"tag":330,"props":699,"children":700},{},[701,703],{"type":53,"value":702},"Use the Microsoft package repository for your distro, then install ",{"type":40,"tag":90,"props":704,"children":706},{"className":705},[],[707],{"type":53,"value":708},"azure-functions-core-tools-4",{"type":40,"tag":330,"props":710,"children":711},{},[712],{"type":40,"tag":603,"props":713,"children":716},{"href":714,"rel":715},"https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fazure-functions\u002Ffunctions-run-local",[607],[717],{"type":53,"value":714},{"type":40,"tag":308,"props":719,"children":720},{},[721,726,731,748,763,773],{"type":40,"tag":330,"props":722,"children":723},{},[724],{"type":53,"value":725},"Node.js",{"type":40,"tag":330,"props":727,"children":728},{},[729],{"type":53,"value":730},"Node.js 24 GA for new apps; Node.js 22 also supported",{"type":40,"tag":330,"props":732,"children":733},{},[734,740,742],{"type":40,"tag":90,"props":735,"children":737},{"className":736},[],[738],{"type":53,"value":739},"winget install --exact --id OpenJS.NodeJS.LTS",{"type":53,"value":741}," or ",{"type":40,"tag":90,"props":743,"children":745},{"className":744},[],[746],{"type":53,"value":747},"fnm install 24",{"type":40,"tag":330,"props":749,"children":750},{},[751,757,758],{"type":40,"tag":90,"props":752,"children":754},{"className":753},[],[755],{"type":53,"value":756},"brew install node@24",{"type":53,"value":741},{"type":40,"tag":90,"props":759,"children":761},{"className":760},[],[762],{"type":53,"value":747},{"type":40,"tag":330,"props":764,"children":765},{},[766,768],{"type":53,"value":767},"Use your distro package manager or a version manager such as ",{"type":40,"tag":90,"props":769,"children":771},{"className":770},[],[772],{"type":53,"value":747},{"type":40,"tag":330,"props":774,"children":775},{},[776],{"type":40,"tag":603,"props":777,"children":780},{"href":778,"rel":779},"https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fazure-functions\u002Ffunctions-versions",[607],[781],{"type":53,"value":778},{"type":40,"tag":308,"props":783,"children":784},{},[785,790,795,804,813,823],{"type":40,"tag":330,"props":786,"children":787},{},[788],{"type":53,"value":789},"Python",{"type":40,"tag":330,"props":791,"children":792},{},[793],{"type":53,"value":794},"Python 3.13 GA for new apps; 3.10-3.13 supported",{"type":40,"tag":330,"props":796,"children":797},{},[798],{"type":40,"tag":90,"props":799,"children":801},{"className":800},[],[802],{"type":53,"value":803},"winget install --exact --id Python.Python.3.13",{"type":40,"tag":330,"props":805,"children":806},{},[807],{"type":40,"tag":90,"props":808,"children":810},{"className":809},[],[811],{"type":53,"value":812},"brew install python@3.13",{"type":40,"tag":330,"props":814,"children":815},{},[816,817],{"type":53,"value":767},{"type":40,"tag":90,"props":818,"children":820},{"className":819},[],[821],{"type":53,"value":822},"pyenv install 3.13",{"type":40,"tag":330,"props":824,"children":825},{},[826],{"type":40,"tag":603,"props":827,"children":829},{"href":778,"rel":828},[607],[830],{"type":53,"value":778},{"type":40,"tag":308,"props":832,"children":833},{},[834,839,844,853,862,867],{"type":40,"tag":330,"props":835,"children":836},{},[837],{"type":53,"value":838},".NET SDK",{"type":40,"tag":330,"props":840,"children":841},{},[842],{"type":53,"value":843},".NET 8 LTS minimum; use the latest GA version supported by the target Functions model",{"type":40,"tag":330,"props":845,"children":846},{},[847],{"type":40,"tag":90,"props":848,"children":850},{"className":849},[],[851],{"type":53,"value":852},"winget install --exact --id Microsoft.DotNet.SDK.8",{"type":40,"tag":330,"props":854,"children":855},{},[856],{"type":40,"tag":90,"props":857,"children":859},{"className":858},[],[860],{"type":53,"value":861},"brew install --cask dotnet-sdk",{"type":40,"tag":330,"props":863,"children":864},{},[865],{"type":53,"value":866},"Use the Microsoft Learn instructions for your distro",{"type":40,"tag":330,"props":868,"children":869},{},[870],{"type":40,"tag":603,"props":871,"children":874},{"href":872,"rel":873},"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fcore\u002Finstall\u002F",[607],[875],{"type":53,"value":872},{"type":40,"tag":45,"props":877,"children":878},{},[879],{"type":53,"value":880},"Azure Functions runtime 4.x currently supports Node.js 24 and 22 for Node.js\u002FTypeScript apps, and Python 3.10 through 3.13 for Python apps. Python 3.14 can appear in preview; keep Python 3.13 as the default recommendation until the user opts into preview support. Mention hosting caveats when relevant: newer language versions might not be available on Linux Consumption, so Flex Consumption is the safer default for new Linux-hosted apps.",{"type":40,"tag":70,"props":882,"children":884},{"id":883},"after-setup",[885],{"type":53,"value":886},"After Setup",{"type":40,"tag":45,"props":888,"children":889},{},[890],{"type":53,"value":891},"After the environment check completes and you have reported the results, update the local Azure Functions Skills setup state when a state command is available:",{"type":40,"tag":464,"props":893,"children":894},{},[895,908],{"type":40,"tag":241,"props":896,"children":897},{},[898,900,906],{"type":53,"value":899},"If the startup context provided an exact ",{"type":40,"tag":90,"props":901,"children":903},{"className":902},[],[904],{"type":53,"value":905},"npx @azure\u002Ffunctions-skills state setup-complete ...",{"type":53,"value":907}," command, run that exact command.",{"type":40,"tag":241,"props":909,"children":910},{},[911,913,919],{"type":53,"value":912},"Otherwise, when running from a workspace that has ",{"type":40,"tag":90,"props":914,"children":916},{"className":915},[],[917],{"type":53,"value":918},".azure-functions-skills\u002Fstate.local.json",{"type":53,"value":920},", run:",{"type":40,"tag":82,"props":922,"children":924},{"className":84,"code":923,"language":86,"meta":87,"style":87},"npx @azure\u002Ffunctions-skills state setup-complete --dir .\n",[925],{"type":40,"tag":90,"props":926,"children":927},{"__ignoreMap":87},[928],{"type":40,"tag":94,"props":929,"children":930},{"class":96,"line":25},[931,936,941,946,951,956],{"type":40,"tag":94,"props":932,"children":933},{"style":100},[934],{"type":53,"value":935},"npx",{"type":40,"tag":94,"props":937,"children":938},{"style":106},[939],{"type":53,"value":940}," @azure\u002Ffunctions-skills",{"type":40,"tag":94,"props":942,"children":943},{"style":106},[944],{"type":53,"value":945}," state",{"type":40,"tag":94,"props":947,"children":948},{"style":106},[949],{"type":53,"value":950}," setup-complete",{"type":40,"tag":94,"props":952,"children":953},{"style":106},[954],{"type":53,"value":955}," --dir",{"type":40,"tag":94,"props":957,"children":958},{"style":106},[959],{"type":53,"value":960}," .\n",{"type":40,"tag":45,"props":962,"children":963},{},[964,966,971],{"type":53,"value":965},"If the command is unavailable because the CLI is not installed, the npm package has not been updated yet, or the user reached the skill without using the CLI, update ",{"type":40,"tag":90,"props":967,"children":969},{"className":968},[],[970],{"type":53,"value":918},{"type":53,"value":972}," directly when that file exists:",{"type":40,"tag":464,"props":974,"children":975},{},[976,981,1134],{"type":40,"tag":241,"props":977,"children":978},{},[979],{"type":53,"value":980},"Preserve every existing field except the setup status timestamps.",{"type":40,"tag":241,"props":982,"children":983},{},[984,986,992,994],{"type":53,"value":985},"Set ",{"type":40,"tag":90,"props":987,"children":989},{"className":988},[],[990],{"type":53,"value":991},"setupSkill",{"type":53,"value":993}," to include at least:",{"type":40,"tag":82,"props":995,"children":999},{"className":996,"code":997,"language":998,"meta":87,"style":87},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"status\": \"completed\",\n  \"completedAt\": \"\u003Ccurrent ISO-8601 time>\",\n  \"completedBy\": \"\u003Cactive agent if known, otherwise null>\"\n}\n","json",[1000],{"type":40,"tag":90,"props":1001,"children":1002},{"__ignoreMap":87},[1003,1012,1055,1092,1126],{"type":40,"tag":94,"props":1004,"children":1005},{"class":96,"line":25},[1006],{"type":40,"tag":94,"props":1007,"children":1009},{"style":1008},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1010],{"type":53,"value":1011},"{\n",{"type":40,"tag":94,"props":1013,"children":1014},{"class":96,"line":118},[1015,1020,1026,1031,1036,1041,1046,1050],{"type":40,"tag":94,"props":1016,"children":1017},{"style":1008},[1018],{"type":53,"value":1019},"  \"",{"type":40,"tag":94,"props":1021,"children":1023},{"style":1022},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1024],{"type":53,"value":1025},"status",{"type":40,"tag":94,"props":1027,"children":1028},{"style":1008},[1029],{"type":53,"value":1030},"\"",{"type":40,"tag":94,"props":1032,"children":1033},{"style":1008},[1034],{"type":53,"value":1035},":",{"type":40,"tag":94,"props":1037,"children":1038},{"style":1008},[1039],{"type":53,"value":1040}," \"",{"type":40,"tag":94,"props":1042,"children":1043},{"style":106},[1044],{"type":53,"value":1045},"completed",{"type":40,"tag":94,"props":1047,"children":1048},{"style":1008},[1049],{"type":53,"value":1030},{"type":40,"tag":94,"props":1051,"children":1052},{"style":1008},[1053],{"type":53,"value":1054},",\n",{"type":40,"tag":94,"props":1056,"children":1057},{"class":96,"line":137},[1058,1062,1067,1071,1075,1079,1084,1088],{"type":40,"tag":94,"props":1059,"children":1060},{"style":1008},[1061],{"type":53,"value":1019},{"type":40,"tag":94,"props":1063,"children":1064},{"style":1022},[1065],{"type":53,"value":1066},"completedAt",{"type":40,"tag":94,"props":1068,"children":1069},{"style":1008},[1070],{"type":53,"value":1030},{"type":40,"tag":94,"props":1072,"children":1073},{"style":1008},[1074],{"type":53,"value":1035},{"type":40,"tag":94,"props":1076,"children":1077},{"style":1008},[1078],{"type":53,"value":1040},{"type":40,"tag":94,"props":1080,"children":1081},{"style":106},[1082],{"type":53,"value":1083},"\u003Ccurrent ISO-8601 time>",{"type":40,"tag":94,"props":1085,"children":1086},{"style":1008},[1087],{"type":53,"value":1030},{"type":40,"tag":94,"props":1089,"children":1090},{"style":1008},[1091],{"type":53,"value":1054},{"type":40,"tag":94,"props":1093,"children":1094},{"class":96,"line":155},[1095,1099,1104,1108,1112,1116,1121],{"type":40,"tag":94,"props":1096,"children":1097},{"style":1008},[1098],{"type":53,"value":1019},{"type":40,"tag":94,"props":1100,"children":1101},{"style":1022},[1102],{"type":53,"value":1103},"completedBy",{"type":40,"tag":94,"props":1105,"children":1106},{"style":1008},[1107],{"type":53,"value":1030},{"type":40,"tag":94,"props":1109,"children":1110},{"style":1008},[1111],{"type":53,"value":1035},{"type":40,"tag":94,"props":1113,"children":1114},{"style":1008},[1115],{"type":53,"value":1040},{"type":40,"tag":94,"props":1117,"children":1118},{"style":106},[1119],{"type":53,"value":1120},"\u003Cactive agent if known, otherwise null>",{"type":40,"tag":94,"props":1122,"children":1123},{"style":1008},[1124],{"type":53,"value":1125},"\"\n",{"type":40,"tag":94,"props":1127,"children":1128},{"class":96,"line":173},[1129],{"type":40,"tag":94,"props":1130,"children":1131},{"style":1008},[1132],{"type":53,"value":1133},"}\n",{"type":40,"tag":241,"props":1135,"children":1136},{},[1137,1139,1145],{"type":53,"value":1138},"Update ",{"type":40,"tag":90,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":53,"value":1144},"workspace.updatedAt",{"type":53,"value":1146}," to the same current ISO-8601 time.",{"type":40,"tag":45,"props":1148,"children":1149},{},[1150],{"type":53,"value":1151},"Do this only after the setup check has finished and the user has received the checklist results. If neither the command nor direct file update is possible, state that setup state could not be updated and continue with the next-step guidance.",{"type":40,"tag":45,"props":1153,"children":1154},{},[1155],{"type":53,"value":1156},"When all checks pass, suggest the next step:",{"type":40,"tag":41,"props":1158,"children":1159},{},[1160,1165],{"type":40,"tag":45,"props":1161,"children":1162},{},[1163],{"type":53,"value":1164},"✅ Your environment is ready! Next:",{"type":40,"tag":237,"props":1166,"children":1167},{},[1168,1180],{"type":40,"tag":241,"props":1169,"children":1170},{},[1171,1173,1178],{"type":53,"value":1172},"Use ",{"type":40,"tag":49,"props":1174,"children":1175},{},[1176],{"type":53,"value":1177},"azure-functions-create",{"type":53,"value":1179}," to scaffold a new Azure Functions project (HTTP triggers, timer triggers, queue triggers, etc.)",{"type":40,"tag":241,"props":1181,"children":1182},{},[1183,1184,1189],{"type":53,"value":1172},{"type":40,"tag":49,"props":1185,"children":1186},{},[1187],{"type":53,"value":1188},"azure-functions-agents",{"type":53,"value":1190}," to build an AI-powered agent app on Azure Functions (scheduled agents, chat agents, connector-triggered agents, background AI workflows)",{"type":40,"tag":45,"props":1192,"children":1193},{},[1194,1196,1200,1202,1207,1209,1214,1216,1221,1223,1228],{"type":53,"value":1195},"For deployment, confirm the Azure Skills plugin is available before suggesting ",{"type":40,"tag":49,"props":1197,"children":1198},{},[1199],{"type":53,"value":296},{"type":53,"value":1201},". ",{"type":40,"tag":90,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":53,"value":296},{"type":53,"value":1208}," delegates to ",{"type":40,"tag":90,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":53,"value":249},{"type":53,"value":1215},", ",{"type":40,"tag":90,"props":1217,"children":1219},{"className":1218},[],[1220],{"type":53,"value":258},{"type":53,"value":1222},", and ",{"type":40,"tag":90,"props":1224,"children":1226},{"className":1225},[],[1227],{"type":53,"value":267},{"type":53,"value":298},{"type":40,"tag":70,"props":1230,"children":1232},{"id":1231},"next-steps",[1233],{"type":53,"value":1234},"Next steps",{"type":40,"tag":237,"props":1236,"children":1237},{},[1238,1257,1269],{"type":40,"tag":241,"props":1239,"children":1240},{},[1241,1243,1248,1250,1255],{"type":53,"value":1242},"On success, suggest ",{"type":40,"tag":90,"props":1244,"children":1246},{"className":1245},[],[1247],{"type":53,"value":1177},{"type":53,"value":1249}," for traditional Functions projects, or ",{"type":40,"tag":90,"props":1251,"children":1253},{"className":1252},[],[1254],{"type":53,"value":1188},{"type":53,"value":1256}," for AI agent apps — let the user choose based on their goal.",{"type":40,"tag":241,"props":1258,"children":1259},{},[1260,1262,1267],{"type":53,"value":1261},"On failure, keep the user in ",{"type":40,"tag":90,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":53,"value":4},{"type":53,"value":1268},": explain fixes, then ask them to rerun setup verification.",{"type":40,"tag":241,"props":1270,"children":1271},{},[1272,1274,1279],{"type":53,"value":1273},"If deployment is requested and Azure Skills is missing, keep the user in ",{"type":40,"tag":90,"props":1275,"children":1277},{"className":1276},[],[1278],{"type":53,"value":4},{"type":53,"value":1280}," until the Azure Skills plugin is installed or the user explicitly chooses a fallback deployment path.",{"type":40,"tag":1282,"props":1283,"children":1284},"style",{},[1285],{"type":53,"value":1286},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1288,"total":1465},[1289,1308,1325,1344,1359,1374,1387,1402,1413,1427,1440,1453],{"slug":1290,"name":1290,"fn":1291,"description":1292,"org":1293,"tags":1294,"stars":1305,"repoUrl":1306,"updatedAt":1307},"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},[1295,1296,1299,1302],{"name":11,"slug":8,"type":14},{"name":1297,"slug":1298,"type":14},"Compliance","compliance",{"name":1300,"slug":1301,"type":14},"Governance","governance",{"name":1303,"slug":1304,"type":14},"Policy","policy",1686,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-policy","2026-07-12T08:17:48.378432",{"slug":1309,"name":1309,"fn":1310,"description":1311,"org":1312,"tags":1313,"stars":1322,"repoUrl":1323,"updatedAt":1324},"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},[1314,1315,1316,1319],{"name":11,"slug":8,"type":14},{"name":19,"slug":20,"type":14},{"name":1317,"slug":1318,"type":14},"Infrastructure as Code","infrastructure-as-code",{"name":1320,"slug":1321,"type":14},"Migration","migration",260,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-blueprints","2026-07-12T08:17:49.646405",{"slug":1326,"name":1326,"fn":1327,"description":1328,"org":1329,"tags":1330,"stars":1341,"repoUrl":1342,"updatedAt":1343},"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},[1331,1334,1335,1338],{"name":1332,"slug":1333,"type":14},"API Development","api-development",{"name":11,"slug":8,"type":14},{"name":1336,"slug":1337,"type":14},"Code Review","code-review",{"name":1339,"slug":1340,"type":14},"Documentation","documentation",133,"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-tools","2026-07-12T08:17:43.350876",{"slug":1345,"name":1345,"fn":1346,"description":1347,"org":1348,"tags":1349,"stars":1341,"repoUrl":1342,"updatedAt":1358},"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},[1350,1351,1352,1355],{"name":11,"slug":8,"type":14},{"name":19,"slug":20,"type":14},{"name":1353,"slug":1354,"type":14},"SDK","sdk",{"name":1356,"slug":1357,"type":14},"Testing","testing","2026-07-12T08:17:44.718943",{"slug":1360,"name":1360,"fn":1361,"description":1362,"org":1363,"tags":1364,"stars":1341,"repoUrl":1342,"updatedAt":1373},"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},[1365,1366,1369,1372],{"name":11,"slug":8,"type":14},{"name":1367,"slug":1368,"type":14},"GitHub","github",{"name":1370,"slug":1371,"type":14},"Project Management","project-management",{"name":1353,"slug":1354,"type":14},"2026-07-12T08:17:38.345387",{"slug":1375,"name":1375,"fn":1376,"description":1377,"org":1378,"tags":1379,"stars":1341,"repoUrl":1342,"updatedAt":1386},"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},[1380,1381,1384,1385],{"name":11,"slug":8,"type":14},{"name":1382,"slug":1383,"type":14},"CI\u002FCD","ci-cd",{"name":19,"slug":20,"type":14},{"name":1353,"slug":1354,"type":14},"2026-07-12T08:17:34.27607",{"slug":1388,"name":1388,"fn":1389,"description":1390,"org":1391,"tags":1392,"stars":1341,"repoUrl":1342,"updatedAt":1401},"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},[1393,1394,1395,1398],{"name":1332,"slug":1333,"type":14},{"name":11,"slug":8,"type":14},{"name":1396,"slug":1397,"type":14},"OpenAPI","openapi",{"name":1399,"slug":1400,"type":14},"Technical Writing","technical-writing","2026-07-12T08:17:39.603232",{"slug":1403,"name":1403,"fn":1404,"description":1405,"org":1406,"tags":1407,"stars":1341,"repoUrl":1342,"updatedAt":1412},"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},[1408,1409,1410,1411],{"name":11,"slug":8,"type":14},{"name":1382,"slug":1383,"type":14},{"name":1353,"slug":1354,"type":14},{"name":1356,"slug":1357,"type":14},"2026-07-12T08:17:37.08523",{"slug":1414,"name":1414,"fn":1415,"description":1416,"org":1417,"tags":1418,"stars":1341,"repoUrl":1342,"updatedAt":1426},"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},[1419,1422,1425],{"name":1420,"slug":1421,"type":14},"LLM","llm",{"name":1423,"slug":1424,"type":14},"Performance","performance",{"name":1399,"slug":1400,"type":14},"2026-07-12T08:17:42.080413",{"slug":1428,"name":1428,"fn":1429,"description":1430,"org":1431,"tags":1432,"stars":1341,"repoUrl":1342,"updatedAt":1439},"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},[1433,1434,1435,1438],{"name":11,"slug":8,"type":14},{"name":1382,"slug":1383,"type":14},{"name":1436,"slug":1437,"type":14},"Debugging","debugging",{"name":1353,"slug":1354,"type":14},"2026-07-12T08:17:40.821512",{"slug":1441,"name":1441,"fn":1442,"description":1443,"org":1444,"tags":1445,"stars":1341,"repoUrl":1342,"updatedAt":1452},"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},[1446,1447,1448,1451],{"name":11,"slug":8,"type":14},{"name":1297,"slug":1298,"type":14},{"name":1449,"slug":1450,"type":14},"Process Optimization","process-optimization",{"name":1399,"slug":1400,"type":14},"2026-07-12T08:17:32.970921",{"slug":1454,"name":1454,"fn":1455,"description":1456,"org":1457,"tags":1458,"stars":1341,"repoUrl":1342,"updatedAt":1464},"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},[1459,1460,1463],{"name":1339,"slug":1340,"type":14},{"name":1461,"slug":1462,"type":14},"Plugin Development","plugin-development",{"name":1399,"slug":1400,"type":14},"2026-07-12T08:17:35.873862",109,{"items":1467,"total":1556},[1468,1482,1499,1509,1520,1529,1544],{"slug":1188,"name":1188,"fn":1469,"description":1470,"org":1471,"tags":1472,"stars":21,"repoUrl":22,"updatedAt":1481},"build and deploy Azure Functions agents","Build, scaffold, extend, deploy, and troubleshoot Azure Functions serverless agents and event-driven AI agents using the Azure Functions serverless agents runtime. Use when the user says serverless agent, serverless agents, Azure Functions agent, scheduled agent, morning briefing, daily digest, timer agent, inbox summary, email or Teams briefing, background AI workflow, connector-triggered agent, event-driven AI automation, HTTP\u002Fchat agent, webhook-style agent, or Azure Functions hosted agent.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1473,1476,1477,1478],{"name":1474,"slug":1475,"type":14},"Agents","agents",{"name":11,"slug":8,"type":14},{"name":19,"slug":20,"type":14},{"name":1479,"slug":1480,"type":14},"Serverless","serverless","2026-07-12T08:19:28.200894",{"slug":1483,"name":1483,"fn":1484,"description":1485,"org":1486,"tags":1487,"stars":21,"repoUrl":22,"updatedAt":1498},"azure-functions-best-practices","apply Azure Functions best practices","Use when reviewing an existing Azure Function App against Azure Functions best practices and proposing safe, approval-gated remediations for runtime, configuration, identity, security, observability, performance, scale, cost, triggers, and bindings.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1488,1489,1492,1495],{"name":11,"slug":8,"type":14},{"name":1490,"slug":1491,"type":14},"Best Practices","best-practices",{"name":1493,"slug":1494,"type":14},"Observability","observability",{"name":1496,"slug":1497,"type":14},"Security","security","2026-07-15T06:02:48.801578",{"slug":1500,"name":1500,"fn":1501,"description":1502,"org":1503,"tags":1504,"stars":21,"repoUrl":22,"updatedAt":1508},"azure-functions-common","reference Azure Functions documentation and configuration","Shared Azure Functions reference material for the Azure Functions skill suite: runtime\u002Flanguage routing, trigger\u002Fbinding extension references, official docs and repository pointers. Use only when another Azure Functions skill needs reusable language or binding context. Not intended as a standalone user-facing workflow.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1505,1506,1507],{"name":11,"slug":8,"type":14},{"name":16,"slug":17,"type":14},{"name":1339,"slug":1340,"type":14},"2026-07-15T06:02:47.557542",{"slug":1177,"name":1177,"fn":1510,"description":1511,"org":1512,"tags":1513,"stars":21,"repoUrl":22,"updatedAt":1519},"scaffold Azure Functions projects and triggers","Scaffold a new Azure Functions project, or add a new function\u002Ftrigger to an existing project without re-initializing it",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1514,1515,1516],{"name":1332,"slug":1333,"type":14},{"name":11,"slug":8,"type":14},{"name":1517,"slug":1518,"type":14},"Edge Functions","edge-functions","2026-07-12T08:19:36.401016",{"slug":296,"name":296,"fn":1521,"description":1522,"org":1523,"tags":1524,"stars":21,"repoUrl":22,"updatedAt":1528},"deploy Azure Functions applications","Proxy Azure Functions deployment requests to the Azure Skills prepare, validate, and deploy workflow while preserving Azure Functions-specific guidance",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1525,1526,1527],{"name":11,"slug":8,"type":14},{"name":1382,"slug":1383,"type":14},{"name":19,"slug":20,"type":14},"2026-07-12T08:19:34.579423",{"slug":1530,"name":1530,"fn":1531,"description":1532,"org":1533,"tags":1534,"stars":21,"repoUrl":22,"updatedAt":1543},"azure-functions-diagnostics","diagnose and resolve Azure Functions issues","Use when diagnosing or resolving Azure Functions issues: deployment failures, runtime errors, trigger\u002Fbinding failures, language worker issues, telemetry\u002Flog analysis, known issue research, source investigation, and remediation. Acts as a facade that routes to focused Azure Functions skills and small language\u002Fextension references.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1535,1536,1537,1540],{"name":11,"slug":8,"type":14},{"name":1436,"slug":1437,"type":14},{"name":1538,"slug":1539,"type":14},"Logs","logs",{"name":1541,"slug":1542,"type":14},"Monitoring","monitoring","2026-07-12T08:19:30.738425",{"slug":1545,"name":1545,"fn":1546,"description":1547,"org":1548,"tags":1549,"stars":21,"repoUrl":22,"updatedAt":1555},"azure-functions-doctor","diagnose Azure Functions workspace configuration","Analyze local Azure Functions workspace code and configuration for common issues. Produces structured JSON findings for integration with the doctor CLI command. This skill targets local workspaces only — use azure-functions-diagnostics for deployed Azure resources.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1550,1551,1554],{"name":11,"slug":8,"type":14},{"name":1552,"slug":1553,"type":14},"Code Analysis","code-analysis",{"name":1436,"slug":1437,"type":14},"2026-07-15T06:02:46.335328",11]