microsoft-foundryby Azure

Use this skill to work with Microsoft Foundry (Azure AI Foundry): deploy AI models, manage hosted agent and prompt agent, manage RBAC permissions and role assignments, manage quotas and capacity, create Foundry resources.

npx skills add https://github.com/microsoft/GitHub-Copilot-for-Azure --skill microsoft-foundry

Microsoft Foundry Skill

This skill helps developers work with Microsoft Foundry resources, covering model discovery and deployment, complete dev lifecycle of AI agent, evaluation workflows, and troubleshooting.

Sub-Skills

MANDATORY: Before executing ANY workflow, you MUST read the corresponding sub-skill document. Do not call MCP tools for a workflow without reading its skill document. This applies even if you already know the MCP tool parameters — the skill document contains required workflow steps, pre-checks, and validation logic that must be followed. This rule applies on every new user message that triggers a different workflow, even if the skill is already loaded.

This skill includes specialized sub-skills for specific workflows. Use these instead of the main skill when they match your task:

Sub-SkillWhen to UseReference
deployContainerize, build, push to ACR, create/update/start/stop/clone agent deploymentsdeploy
invokeSend messages to an agent, single or multi-turn conversationsinvoke
troubleshootView container logs, query telemetry, diagnose failurestroubleshoot
createCreate new hosted agent applications. Supports Microsoft Agent Framework, LangGraph, or custom frameworks in Python or C#. Downloads starter samples from foundry-samples repo.create
project/createCreating a new Azure AI Foundry project for hosting agents and models. Use when onboarding to Foundry or setting up new infrastructure.project/create/create-foundry-project.md
resource/createCreating Azure AI Services multi-service resource (Foundry resource) using Azure CLI. Use when manually provisioning AI Services resources with granular control.resource/create/create-foundry-resource.md
models/deploy-modelUnified model deployment with intelligent routing. Handles quick preset deployments, fully customized deployments (version/SKU/capacity/RAI), and capacity discovery across regions. Routes to sub-skills: preset (quick deploy), customize (full control), capacity (find availability).models/deploy-model/SKILL.md
quotaManaging quotas and capacity for Microsoft Foundry resources. Use when checking quota usage, troubleshooting deployment failures due to insufficient quota, requesting quota increases, or planning capacity.quota/quota.md
rbacManaging RBAC permissions, role assignments, managed identities, and service principals for Microsoft Foundry resources. Use for access control, auditing permissions, and CI/CD setup.rbac/rbac.md

💡 Tip: For a complete onboarding flow: project/create → agent workflows (deployinvoke).

💡 Model Deployment: Use models/deploy-model for all deployment scenarios — it intelligently routes between quick preset deployment, customized deployment with full control, and capacity discovery across regions.

Agent Development Lifecycle

Match user intent to the correct workflow. Read each sub-skill in order before executing.

User IntentWorkflow (read in order)
Create a new agent from scratchcreatedeployinvoke
Deploy an agent (code already exists)deploy → invoke
Update/redeploy an agent after code changesdeploy → invoke
Invoke/test/chat with an agentinvoke
Troubleshoot an agent issueinvoke → troubleshoot
Fix a broken agent (troubleshoot + redeploy)invoke → troubleshoot → apply fixes → deploy → invoke
Start/stop agent containerdeploy

Agent: Project Context Resolution

Agent skills should run this step only when they need configuration values they don't already have. If a value (e.g., project endpoint, agent name) is already known from the user's message or a previous skill in the same session, skip resolution for that value.

Step 1: Detect azd Project

If any required configuration value is missing, check if azure.yaml exists in the project root (workspace root or user-specified project path). If found, run azd env get-values to load environment variables.

Step 2: Resolve Common Configuration

Match missing values against the azd environment:

azd VariableResolves ToUsed By
AZURE_AI_PROJECT_ENDPOINT or AZURE_AIPROJECT_ENDPOINTProject endpointdeploy, invoke, troubleshoot
AZURE_CONTAINER_REGISTRY_NAME or AZURE_CONTAINER_REGISTRY_ENDPOINTACR registry name / image URL prefixdeploy
AZURE_SUBSCRIPTION_IDAzure subscriptiontroubleshoot

Step 3: Collect Missing Values

Use the ask_user or askQuestions tool only for values not resolved from the user's message, session context, or azd environment. Common values skills may need:

  • Project endpoint — AI Foundry project endpoint URL
  • Agent name — Name of the target agent

💡 Tip: If the user provides a project endpoint or agent name in their initial message, extract it directly — do not ask again.

Agent: Agent Types

All agent skills support two agent types:

TypeKindDescription
Prompt"prompt"LLM-based agents backed by a model deployment
Hosted"hosted"Container-based agents running custom code

Use agent_get MCP tool to determine an agent's type when needed.

Tool Usage Conventions

  • Use the ask_user or askQuestions tool whenever collecting information from the user
  • Use the task or runSubagent tool to delegate long-running or independent sub-tasks (e.g., env var scanning, status polling, Dockerfile generation)
  • Prefer Azure MCP tools over direct CLI commands when available
  • Reference official Microsoft documentation URLs instead of embedding CLI command syntax

Additional Resources

SDK Quick Reference