Files
agent-framework/dotnet/samples/02-agents/AgentSkills/Agent_Step03_ClassBasedSkills
T
SergeyMenshykh 3fc1d00026 .NET: skill as class (#5027)
* add class-based skills

* address formating issues

* Remove generated filtered-unit.slnx and add to .gitignore

The filtered solution file is generated dynamically by
eng/scripts/New-FilteredSolution.ps1 during CI. Checking it in
risks it becoming stale and out-of-sync with the real solution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove generated filtered-unit.slnx and add to .gitignore

The filtered solution file is generated dynamically by
eng/scripts/New-FilteredSolution.ps1 during CI. Checking it in
risks it becoming stale and out-of-sync with the real solution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* consolidate DI samples into one

* fix file encoding

* suppress compatibility warning

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3fc1d00026 · 2026-04-03 11:27:36 +00:00
History
..
2026-04-03 11:27:36 +00:00
2026-04-03 11:27:36 +00:00

Class-Based Agent Skills Sample

This sample demonstrates how to define Agent Skills as C# classes using AgentClassSkill.

What it demonstrates

  • Creating skills as classes that extend AgentClassSkill
  • Bundling name, description, body, resources, and scripts into a single class
  • Using the AgentSkillsProvider constructor with class-based skills

Skills Included

unit-converter (class-based)

A UnitConverterSkill class that converts between common units. Defined in Program.cs:

  • conversion-table — Static resource with factor table
  • convert — Script that performs value × factor conversion

Running the Sample

Prerequisites

  • .NET 10.0 SDK
  • Azure OpenAI endpoint with a deployed model

Setup

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

Run

dotnet run

Expected Output

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

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