Help us improve
Share bugs, ideas, or general feedback.
Proxy Azure Functions deployment requests to the Azure Skills prepare, validate, and deploy workflow while preserving Azure Functions-specific guidance
npx claudepluginhub azure/azure-functions-skills --plugin azure-functions-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/azure-functions-skills:azure-functions-deployThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Language**: Always respond in the same language the user is using.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
Language: Always respond in the same language the user is using.
Deploy your Azure Functions app to Azure by proxying to the Azure Skills deployment workflow.
This skill is the Azure Functions-facing entry point. It should not run deployment commands directly. It prepares Azure Functions-specific context, then delegates execution to azure-prepare, azure-validate, and azure-deploy from the Azure Skills plugin.
az login)azd auth login) for AZD-based deploymentsaz account show)host.json in the current directoryazure-prepare, azure-validate, and azure-deploy availableIf any prerequisite is missing, suggest running azure-functions-setup first.
Use Azure Skills as the deployment engine:
.azure/deployment-plan.md is missing, invoke azure-prepare first — unless the shortcut path below applies..azure/deployment-plan.md exists but is not Validated, invoke azure-validate before any deployment attempt..azure/deployment-plan.md exists and status is Validated, invoke azure-deploy directly.Validated from this skill. Only azure-validate may do that.azd up, azd deploy, terraform apply, az deployment, or func azure functionapp publish directly from this skill unless Azure Skills cannot handle the scenario and the user explicitly approves a fallback.When a project was scaffolded from an Azure MCP template (e.g., via azure-functions-create Path A), it already contains complete infrastructure. Detect this by checking all of these conditions:
azure.yaml exists in the project rootinfra/main.bicep or infra/*.tf existshost.json existsazure.yaml contains a metadata.template field (indicates MCP template origin)If all conditions are met, skip azure-prepare and proceed directly:
.azure/plan.md noting the pre-existing infrastructureazure-validate (provisions preview, environment setup)azure-deploy (runs azd up)This avoids the redundant 5–10 minute analysis and planning phase for projects that already have production-ready infrastructure.
The normal workflow is:
azure-functions-deploy → azure-prepare → azure-validate → azure-deploy
When a validated plan already exists:
azure-functions-deploy → azure-deploy
Before handing off, collect and pass the following Azure Functions-specific guidance to Azure Skills:
get_azure_bestpractices with resource: azurefunctions and action: deployment) when available.functionAppConfig with deployment storage for FC1 Function Apps.curl -I for HTTP trigger verification because HEAD can return false negatives.If Azure Skills is unavailable, stop and ask the user to install it for their host:
| 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 |
Prefer Azure Skills for all deployment execution. Use a Functions-specific fallback only when:
Before using a fallback, explain what will be skipped compared with azure-prepare → azure-validate → azure-deploy, and ask for confirmation.
Let azure-deploy own post-deploy verification. Add Azure Functions-specific reminders when relevant:
azure-functions-health-status for runtime health, metrics, and Application Insights checks.azure-functions-best-practices for production readiness after successful deployment.azd up progressThe azd up command uses animated progress bars that may not render correctly in agent terminal capture. If the output appears stuck on a spinner (e.g., repeated "Initialize bicep provider"), the deployment is likely still progressing normally in the background.
To monitor deployment progress independently:
# Check resource group creation
az group show --name rg-<env-name> -o json
# Check deployment status
az deployment group list --resource-group rg-<env-name> \
--query "[].{name:name, state:properties.provisioningState}" -o table
# Check Function App status
az functionapp list --resource-group rg-<env-name> \
--query "[].{name:name, state:state}" -o table
Do not kill and restart the azd up process based solely on lack of terminal output. Instead, use the commands above to verify whether the deployment is progressing.
✅ Your app is deployed through Azure Skills. Consider running
azure-functions-best-practicesfor a production readiness review.
azure-functions-setup to install or configure the Azure Skills plugin.azure-prepare and azure-validate before azure-deploy.azure-functions-best-practices for production readiness.azure-functions-diagnostics after azure-deploy error recovery is exhausted.