mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
3a49b1d6dd
* [BREAKING] Remove deprecated Python OpenAI/Azure AI surfaces Also clean up follow-on docs, environment guidance, package metadata, and lab test stability. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix deleted semantic-kernel sample links Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR review feedback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * improve foundry language * Fix A2A Foundry sample regression Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3a49b1d6dd
·
2026-03-31 20:36:21 +00:00
History
File-Based Agent Skills
This sample demonstrates how to use file-based Agent Skills with a SkillsProvider in the Microsoft Agent Framework. File-based skills are discovered from SKILL.md files on disk and can include reference documents and executable scripts.
What are Agent Skills?
Agent Skills are modular packages of instructions and resources that enable AI agents to perform specialized tasks. They follow the Agent Skills specification and implement progressive disclosure:
- Advertise: Skills are advertised with name + description (~100 tokens per skill)
- Load: Full instructions are loaded on-demand via
load_skilltool - Resources: References and other files loaded via
read_skill_resourcetool - Scripts: Executable scripts run via
run_skill_scripttool
Skills Included
unit-converter
Converts between common units (miles↔km, pounds↔kg) using a multiplication factor following agentskills.io guidelines.
references/CONVERSION_TABLES.md— Supported conversions and their factorsscripts/convert.py— Executable script with--valueand--factorflags, JSON output, and--helpsupport
Key Components
SkillsProvider— Discovers skills fromSKILL.mdfiles in a directory and registers tools for the agentsubprocess_script_runner— ASkillScriptRunnercallback that runs scripts as local Python subprocesses, enabling therun_skill_scripttool. Converts argument dicts to CLI flags (e.g.{"value": 26.2, "factor": 1.60934}→--value 26.2 --factor 1.60934). Shared across samples in../subprocess_script_runner.py.
Project Structure
file_based_skill/
├── file_based_skill.py
├── README.md
└── skills/
└── unit-converter/
├── SKILL.md
├── references/
│ └── CONVERSION_TABLES.md
└── scripts/
└── convert.py
Running the Sample
Prerequisites
- An Azure AI Foundry project with a deployed model (e.g.
gpt-4o-mini)
Environment Variables
Set the required environment variables in a .env file (see python/.env.example):
FOUNDRY_PROJECT_ENDPOINT: Your Azure AI Foundry project endpointAZURE_OPENAI_DEPLOYMENT_NAME: The name of your model deployment (defaults togpt-4o-mini)
Authentication
This sample uses AzureCliCredential for authentication. Run az login in your terminal before running the sample.
Run
cd python
uv run samples/02-agents/skills/file_based_skill/file_based_skill.py