Official agent skill

Azure AI Agent App Deployment

by Azure-Samples in Azure-Samples/get-started-with-ai-agents

Creates an azd environment, checks RBAC and model quota, provisions an AI agent app on Azure with azd up and health-checks the deployed app.

OfficialMITAuto-check: notesDevOps & Cloud

Install Azure AI Agent App Deployment

skills CLI
$ npx skills add Azure-Samples/get-started-with-ai-agents --skill up -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Azure-Samples/get-started-with-ai-agents up --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Azure-Samples/get-started-with-ai-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/up .claude/skills/up && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
up
GitHub stars
374
Token cost
~4.7k tokens
SKILL.md length
2,016 words
Files
2
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Creates an azd environment, checks RBAC and model quota, provisions an AI agent app on Azure with azd up and health-checks the deployed app.

  • Works in 12 steps: Choose environment name → Resolve subscription → Check RBAC permissions (prerequisite) → …
  • Deploying the AI agent sample app to a new Azure environment
  • SKILL.md covers Goal, Before starting, Terminal usage and Steps
  • Calls az

What it does

The goal is to provision a fresh Azure environment end to end and confirm the app starts. The agent re-reads its own SKILL.md from disk first, then makes you pick an environment before anything else: it lists existing azd environments, notes the default, and suggests a new name by incrementing the highest numbered one it finds, for example agent1 to agent2, or generating a default name when none are numbered.

It then checks prerequisites such as RBAC and model quota, provisions the infrastructure with `azd up`, and health-checks the app. All commands run in the PowerShell tool. Quick ones like `az account show`, `az role assignment list`, `azd env new` and `azd env set` run synchronously with a 30-second wait, while `azd up` and `azd down` run asynchronously and are polled every 15 to 20 seconds so you see streaming output as it happens. Related short commands are chained into one call when no branching is needed. An example run is included as `up-example.md`.

When your agent uses it

  • Deploying the AI agent sample app to a new Azure environment
  • Choosing or creating an azd environment name
  • Checking RBAC and model quota before provisioning
  • Verifying that the deployed agent app responds

Example prompts

  • “Run azd up for the agent app in a new environment and check that it starts.”
  • “List my azd environments and suggest the next environment name.”
  • “Check whether I have the role assignments and model quota to deploy before provisioning.”
  • “Provision the sample in a fresh environment and run a health check against the deployed app.”

Requirements

  • The az and azd command-line tools, signed in to Azure
  • Role assignment rights and model quota in the target subscription
  • PowerShell

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Choose environment name
  2. Resolve subscription
  3. Check RBAC permissions (prerequisite)
  4. Resolve region
  5. Check agent model quota (prerequisite)
  6. Ask about Azure AI Search
  7. Check embedding model quota (if AI Search enabled)
  8. Create the azd environment and set overrides
  9. Run azd up
  10. Retrieve the app endpoint
  11. Health-check the app
  12. Report results

What it can do on your machine

Read from SKILL.md and the folder at commit 10eb421. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • az

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use az, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Azure AI Agent App Deployment loads about 4.7k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 2,016 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:465
    , fall back to reading `.azure/<envName>/.env` and parsing the `SERVICE_API_URI` line.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Azure-Samples/get-started-with-ai-agents at commit 10eb421, republished under its MIT licence (© Azure-Samples). 2,016 words, ~4,655 tokens.

Download SKILL.mdSave it as .claude/skills/up/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
up
description
Creates an azd environment, checks prerequisites (RBAC, model quota), provisions the AI agent app infrastructure via `azd up`, and health-checks the deployed app.

Up Skill

Goal

Provision a fresh Azure environment end-to-end and verify the app starts successfully.

Before starting

When the skill is triggered, always re-read this SKILL.md file from disk before executing, in case it has been updated since the last run.

Then proceed to Step 1 (Choose environment name) immediately — the user must pick an environment before anything else.

Terminal usage

All shell commands in this skill must be run using the powershell tool with mode="sync". Use a short initial_wait (30 seconds) for quick commands like az account show, az ad signed-in-user show, az role assignment list, azd env list, azd env new, and azd env set.

Exception — azd up and azd down: These long-running commands must be run with mode="async" and a short initial_wait (10 seconds) so the user can see streaming progress output in real time (just like running in a terminal). After launching, poll frequently using read_powershell with a short delay (15–20 seconds) — this is critical so the user sees output updates as they happen, similar to watching the command in a terminal. Keep calling read_powershell in a loop (each call in a new response turn) until the command completes or you receive a completion notification. Do NOT use long delays like 120 seconds — that defeats the purpose of streaming output.

Chain short related commands with && or ; into a single powershell call when they have no branching logic between them.

Steps

1. Choose environment name
1a. Resolve existing environment

First, check whether there is already a default azd environment:

powershell
$existingEnvs = azd env list -o json 2>$null | ConvertFrom-Json

Find the default environment (the entry where IsDefault is true or the DefaultEnvironment field is set, depending on the azd version).

1b. Generate a suggested new name

Regardless of whether a default environment exists, always prepare a suggested new name for use as a choice.

Scan $existingEnvs for names matching the pattern <prefix><number> (e.g., agent1, test-env3, agent-qt-2). If found, take the one with the highest number and suggest the next increment (e.g., agent2, test-env4, agent-qt-3).

If no numbered environments exist, generate a default name:

powershell
$suffix = -join ((0..9) + ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z') | Get-Random -Count 6)
$suggestedName = "agent-qt-$suffix"
1c. Ask the user

If a default environment was found, present the user with choices:

  1. Use the current environment <defaultEnvName> — re-provision/update the existing environment (first choice, include the environment name in the label)
  2. Create a new environment <suggestedName> — use the suggested new name from 1b
  3. Enter a different name — the user provides their own name

For example:

Do you want to azd up the current environment agent-qt-2, or create a new one?

If no default environment was found, present the user with choices:

  1. Use the suggested name <suggestedName> — use the name generated in 1b
  2. Enter a different name — the user provides their own name
  • If the user provides a different name, use their name instead.
  • Environment names must be lowercase alphanumeric and hyphens only, max 64 characters.

The resource group will be rg-<envName>.

1½. Check for existing AI project (shortcut)

After resolving the environment name, check whether the selected environment already has AZURE_EXISTING_AIPROJECT_RESOURCE_ID set:

powershell
$existingProject = azd env get-value AZURE_EXISTING_AIPROJECT_RESOURCE_ID --environment $envName 2>$null

If the value is non-empty, the environment is pre-configured to use an existing AI project. Print the short-path steps overview and jump directly to Step 9 (azd up):

Up Skill — Steps Overview (environment: <envName>, existing AI project)

  1. ✅ Choose environment name 2–8. ⏭️ Skipped (existing AI project detected)
  2. Run azd up
  3. Retrieve the app endpoint
  4. Health-check the app
  5. Report results

If the value is empty or not set, print the full-path steps overview and continue to Step 2:

Up Skill — Steps Overview (environment: <envName>)

  1. ✅ Choose environment name
  2. Resolve subscription
  3. Check RBAC permissions
  4. Resolve region
  5. Check agent model quota
  6. Ask about Azure AI Search
  7. Check embedding model quota (if AI Search enabled)
  8. Create the azd environment and set overrides
  9. Run azd up
  10. Retrieve the app endpoint
  11. Health-check the app
  12. Report results
2. Resolve subscription

Auto-detect the default Azure Subscription ID using this priority order (use the first one found):

  1. Environment variable AZURE_SUBSCRIPTION_ID
  2. azd config get defaults.subscription (may return empty)
  3. az account show --query id -o tsv (current Azure CLI login)

Present the user with 2 choices:

  1. Use the detected subscription — show the subscription ID (and name if available via az account show --query "{id:id, name:name}" -o json) as the default choice
  2. Enter a different subscription — prompt the user to input a subscription ID

If no subscription was detected, skip choice 1 and ask the user to provide one directly.

Show the resolved subscription to the user for confirmation before proceeding.

3. Check RBAC permissions (prerequisite)

Verify the user has sufficient permissions to create role assignments on the subscription, which is required for provisioning. The user needs Owner or User Access Administrator — either assigned directly or inherited through a group membership.

3a. Check direct role assignments
powershell
$principalId = az ad signed-in-user show --query id -o tsv
$subScope = "/subscriptions/<subscriptionId>"
$roles = az role assignment list --assignee $principalId --scope $subScope --query "[].roleDefinitionName" -o json | ConvertFrom-Json

Check if $roles contains Owner or User Access Administrator.

  • If yes, proceed to Step 4.
  • If no, continue to 3b to check group-based assignments.
3b. Check group-based role assignments

The user may hold the required role through a group membership. Query the user's group memberships and check whether any of those groups have the required roles on the subscription.

powershell
$groupIds = az ad signed-in-user get-member-of --query "[].id" -o json | ConvertFrom-Json

If $groupIds is non-empty, check role assignments for each group on the subscription:

powershell
$groupRoles = @()
foreach ($gid in $groupIds) {
    $gr = az role assignment list --assignee $gid --scope $subScope --query "[].roleDefinitionName" -o json 2>$null | ConvertFrom-Json
    if ($gr) { $groupRoles += $gr }
}

Check if $groupRoles contains Owner or User Access Administrator.

  • If yes, proceed to Step 4.
  • If no, report the issue:
    • Show the subscription name and ID that failed the check
    • Show the user's current roles on the subscription
    • Explain that azd up will fail because the deployment creates Microsoft.Authorization/roleAssignments
    • Present 3 choices:
      1. "I just added the role — re-check" → Re-run the RBAC check on the same subscription
      2. "Use a different subscription" → Prompt the user for a new subscription ID, then go back to Step 3
      3. "Exit" → Stop the skill
4. Resolve region

Check environment variable AZURE_LOCATION first. If not set, ask the user — must be one of: eastus, eastus2, swedencentral, westus, westus3. Default to eastus if the user has no preference.

Show the resolved region to the user for confirmation before proceeding.

5. Check agent model quota (prerequisite)

Before provisioning, verify the default agent model has sufficient quota in the selected region.

Default model: gpt-5-mini | SKU: GlobalStandard | Required capacity: 80

5a. Query quota and model availability
powershell
$usage = az cognitiveservices usage list --location <region> --subscription <subscriptionId> -o json | ConvertFrom-Json
$modelList = az cognitiveservices model list --location <region> --subscription <subscriptionId> -o json | ConvertFrom-Json

Cache both $usage and $modelList — they are reused in Step 7 for embedding checks.

5b. Check default agent model quota
powershell
$defaultUsageName = "OpenAI.GlobalStandard.gpt-5-mini"
$entry = $usage | Where-Object { $_.name.value -eq $defaultUsageName }

If the entry exists, compute available = limit - currentValue.

  • If available >= 80, the default model has enough quota — skip to Step 6.
  • If the entry is missing, the model/SKU is not available in this region — continue to 5c.
  • If available < 80, quota is insufficient — continue to 5c.

Report the finding to the user (e.g., "gpt-5-mini has 40/80 quota available — insufficient").

5c. Find alternative agent models

From the quota usage list, find all GPT entries with Global or GlobalStandard SKUs that have sufficient available quota:

powershell
$gptEntries = $usage | Where-Object {
    $_.name.value -match '^OpenAI\.(Global|GlobalStandard)\.gpt-' -and
    ($_.limit - $_.currentValue) -ge 80
}

For each candidate, cross-reference with $modelList to confirm the model is actually deployable (exists with format OpenAI and is not retired). Discard any candidate not confirmed by the model list.

5d. Rank agent model candidates

Use this preference order (higher is better):

  1. gpt-5.2
  2. gpt-5.2-mini
  3. gpt-5.1
  4. gpt-5.1-mini
  5. gpt-5
  6. gpt-5-mini
  7. gpt-4.1
  8. gpt-4.1-mini
  9. gpt-4o
  10. gpt-4o-mini

Within the same model name, prefer GlobalStandard over Global.

Show full SKILL.md (803 more words)Show less
5e. Suggest the best alternative

Present the top candidate to the user with:

  • Model name
  • SKU type (Global or GlobalStandard)
  • Available quota

Ask for confirmation before proceeding.

5f. Resolve agent model version

For the selected model, look up the version from the model list:

powershell
$match = $modelList | Where-Object {
    $_.model.name -eq '<selectedModel>' -and
    $_.model.format -eq 'OpenAI'
}

If multiple versions exist, prefer the newest Generally Available version. If only preview versions exist, warn the user before proceeding.

Store the resolved agent model name, SKU, and version for use in Step 8.

5g. No agent model quota available

If no GPT model in Global or GlobalStandard has sufficient quota (≥ 80) in the selected region, stop and report the issue. Suggest the user try a different region or request a quota increase.

Ask the user whether they want to enable Azure AI Search for this deployment. Azure AI Search adds vector search and RAG capabilities but requires an embedding model and an additional Azure Search resource.

  • Default is No (matches USE_AZURE_AI_SEARCH_SERVICE=false in the template).
  • If the user says Yes, proceed to Step 7 to check embedding model quota.
  • If the user says No, skip Step 7 entirely and proceed to Step 8.
7. Check embedding model quota (if AI Search enabled)

Only run this step if the user opted into Azure AI Search in Step 6.

Default model: text-embedding-3-small | SKU: Standard | Required capacity: 50

7a. Check default embedding model quota

Reuse the $usage and $modelList cached from Step 5a.

powershell
$embedUsageName = "OpenAI.Standard.text-embedding-3-small"
$embedEntry = $usage | Where-Object { $_.name.value -eq $embedUsageName }

If the entry exists, compute available = limit - currentValue.

  • If available >= 50, the default embedding model has enough quota — skip to Step 8.
  • If the entry is missing or available < 50 — continue to 7b.

Report the finding to the user.

7b. Find alternative embedding models

From the quota usage list, find all embedding entries with sufficient quota:

powershell
$embedEntries = $usage | Where-Object {
    $_.name.value -match '^OpenAI\.(Global|GlobalStandard|Standard)\.text-embedding-' -and
    ($_.limit - $_.currentValue) -ge 50
}

Cross-reference with $modelList to confirm each candidate is deployable.

7c. Rank embedding model candidates

Use this preference order (higher is better):

  1. text-embedding-3-large
  2. text-embedding-3-small
  3. text-embedding-ada-002

Within the same model name, prefer Standard over GlobalStandard over Global.

7d. Suggest the best alternative

Present the top candidate to the user with model name, SKU, and available quota. Ask for confirmation before proceeding.

7e. Resolve embedding model version

For the selected model, look up the version from $modelList:

powershell
$embedMatch = $modelList | Where-Object {
    $_.model.name -eq '<selectedEmbedModel>' -and
    $_.model.format -eq 'OpenAI'
}

Prefer the newest Generally Available version.

Store the resolved embedding model name, SKU, version, and dimensions for use in Step 8.

Note: If using text-embedding-3-large, set dimensions to 1536. If using text-embedding-3-small, set dimensions to 1536. If using text-embedding-ada-002, set dimensions to 1536.

7f. No embedding model quota available

If no embedding model has sufficient quota (≥ 50) in the selected region, warn the user that AI Search cannot be enabled. Offer to proceed without AI Search (set USE_AZURE_AI_SEARCH_SERVICE=false) or stop.

8. Create the azd environment and set overrides
8a. Create the environment

If the user chose an existing environment in Step 1c, skip creation — the environment already exists. Proceed to 8b.

If the user chose a new environment name, create it:

powershell
azd env new $envName --no-prompt

If this fails, stop and report the error.

8b. Set subscription, region, and model overrides
powershell
azd env set AZURE_SUBSCRIPTION_ID <subscriptionId> --environment $envName --no-prompt
azd env set AZURE_LOCATION <region> --environment $envName --no-prompt

Use the values collected in Steps 2 and 4.

If Step 5 determined an alternative agent model, apply the agent model overrides:

powershell
azd env set AZURE_AI_AGENT_MODEL_NAME "<selectedAgentModel>" --environment $envName --no-prompt
azd env set AZURE_AI_AGENT_DEPLOYMENT_SKU "<selectedAgentSku>" --environment $envName --no-prompt
azd env set AZURE_AI_AGENT_MODEL_VERSION "<selectedAgentVersion>" --environment $envName --no-prompt
azd env set AZURE_AI_AGENT_MODEL_FORMAT "OpenAI" --environment $envName --no-prompt
azd env set AZURE_AI_AGENT_DEPLOYMENT_CAPACITY "80" --environment $envName --no-prompt

If the user enabled AI Search (Step 6), set:

powershell
azd env set USE_AZURE_AI_SEARCH_SERVICE "true" --environment $envName --no-prompt

If Step 7 determined an alternative embedding model, apply the embedding model overrides:

powershell
azd env set AZURE_AI_EMBED_MODEL_NAME "<selectedEmbedModel>" --environment $envName --no-prompt
azd env set AZURE_AI_EMBED_DEPLOYMENT_NAME "<selectedEmbedModel>" --environment $envName --no-prompt
azd env set AZURE_AI_EMBED_DEPLOYMENT_SKU "<selectedEmbedSku>" --environment $envName --no-prompt
azd env set AZURE_AI_EMBED_MODEL_VERSION "<selectedEmbedVersion>" --environment $envName --no-prompt
azd env set AZURE_AI_EMBED_DIMENSIONS "<dimensions>" --environment $envName --no-prompt
9. Run azd up

This provisions infrastructure and deploys the app. It typically takes 10–15 minutes.

Run with mode="async" so the user sees live streaming output:

powershell
azd up --environment $envName --no-prompt

After launching, poll with short delays — call read_powershell with a 15–20 second delay on each turn, and show the user whatever new output appeared. Repeat in a loop (one read_powershell per response turn) until the command completes. This gives the user a near-real-time view of provisioning progress. Do NOT use 120-second delays.

  • If azd up fails, report the error and offer to run azd down --environment $envName --force --purge --no-prompt (also mode="async") to clean up.
  • If azd up succeeds, proceed to the health check.
10. Retrieve the app endpoint

After azd up succeeds, get the deployed app URL:

powershell
$serviceUri = azd env get-value SERVICE_API_URI --environment $envName

If that returns empty, fall back to reading .azure/<envName>/.env and parsing the SERVICE_API_URI line.

11. Health-check the app

Try up to 5 times (15 seconds apart) to reach the app:

powershell
$healthy = $false
for ($i = 1; $i -le 5; $i++) {
    try {
        $resp = Invoke-WebRequest -Uri $serviceUri -UseBasicParsing -TimeoutSec 30 -ErrorAction Stop
        if ($resp.StatusCode -ge 200 -and $resp.StatusCode -lt 400) {
            $healthy = $true
            Write-Host "Attempt $i - HTTP $($resp.StatusCode) - App is running!"
            break
        }
    } catch {
        Write-Host "Attempt $i - $($_.Exception.Message)"
    }
    if ($i -lt 5) { Start-Sleep -Seconds 15 }
}
12. Report results

Print a summary with:

FieldValue
Subscription<subscriptionId>
Environment$envName
Resource Grouprg-$envName
Region<region>
Agent Model<agentModel> (<agentSku>)
AI SearchEnabled / Disabled
Embedding Model<embedModel> (<embedSku>) or N/A
App URL$serviceUri
Status✅ PASS or ❌ FAIL
  • PASS = azd up succeeded AND health check returned HTTP 2xx/3xx.
  • FAIL = either azd up failed or the app did not respond after 5 retries.

If the test failed, ask the user whether to tear down with:

powershell
azd down --environment $envName --force --purge --no-prompt

If the test passed, congratulate and remind them the environment is still running (costs apply) and offer to tear it down.

© Azure-Samples, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .github/skills/up of Azure-Samples/get-started-with-ai-agents.

  • SKILL.md
  • up-example.md

Open the folder on GitHubat commit 10eb421

Compare with similar skills

Azure AI Agent App Deployment next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Azure AI Agent App Deployment compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Azure AI Agent App Deployment this skillAzure-Samples/get-started-with-ai-agents374—~4.7kAutomated safety check: NotesMIT
Azure Architecture Autopilotgithub/awesome-copilot40k1 repos~1.9kAutomated safety check: PassMIT
Azure Bicep Skilltimothywarner-org/claude-code224—~2.9kAutomated safety check: PassMIT
Update Help PlaceholdersPSBicep/PSBicep152—~299Automated safety check: PassMIT
Azsdk Common Live And Recorded TestsAzure/azure-sdk-tools134—~1.5kAutomated safety check: NotesMIT
Azv Azure To BicepAzure/AZVerify101—~5.4kAutomated safety check: WarnMIT

Similar skills

  • Azure Architecture Autopilot

    github/awesome-copilot

    Official

    Designs Azure infrastructure from a natural-language description, or diagrams an existing resource group, then refines the design through conversation and deploys it with Bicep.

    40k GitHub starsUsed in 1 repo~1.9k tokens
    DevOps & CloudAuto-check passed
  • Azure Bicep Skill

    timothywarner-org/claude-code

    A skill your agent uses when authoring, reviewing, or refactoring Azure Bicep code.

    224 GitHub stars~2.9k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Update placeholders in PSBicep help markdown files. An agent skill from PSBicep/PSBicep.

    152 GitHub stars~299 tokensUpdated 14 days ago
    DevOps & CloudAuto-check passed
  • Official

    Deploy test resources and run Azure SDK tests in live, record, or playback mode.

    134 GitHub stars~1.5k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Azv Azure To Bicep

    Azure/AZVerify

    Official

    Reverse-engineer a live Azure scope (resource group or filtered subscription) into deployment-ready, modular Bicep templates with parameter files.

    101 GitHub stars~5.4k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check: warnings
  • Azure AI Projects TS

    microsoft/skills

    Official

    Build AI applications using Azure AI Projects SDK for JavaScript (@azure/ai-projects).

    3.1k GitHub starsUsed in 6 repos~1.9k tokens
    DevOps & CloudAuto-check passed

Questions about Azure AI Agent App Deployment

What does Azure AI Agent App Deployment do?

Creates an azd environment, checks RBAC and model quota, provisions an AI agent app on Azure with azd up and health-checks the deployed app. The goal is to provision a fresh Azure environment end to end and confirm the app starts.md from disk first, then makes you pick an environment before anything else: it lists existing azd environments, notes the default, and suggests a new name by incrementing the highest numbered one it finds, for example agent1 to agent2, or generating a default name when none are numbered.

When should I use Azure AI Agent App Deployment?

Azure AI Agent App Deployment fits situations like: deploying the AI agent sample app to a new Azure environment; choosing or creating an azd environment name; checking RBAC and model quota before provisioning; verifying that the deployed agent app responds.

How do I install Azure AI Agent App Deployment in Claude Code?

Run `npx skills add Azure-Samples/get-started-with-ai-agents --skill up -a claude-code`. Or copy the skill folder (.github/skills/up in Azure-Samples/get-started-with-ai-agents) into .claude/skills/up in your project. Claude Code loads it when a task matches its description.

How do I install Azure AI Agent App Deployment in Codex?

Run `npx skills add Azure-Samples/get-started-with-ai-agents --skill up -a codex`. Or copy the skill folder (.github/skills/up in Azure-Samples/get-started-with-ai-agents) into .agents/skills/up in your project. Codex loads it when a task matches its description.

Can I use Azure AI Agent App Deployment in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Azure-Samples/get-started-with-ai-agents --skill up -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/up, .gemini/skills/up, .github/skills/up and .opencode/skills/up in your project.

What does Azure AI Agent App Deployment need to run?

Going by SKILL.md and its folder, Azure AI Agent App Deployment needs the command-line tools its instructions call (az). Our summary lists: The az and azd command-line tools, signed in to Azure; Role assignment rights and model quota in the target subscription; PowerShell.

Does Azure AI Agent App Deployment access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Azure AI Agent App Deployment safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Azure AI Agent App Deployment use?

Azure AI Agent App Deployment is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Azure AI Agent App Deployment use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Azure AI Agent App Deployment?

Skills that share tags, products or a category with Azure AI Agent App Deployment: Azure Architecture Autopilot (github/awesome-copilot, 40k stars), Azure Bicep Skill (timothywarner-org/claude-code, 224 stars), Update Help Placeholders (PSBicep/PSBicep, 152 stars) and Azsdk Common Live And Recorded Tests (Azure/azure-sdk-tools, 134 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Azure AI Agent App Deployment?

Azure-Samples (a GitHub organization, an official publisher) maintains it in Azure-Samples/get-started-with-ai-agents, which has 374 GitHub stars. The repository was last updated on August 11, 2026.

Source: Azure-Samples/get-started-with-ai-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.