Microsoft has officially released Agent Skills for Python as a stable, production-ready API inside the Microsoft Agent Framework. If you’ve been holding off on building agent-powered applications because of experimental APIs, it’s time to take a second look.
What Are Agent Skills?
Agent Skills is an open format for bundling domain expertise — instructions, reference documents, and executable scripts — into reusable packages that agents load on demand. Instead of cramming everything into a single system prompt, an agent advertises available skill names, then progressively loads only what it needs for the current task. The result: a leaner context window and agents that stay fast and focused.
Each skill is described by a SKILL.md file (for file-based skills) or equivalent code properties. The agent moves through four stages: advertise → load instructions → read resources → run scripts — fetching only what’s relevant for the job at hand.
Three Ways to Build Skills
The release supports three authoring styles, all treated identically at runtime:
- File-based skills — A directory containing a
SKILL.md, optional scripts, and supporting documents. Ideal for cross-functional teams maintaining skills in a shared repository. - Class-based skills — Python classes that package instructions and scripts, distributable via internal PyPI feeds like any other Python package.
- Code-defined skills — Skills created directly in application code, useful when a skill must be generated dynamically or needs to close over application state.
Built for Enterprise Use
Production readiness means more than a stable API. This release ships with the governance controls enterprises need:
- Human-in-the-loop approval — The three core skill tools require explicit approval by default. Selectively relax approval for trusted, read-only operations.
- Controlled script execution — File-based scripts are delegated to a runner you supply, giving full control over sandboxing, resource limits, and audit logging.
- Filtering — Expose only a curated subset of a shared skill library to a specific agent, with context-aware predicates based on the requesting agent or tenant.
- Caching — Skills resolve once and are reused, with optional per-key isolation for multi-tenant scenarios.
Real-World Use Cases
- Policy enforcement — Package HR policies, expense rules, or IT security guidelines as skills. Agents load the right policy at query time for consistent, grounded answers.
- Support playbooks — Turn troubleshooting guides into skills so agents follow documented resolution steps every time.
- Multi-team composition — Teams author and publish skills independently; you assemble them into a single agent with no cross-team coordination required.
Getting Started
from agent_framework import Agent, SkillsProvider
from pathlib import Path
skills_provider = SkillsProvider.from_paths(
skill_paths=str(Path(__file__).parent / "skills"),
disable_load_skill_approval=True,
disable_read_skill_resource_approval=True,
)
async with Agent(client=client, instructions="You are a helpful assistant.",
context_providers=[skills_provider]) as agent:
response = await agent.run("Help me with onboarding.")
Learn More
- Agent Skills docs on Microsoft Learn
- Python samples on GitHub
- Agent Skills Specification
- GitHub Discussions
With the Python API now stable, teams can build on Agent Skills in production without worrying about breaking changes — a solid foundation for shipping governed, composable AI agents at scale.
Source: Microsoft Agent Framework Blog