mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
ab09246dc4
* Fix Skill docstring consistency and spelling - Add ClassSkill to Skill class docstring concrete implementations list - Normalize 'defence' to 'defense' for American English consistency - Remove extra blank line in InlineSkill docstring example Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix E501 line-too-long lint error in test_skills.py Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix stale test section header to reflect SkillFrontmatter API Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix metadata children overriding top-level frontmatter fields Scope YAML_KV_RE to column-0 keys only so indented children under metadata: are not mistakenly parsed as top-level fields. Add regression test and spec fields to sample SKILL.md files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ab09246dc4
·
2026-05-13 20:35:52 +00:00
History
Script Approval — Human-in-the-Loop for Skill Scripts
This sample demonstrates how to require human approval before executing skill scripts using the require_script_approval=True option on SkillsProvider.
How It Works
When require_script_approval=True is set, the agent pauses before executing any skill script and returns approval requests instead:
- The agent tries to call
run_skill_script— execution is paused result.user_input_requestscontains approval request(s) with function name and arguments- The application inspects each request and decides to approve or reject
request.to_function_approval_response(approved=True|False)creates the response- The response is sent back via
agent.run(approval_response, session=session) - If approved, the script executes; if rejected, the agent receives an error
Key Components
require_script_approval=True— Gates all script execution on human approvalresult.user_input_requests— Contains pending approval requests afteragent.run()request.to_function_approval_response()— Creates an approval or rejection response
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_MODEL: 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/script_approval/script_approval.py