CtrlK
BlogDocsLog inGet started
Tessl Logo

microsoft-foundry

Deploy, evaluate, and manage Foundry agents end-to-end: Docker build, ACR push, hosted/prompt agent create, container start, batch eval, prompt optimization, agent.yaml, dataset curation from traces. USE FOR: deploy agent to Foundry, hosted agent, create agent, invoke agent, evaluate agent, run batch eval, optimize prompt, deploy model, Foundry project, RBAC, role assignment, permissions, quota, capacity, region, troubleshoot agent, deployment failure, create dataset from traces, dataset versioning, eval trending, create AI Services, Cognitive Services, create Foundry resource, provision resource, knowledge index, agent monitoring, customize deployment, onboard, availability. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure-prepare).

Install with Tessl CLI

npx tessl i github:microsoft/github-copilot-for-azure --skill microsoft-foundry
What are skills?

94

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

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
observeEval-driven optimization loop: evaluate → analyze → optimize → compare → iterateobserve
traceQuery traces, analyze latency/failures, correlate eval results to specific responses via App Insights customEventstrace
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
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 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

Repository
microsoft/github-copilot-for-azure
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.