Back

Microsoft Foundry

AI agents & workflows659.6K installs

What it does

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent, managed harness agent, Copilot…

Install

npx skills add https://github.com/microsoft/azure-skills --skill microsoft-foundry

Website

www.skills.sh/microsoft/azure-skills/microsoft-foundry

Details

From the skill’s SKILL.md or README, by its authors. View the original

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.

Pre-Execution Requirements

Follow each applicable subsection below before starting its corresponding action or workflow.

Dependency Check and Setup

MANDATORY: As the first step after this skill loads, run the dependency check and setup script below from this skill's root and wait for it to finish before continuing. The script checks first and installs only missing dependencies; it does not reinstall dependencies that are already available.

You MUST complete this check before reading or entering any sub-skill, workflow, or workflow-specific reference.

CommandWhat it does
./scripts/check-and-setup-dependencies.shmacOS / Linux
./scripts/check-and-setup-dependencies.ps1Windows (pwsh)

Strictly follow the script output for subsequent actions.

Workflow Guidance

MANDATORY: Before executing ANY workflow-specific steps, you MUST read the corresponding sub-skill document. Do not call workflow-specific 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.

Foundry MCP

MANDATORY: Before using Foundry MCP operations, call the Azure MCP foundry tool and inspect the available Foundry MCP tools and related parameters. Treat this as the discovery/help step for MCP-based workflows.

azd

MANDATORY: Before executing ANY azd command, you MUST read azd-guidance and strictly follow the shared rules defined in it, especially the AZURE_DEV_USER_AGENT setting rules.

Sub-Skills

This skill includes specialized sub-skills for specific workflows. When a sub-skill matches the task, strictly follow its workflow:

Sub-SkillWhen to UseReference
deployDeploy hosted agents to Foundry, smoke-test a deployment, create or update prompt agents, and manage agent versions and multi-environment deploys.deploy
cicdSet up a CI/CD deployment pipeline for a Foundry agent.cicd
invokeSend messages to an agent, single or multi-turn conversationsinvoke
routineSchedule or event-trigger Foundry agents with routines; use azd for CRUD, enable/disable, manual dispatch, and viewing past runs, or define routines in azure.yaml.routine
invocations-wsBuild, deploy, and connect to custom Hosted agents that use developer-defined duplex real-time or media streams over invocations_ws.invocations-ws
observeEvaluate agent quality, run batch evals, analyze failures, optimize prompts, improve agent instructions, compare versions, set up CI/CD monitoring, and enable continuous production evaluationobserve
insightsPull generated agent insights, evidence, and recommendations from an existing monitor; read-only retrieval, not a new analysis runinsights
traceQuery traces, analyze latency/failures, correlate eval results to specific responses via App Insights customEventstrace
troubleshootView hosted agent logs, query telemetry, diagnose failurestroubleshoot
validateUse only when the user explicitly asks to use this validation sub-skill or to validate Microsoft Foundry hosted-agent code against best practices. Never invoke it proactively or add it to another workflow.validate
create (quick start)Create a new hosted Foundry agent from scratch end-to-end — scaffold, provision or use an existing Foundry project, deploy, and smoke-test. Do not use for any work on existing code. For anything not covered by the quickstart, use create.create/quick-start-hosted.md
createUse when the standard end-to-end happy path (quick start) doesn't fit. Create a new Foundry agent, update code of an existing agent, continue development of an existing agent, wire connections at scaffold time, use advanced setup or A2A (Agent2Agent), or recover from a failed quickstart run.create
create managed harnessCreate or continue developing a Prompt Agent that explicitly uses the Foundry-managed Copilot harness. Uses azd and azure.yaml, not the ordinary Prompt Agent MCP workflow.create-managed-harness
create voiceCreate, configure, or extend a Foundry Voice Agent, defaulting generic requests to managed Prompt Voice and supporting self-deployed Prompt Voice or two-agent Hosted Voice.create-voice
agent-optimizerMake existing Python hosted-agent code optimization-ready, configure eval.yaml, run Agent Optimizer jobs, apply candidates locally, and deploy through azd after review.agent-optimizer
eval-datasetsHarvest production traces into evaluation datasets, manage dataset versions and splits, track evaluation metrics over time, detect regressions, and maintain full lineage from trace to deployment. Use for: create dataset from traces, dataset versioning, evaluation trending, regression detection, dataset comparison, eval lineage.eval-datasets
project/createCreating a new Microsoft 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
private-networkAnswer questions about Foundry network isolation and deploy Foundry with VNet isolation (BYO VNet, Managed VNet, hybrid). Covers architecture concepts, template selection, deployment, and post-deployment validation.resource/private-network/private-network.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
finetuningFine-tune models on Microsoft Foundry — SFT distillation, DPO preference optimization, RFT with graders and tool calling. Dataset preparation, grader calibration, training, checkpoint selection, deployment, evaluation. Use for: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, large file upload.finetuning/SKILL.md
azd-guidanceProvide shared azd knowledge and guidance for managing Foundry agents. Read this first for any workflows related to azd.azd-guidance

> 💡 Tip: For a complete onboarding flow: project/create (public) or private-network (VNet isolation) → models/deploy-model → agent workflows (create → deploy → invoke).

> 💡 Fine-Tuning: Use finetuning for all model customization — SFT distillation, DPO preference optimization, and RFT with graders. Includes quickstart, grader calibration, and training curve analysis.

> 💡 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.

> 💡 Prompt Optimization: For requests like optimize my prompt or improve my agent instructions, load observe and use the prompt_optimize MCP tool through that eval-driven workflow.

Infrastructure Lifecycle

Match user intent to the correct infrastructure workflow.

User IntentWorkflow
Create Foundry / Set up Foundry (ambiguous)Use AskUserQuestion: (a) just an AI Services resource, (b) a project with public access, or (c) a project with network isolation? Route: (a) → resource/create, (b) → project/create, (c) → private-network
Set up Foundry with VNet isolationprivate-network
Create a Foundry project (public)project/create
Create a bare Foundry resourceresource/create

Agent Development Lifecycle

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

User IntentWorkflow (read in order)
Create or develop a Voice Agent (Prompt Voice or Hosted Voice)dependency check and setup → azd-guidance → create-voice → deploy → invoke
Create or develop an explicitly requested Managed Harness Agent / Copilot harness agentdependency check and setup → azd-guidance → create-managed-harness → deploy → invoke
Create a new hosted agent end-to-end (scaffold + deploy + test)dependency check and setup → azd-guidance → quick-start-hosted (self-contained end-to-end)
Anything beyond the standard quickstart (existing code, migration, re-hosting, deployment customization, scaffold-time connections, A2A (Agent2Agent), recovery)dependency check and setup → azd-guidance → create → deploy → invoke
Optimize existing Python hosted agentdependency check and setup → azd-guidance → agent-optimizer → scaffold/review → eval.yaml → optimize → apply candidate → deploy → invoke
Deploy an agent (code already exists)dependency check and setup → azd-guidance → deploy (includes eval-suite setup) → invoke → observe (evaluate/optimize)
Update/redeploy an agent after code changesdependency check and setup → azd-guidance → deploy (includes eval-suite setup) → invoke → observe (evaluate/optimize)
Set up a CI/CD deployment pipeline for a hosted agentdependency check and setup → azd-guidance → cicd
Invoke/test/chat with an agentdependency check and setup → azd-guidance → invoke
Schedule/event-trigger an agent, or CRUD/enable/disable/dispatch a routinedependency check and setup → azd-guidance → routine
Optimize / improve agent prompt or instructionsobserve (Step 4: Optimize)
Evaluate and optimize agent (full loop)observe
Enable continuous evaluation monitoringobserve (Step 6: CI/CD & Monitoring)
Pull agent insights / list generated issues and recommendationsdependency check and setup → insights (all pages with expanded evidence; read-only)
Troubleshoot an agent issuedependency check and setup → azd-guidance → invoke → troubleshoot
Fix a broken agent (troubleshoot + redeploy)dependency check and setup → azd-guidance → invoke → troubleshoot → apply fixes → deploy → invoke

Agent: .foundry Workspace Standard

Every agent source folder can keep Foundry-specific cache and overlay state under .foundry/:

/
  .foundry/
    agent-metadata.yaml
    agent-metadata.prod.yaml
    suites/
    datasets/
    evaluators/
    results/
  • In azd projects, derive deployment context (project endpoint, agent name/version, ACR, App Insights) from azure.yaml plus azd env get-values; do not duplicate those values in metadata when azd already provides them.
  • agent-metadata.yaml is the preferred local/dev overlay for non-azd values, remote Foundry suite references, local cache paths, result summaries, and explicit overrides. Optional sidecar files such as agent-metadata.prod.yaml can hold a single prod or CI-targeted overlay without mixing multiple environments in one file.
  • suites/, datasets/, and evaluators/ are local cache folders. Reuse them when they are current, and ask before refreshing or overwriting them.
  • See Agent Metadata Contract for the canonical schema and workflow rules.

Agent: Setup References

  • Standard Agent Setup — advanced setup for production workloads that need data-residency control (bring-your-own Cosmos DB / Storage / AI Search via a Foundry capability host). The default azd ai agent flow uses Basic Agent Setup and does not provision capabilityHosts/agents — do not flag its absence as a bug. For default post-provision state, see the Expected env-var fingerprint section in foundry-agent/create/create-hosted.md.

Agent: Common Project Context Resolution

Agent skills should run this step only when they need configuration values they don't already have. If a value (for example, agent root, environment, project endpoint, or 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: Discover Agent Roots and azd Context

First check whether the workspace has azure.yaml with services using host: azure.ai.agent.

  • One azd agent service -> classify it from kind, harness, modelType, and conversationEngine, then use that service's project folder or the azure.yaml directory as the agent root.
  • Multiple azd agent services -> check whether a Voice wrapper references a kind: hosted service via conversationEngine.name:
  • Selecting the Hosted Voice wrapper implies its named kind: hosted target as an upstream dependency (uses: [], conversationEngine.name: ); deploy and verification must report both services separately.
  • Selecting the kind: hosted target alone scopes changes/debugging to the target container and does not automatically modify the wrapper.
  • Otherwise -> require the user to choose the target service/folder.
  • No azd agent service -> search the workspace for .foundry/ folders that contain agent-metadata.yaml or agent-metadata..yaml.
  • One match -> use that agent root.
  • Multiple matches -> require the user to choose the target agent folder.
  • No matches -> for insights, ask only for missing remote inputs without initializing local files; for create/deploy workflows, seed a new .foundry/ folder during setup; for other workflows, stop and ask the user which agent source folder to initialize.

After selecting an agent root, keep all local .foundry cache inspection, source inspection, evaluator suggestions, dataset suggestions, and prompt-optimization context inside that folder only. Do not scan sibling agent folders unless the user explicitly switches roots.

Step 2: Resolve Environment and Deployment Context

If azure.yaml is present, resolve the azd environment first:

  1. Environment explicitly named by the user
  2. AZURE_ENV_NAME from azd env get-values
  3. azd default environment from .azure/config.json
  4. Environment already selected earlier in the session

Run azd env get-values for the selected environment when project/deployment values are not already known. Prefer azd values for deployment context:

azd VariableResolves To
AZURE_AI_PROJECT_ENDPOINT or AZURE_AIPROJECT_ENDPOINTProject endpoint
AGENT__NAMEAgent name for the selected azd service
AGENT__VERSIONAgent version for the selected azd service
AZURE_CONTAINER_REGISTRY_NAME or AZURE_CONTAINER_REGISTRY_ENDPOINTACR registry name / image URL prefix
APPLICATIONINSIGHTS_CONNECTION_STRINGApp Insights connection string for trace workflows
AZURE_SUBSCRIPTION_ID, AZURE_RESOURCE_GROUP, AZURE_AI_ACCOUNT_NAME, AZURE_AI_PROJECT_NAMEAzure resource lookup and Playground links

When azd supplies these values, use them as the source of truth and do not copy them into .foundry/agent-metadata*.yaml on metadata writes.

Step 3: Select Metadata Overlay and Resolve Environment

Inside the selected agent root, choose the metadata file in this order:

  1. Metadata filename or path explicitly provided by the user or workflow
  2. If an explicit environment is already known and .foundry/agent-metadata..yaml exists, use that file
  3. .foundry/agent-metadata.yaml
  4. If multiple metadata files remain and no rule above selects one, prompt the user to choose

Read the selected metadata file and resolve any remaining environment choice in this order:

  1. Environment explicitly named by the user
  2. If the selected metadata file defines exactly one environment, use it
  3. Environment already selected earlier in the session
  4. defaultEnvironment from metadata

If the selected metadata file still contains multiple environments and none of the rules above selects one, prompt the user to choose. Keep the selected agent root, metadata file, environment, and whether context came from azd or metadata visible in every workflow summary.

If the selected environment exposes older `testSui

See all
  • AI agents & workflows

    Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist…

    npx skills add https://github.com/vercel-labs/skills --skill find-skills
    4.3M installs
  • AI agents & workflows

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a…

    npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser
    1.4M installs
  • AI agents & workflows

    Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

    npx skills add https://github.com/mattpocock/skills --skill setup-matt-pocock-skills
    1.1M installs
  • AI agents & workflows

    Compact the current conversation into a handoff document for another agent to pick up.

    npx skills add https://github.com/mattpocock/skills --skill handoff
    1.1M installs

Skills are shared by members and not reviewed by us. Read a skill’s code before you install it.

Microsoft Foundry: AI agent skill | Tool Directory AI