Files
wehub-resource-sync db620d33df
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:25 +08:00
..

File-Based Agent Skills Sample

This sample demonstrates how to use file-based Agent Skills with a ChatClientAgent.

What it demonstrates

  • Discovering skills from SKILL.md files on disk via AgentFileSkillsSource
  • The progressive disclosure pattern: advertise → load → read resources → run scripts
  • Using the AgentSkillsProvider constructor with a skill directory path and script runner
  • Running file-based scripts (Python) via a subprocess-based executor

Skills Included

unit-converter

Converts between common units (miles↔km, pounds↔kg) using a multiplication factor.

  • references/conversion-table.md — Conversion factor table
  • scripts/convert.py — Python script that performs the conversion

Running the Sample

Prerequisites

  • .NET 10.0 SDK
  • Azure OpenAI endpoint with a deployed model
  • Python 3 installed and available as python3 on your PATH

Setup

export AZURE_OPENAI_ENDPOINT="https://your-endpoint.openai.azure.com/"
export AZURE_OPENAI_DEPLOYMENT_NAME="gpt-5.4-mini"

Run

dotnet run

Expected Output

Converting units with file-based skills
------------------------------------------------------------
Agent: Here are your conversions:

1. **26.2 miles → 42.16 km** (a marathon distance)
2. **75 kg → 165.35 lbs**