mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
23ebfbc937
* support skill scripts execution * fix mixed line endings * address comments and fix syntax issues * use few try/except instead of one * change samples * validate either script path or script resource is set not both * fix: separate LLM args from runtime kwargs in skill script execution * address pr review comments * address PR review comments * Update python/packages/core/agent_framework/_skills.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update python/packages/core/agent_framework/_skills.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update python/packages/core/agent_framework/_skills.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * 1. Fixing the caching bug where parameters_schema would re-inspect on every call when the result was None 2. Updating the arguments tool description to be more generic (not CLI-specific) * fix failing tests * address pr review comments * address pr review comments * allow resource function returning any instead of sting * address PR review comments --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1.6 KiB
1.6 KiB
Code-Defined Agent Skills
This sample demonstrates how to create Agent Skills in Python code, without needing SKILL.md files on disk. A unit-converter skill shows three approaches:
What's Demonstrated
- Static Resources — Pass inline content via the
resourcesparameter when constructing aSkill - Dynamic Resources — Attach callable functions via the
@skill.resourcedecorator that return content computed at runtime - Dynamic Scripts — Attach callable scripts via the
@skill.scriptdecorator (unit conversion via a single factor parameter)
All three can be combined with file-based skills in a single SkillsProvider.
Project Structure
code_defined_skill/
├── code_defined_skill.py
└── README.md
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):
AZURE_AI_PROJECT_ENDPOINT: Your Azure AI Foundry project endpointAZURE_OPENAI_RESPONSES_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/code_defined_skill/code_defined_skill.py