All skills
microsoft avatar

/microsoft-foundry

@04110d9
by microsoftmicrosoft/skills3.1k stars
351

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 create, create agent, update agent, add tool to agent, invoke agent, agent.yaml, agent insights, pull agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, prompt optimizer, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure-prepare).

Use this Skill: https://skilld.dev/gh/microsoft/skills/microsoft-foundry

This session only. Nothing lands on disk.

foundry-agentcreatereferencesenable-incoming-a2a.md

≈935 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Enable Incoming A2A on a Foundry Agent

Expose a Foundry agent (prompt or hosted) as an Agent2Agent (A2A) endpoint so other agents can discover and call it.

Pick a path

Situation Path
Hosted agent, azd project on disk, new agent version is fine A. Declarative (azd deploy)
Same as above, want to change card / protocols without a new version B.1 azd ai agent endpoint update
Prompt agent, portal-created agent, no local project B.2 REST PATCH

Compose the agent card

Foundry validates the card — you can't enable A2A without one.

  • Required: description (one sentence), and skills[] with at least one entry containing id, name, description.
  • Optional: version (defaults to "1.0"), skills[].tags, skills[].examples.

Confirm with the user before writing. Never fabricate skills silently:

  1. If the agent's purpose is fresh context, propose a card and ask "OK to proceed with this?"
  2. If the target is unknown (existing agent, no context), fetch its record first, then draft from instructions / tools / description and ask the user to confirm or edit.
  3. If the agent already has an agent_card, show it and ask whether to keep, replace, or edit.

Path A: Declarative (azd deploy)

Add three blocks to the agent service in azure.yaml. All three are required — top-level protocols: declares the impl, agentEndpoint.protocols is the gate that exposes A2A, agentCard is validated on deploy.

services:
  my-hosted-agent:
    host: azure.ai.agent
    # ...existing service config...
    protocols:
      - protocol: responses
        version: 2.0.0
      - protocol: a2a          # (a) implementation
        version: 1.0.0
    agentEndpoint:
      protocols:               # (b) gate
        - responses
        - a2a
    agentCard:                 # (c) required when a2a is in endpoint protocols
      description: "One-sentence summary of the agent."
      version: "1.0"
      skills:
        - id: general-qa
          name: General Q&A
          description: "What this skill does."

Then azd deploy. Bakes A2A in from v1 on a fresh agent, or bumps to a new version on an existing one.

Path B.1: azd ai agent endpoint update (in place, no new version)

Same three-block YAML as Path A, but endpoint update PATCHes agent_endpoint and agent_card on the deployed agent without a new version:

azd ai agent endpoint update

Does not touch the top-level protocols: block — that's a per-version implementation declaration and only takes effect via azd deploy. If the deployed version doesn't already advertise a2a in its protocol_versions, use Path A first.

Path B.2: REST PATCH (universal fallback)

Works on any agent kind (prompt, portal-created, hosted without local checkout).

AGENT_NAME="prompt-a2a"
PROJECT_ENDPOINT="https://<account>.services.ai.azure.com/api/projects/<project>"
TOKEN=$(az account get-access-token --resource https://ai.azure.com --query accessToken -o tsv)

curl -X PATCH "$PROJECT_ENDPOINT/agents/$AGENT_NAME?api-version=v1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_card": {
      "description": "One-sentence summary of the agent.",
      "version": "1.0",
      "skills": [
        {"id": "general-qa", "name": "General Q&A", "description": "What this skill does."}
      ]
    },
    "agent_endpoint": { "protocols": ["responses", "a2a"] }
  }'

Verify

Fetch the v1.0 card — this is the discovery URL other agents will use:

curl "$PROJECT_ENDPOINT/agents/$AGENT_NAME/endpoint/protocols/a2a/agentCard/v1.0" \
  -H "Authorization: Bearer $TOKEN"

Source: SKILL.md on GitHub

2 warnings3d4 checks · Risk SAFE
  • Gen Agent Trust Hub3d

    This skill provides a comprehensive environment for managing the end-to-end lifecycle of AI agents, models, and infrastructure on Microsoft Foundry. It includes sub-skills for deployment, evaluation, fine-tuning, and troubleshooting. The skill utilizes dynamic code execution and shell command wrappers, which are used within the context of local development and cloud orchestration. All external resources and dependencies originate from trusted organizations and well-known services.

  • Socket3d

    2 alerts: gptSecurity, gptAnomaly

  • Snyk3d

    Risk: LOW · No issues

  • Runlayer7mo

    36/36 files flagged

Signed by skilld at 04110d9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated last week
metadata
{
  "author": "Microsoft",
  "version": "1.2.26"
}

README badge

README badge for microsoft/skills/microsoft-foundry