
Skill
azure-functions-setup
set up Azure Functions development environment
Description
Verify prerequisites and set up your environment for Azure Functions development
SKILL.md
Language: Always respond in the same language the user is using.
azure-functions-setup — Azure Functions Environment Setup
Verify that the developer's environment has all prerequisites for Azure Functions development.
Checks
Run each check and report results:
az --version # Azure CLI ≥ 2.60
azd version # Azure Developer CLI, required for Azure Skills deployment workflows
func --version # Azure Functions Core Tools ≥ 4.x
node --version # Node.js 24 or 22 for new Node.js/TypeScript projects
python --version # Python 3.13 preferred; 3.10-3.13 supported for Python projects
python3 --version # Use this fallback when python is not on PATH
dotnet --version # .NET SDK ≥ 8.0 (if .NET project)
Azure Skills Plugin Check
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:
azure-prepareazure-validateazure-deploy
How to detect availability: Check your current tool/skill list for the above skill names. If they appear in the list of available skills (e.g., in <available_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.
If the Azure Skills plugin is missing, install it for the active host before using azure-functions-deploy.
| Host | Install guidance |
|---|---|
| GitHub Copilot CLI | /plugin marketplace add microsoft/azure-skills, then /plugin install azure@azure-skills |
| Claude Code | /plugin install azure@claude-plugins-official |
| Codex CLI | codex plugin marketplace add microsoft/azure-skills, then install azure from /plugins |
| VS Code | Install the Azure MCP extension and companion Azure Skills integration, then reload VS Code |
| GitHub Copilot fallback | npx skills add https://github.com/microsoft/azure-skills/tree/main/.github/plugins/azure-skills/skills -a github-copilot -g -y |
Output Format
Present results as a checklist:
Azure Functions Environment Check
✅ Azure CLI <version>
✅ Azure Developer CLI <version>
✅ Core Tools <version>
✅ Node.js <version>
⚠️ Azure subscription Not logged in → Run 'az login'
⚠️ Azure Skills plugin Missing → install before azure-functions-deploy
Fix Instructions
For each failing check, provide:
- What's wrong — one-line description
- How to fix — exact install/fix command for the user's OS and shell
- Docs link — Microsoft Learn URL
Use 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.
For 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.
| Tool | Recommended version | Windows | macOS | Linux | Docs |
|---|---|---|---|---|---|
| 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://learn.microsoft.com/cli/azure/install-azure-cli |
| Azure Developer CLI | Latest stable | winget install --exact --id Microsoft.Azd | brew install azure/azd/azd | Use the Microsoft Learn instructions for your distro or install the signed .deb/.rpm package from the Azure Developer CLI release | https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd |
| Core Tools | v4.x | Download and run the v4.x 64-bit MSI installer from Microsoft Learn | brew tap azure/functions && brew install azure-functions-core-tools@4 | Use the Microsoft package repository for your distro, then install azure-functions-core-tools-4 | https://learn.microsoft.com/azure/azure-functions/functions-run-local |
| 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://learn.microsoft.com/azure/azure-functions/functions-versions |
| 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://learn.microsoft.com/azure/azure-functions/functions-versions |
| .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://learn.microsoft.com/dotnet/core/install/ |
Azure Functions runtime 4.x currently supports Node.js 24 and 22 for Node.js/TypeScript 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.
After Setup
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:
- If the startup context provided an exact
npx @azure/functions-skills state setup-complete ...command, run that exact command. - Otherwise, when running from a workspace that has
.azure-functions-skills/state.local.json, run:
npx @azure/functions-skills state setup-complete --dir .
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 .azure-functions-skills/state.local.json directly when that file exists:
- Preserve every existing field except the setup status timestamps.
- Set
setupSkillto include at least:{ "status": "completed", "completedAt": "<current ISO-8601 time>", "completedBy": "<active agent if known, otherwise null>" } - Update
workspace.updatedAtto the same current ISO-8601 time.
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.
When all checks pass, suggest the next step:
✅ Your environment is ready! Next:
- Use azure-functions-create to scaffold a new Azure Functions project (HTTP triggers, timer triggers, queue triggers, etc.)
- Use azure-functions-agents to build an AI-powered agent app on Azure Functions (scheduled agents, chat agents, connector-triggered agents, background AI workflows)
For 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.
Next steps
- On success, suggest
azure-functions-createfor traditional Functions projects, orazure-functions-agentsfor AI agent apps — let the user choose based on their goal. - On failure, keep the user in
azure-functions-setup: explain fixes, then ask them to rerun setup verification. - If deployment is requested and Azure Skills is missing, keep the user in
azure-functions-setupuntil the Azure Skills plugin is installed or the user explicitly chooses a fallback deployment path.
More skills from the azure-functions-skills repository
View all 11 skillsazure-functions-agents
build and deploy Azure Functions agents
Jul 12AgentsAzureDeploymentServerlessazure-functions-best-practices
apply Azure Functions best practices
Jul 15AzureBest PracticesObservabilitySecurityazure-functions-common
reference Azure Functions documentation and configuration
Jul 15AzureConfigurationDocumentationazure-functions-create
scaffold Azure Functions projects and triggers
Jul 12API DevelopmentAzureEdge Functionsazure-functions-deploy
deploy Azure Functions applications
Jul 12AzureCI/CDDeploymentazure-functions-diagnostics
diagnose and resolve Azure Functions issues
Jul 12AzureDebuggingLogsMonitoring
More from Azure (Microsoft)
View publisherazure-arg-external-evaluation-policy-author
author and test Azure Resource Graph policies
azure-policy
Jul 12AzureComplianceGovernancePolicyazure-blueprints-migration
migrate Azure Blueprints to Template Specs
azure-blueprints
Jul 12AzureDeploymentInfrastructure as CodeMigrationapiview-feedback-resolution
resolve APIView feedback on Azure SDKs
azure-sdk-tools
Jul 12API DevelopmentAzureCode ReviewDocumentationazsdk-common-live-and-recorded-tests
deploy resources and run Azure SDK tests
azure-sdk-tools
Jul 12AzureDeploymentSDKTestingazsdk-common-prepare-release-plan
manage Azure SDK release plan work items
azure-sdk-tools
Jul 12AzureGitHubProject ManagementSDKazsdk-common-sdk-release
release Azure SDK packages
azure-sdk-tools
Jul 12AzureCI/CDDeploymentSDK