Skip to content
Skillpedia
Agents40k · #5150

foundry-agent-sync

Helps your agent create and synchronize other AI agents in Azure AI Foundry. It registers the agents directly with the service. Useful for managing and deploying AI agents.

What it does

This tool creates and updates AI agents directly within the Azure AI Foundry service. It uses a local configuration file (JSON) to define the agents and makes them available for use via the API or portal.

When to use it

  • ✓When you want to create new AI agents in Azure AI Foundry.
  • ✓When you need to synchronize your agent definitions with Foundry.
  • ✓When you want to register or update existing agents in the Foundry service.

Example of what to ask your AI

“Create and sync my AI agents in Azure AI Foundry using the foundry-agents.json file.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/foundry-agent-sync/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/foundry-agent-sync/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool reads a JSON file that describes your agents (like what they do and their instructions). It then sends this information to Azure AI Foundry via an API, registering or updating the agents so they can be used.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill foundry-agent-sync

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/foundry-agent-sync/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Foundry Agent Sync

Overview

Create and synchronize prompt-based AI agents directly within Azure AI Foundry via the Agent Service REST API. This skill registers agents in the Foundry service itself — making them immediately available for invocation, evaluation, and management through the Foundry portal or API. Each agent is created or updated idempotently via a named POST call, using definitions from a local JSON manifest file.

Key distinction: This skill creates agents inside AI Foundry (server-side). It does not scaffold local agent code or container images — for that, use the microsoft-foundry skill's create sub-skill.

Prerequisites

The user must have:

  1. An Azure AI Foundry project with a deployed model (e.g. gpt-5-4)
  2. Azure CLI (az) authenticated with access to the Foundry project
  3. The Azure AI User role (or higher) on the Foundry project resource

Collect these values before proceeding:

Value How to get it
Foundry project endpoint Azure Portal → AI Foundry project → Overview → Endpoint, or az resource show
Subscription ID az account show --query id -o tsv
Model deployment name The model name deployed in the Foundry project (e.g. gpt-5-4)

Manifest Format

The manifest is a JSON array where each entry defines one agent. Look for it at common paths: infra/foundry-agents.json, foundry-agents.json, or .foundry/agents.json. If none exists, scaffold one.

[
  {
    "useCaseId": "alert-triage",
    "description": "Short description of what this agent does.",
    "baseInstruction": "You are an assistant that... <system prompt for the agent>"
  }
]

Field Reference

Field Required Description
useCaseId Yes Kebab-case identifier; used to build the agent name ({prefix}-{useCaseId})
description Yes Human-readable description stored as agent metadata
baseInstruction Yes System prompt / base instructions for the agent

Sync Script

PowerShell (interactive / CI)

Create or locate the sync script. The canonical path is infra/scripts/sync-foundry-agents.ps1 but adapt to the repo layout.

param(
  [Parameter(Mandatory)]
  [string]$SubscriptionId,

  [Parameter(Mandatory)]
  [string]$ProjectEndpoint,

  [string]$ManifestPath = (Join-Path $PSScriptRoot '..\foundry-agents.json'),
  [string]$ModelName = 'gpt-5-4',
  [string]$AgentNamePrefix = 'myproject',
  [string]$ApiVersion = '2025-11-15-preview'
)

$ErrorActionPreference = 'Stop'

# Optional: append a common instruction suffix to every agent
$commonSuffix = ''

az account set --subscription $SubscriptionId | Out-Null
$accessToken = az account get-access-token --resource https://ai.azure.com/ --query accessToken -o tsv
if (-not $accessToken) { throw 'Failed to acquire Foundry access token.' }

$definitions = Get-Content -Raw -Path $ManifestPath | ConvertFrom-Json
$headers = @{ Authorization = "Bearer $accessToken" }
$results = @()

foreach ($def in $definitions) {
  $agentName = "$AgentNamePrefix-$($def.useCaseId)"
  $instructions = if ($commonSuffix) { "$($def.baseInstruction)`n`n$commonSuffix" } else { $def.baseInstruction }
  $body = @{
    definition  = @{ kind = 'prompt'; model = $ModelName; instructions = $instructions }
    description = $def.description
    metadata    = @{ useCaseId = $def.useCaseId; managedBy = 'foundry-agent-sync' }
  } | ConvertTo-Json -Depth 8

  $uri = "$($ProjectEndpoint.TrimEnd('/'))/agents/$agentName`?api-version=$ApiVersion"
  $resp = Invoke-RestMethod -Method Post -Uri $uri -Headers $headers -ContentType 'application/json' -Body $body
  $version = $resp.version ?? $resp.latest_version ?? $resp.id ?? 'unknown'
  Write-Host "Synced $agentName ($version)"
  $results += [pscustomobject]@{ name = $agentName; version = $version }
}

$results | Format-Table -AutoSize

Bash (Bicep deployment script / CI)

For automated deployment via Microsoft.Resources/deploymentScripts, use a bash script that:

  1. Authenticates with a managed identity: az login --identity --username "$CLIENT_ID"
  2. Acquires a Foundry token: az account get-access-token --resource https://ai.azure.com/
  3. Iterates definitions from the FOUNDRY_AGENT_DEFINITIONS environment variable (JSON string)
  4. POSTs each agent to {endpoint}/agents/{name}?api-version=2025-11-15-preview

Bicep Integration (optional)

To run the sync automatically during infrastructure deployment:

…

FAQ

What's the difference between this tool and others that create local code?

This tool creates and registers agents directly within the Azure AI Foundry service, making them immediately usable. Other tools might only generate code locally without registering them in the service.

What is a 'JSON manifest'?

It's a text file in JSON format that contains all the necessary information to define one or more AI agents, such as their description and base instructions.

Do I need to have anything set up beforehand?

Yes, you need an Azure AI Foundry project with a deployed model, the Azure CLI authenticated, and the 'Azure AI User' role on the project.

Details

Original description by the author

Create and synchronize prompt-based AI agents directly within Azure AI Foundry via REST API, from a local JSON manifest. Unlike scaffolding skills that only generate local code, this skill registers agents in the Foundry service itself — making them immediately available for invocation. Use when the user asks to create agents in Foundry, sync, deploy, register, or push agents to Foundry, update ag

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5150
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills