What are Skills?
Skills provide domain-specific knowledge and tools that agents can selectively activate based on user requests. Each skill is a module with its own documentation and tools that become accessible only when the skill is activated. This is an extension of Anthropicβs Agent SkillsHow Skills Work
Structure
Each skill is a directory containing:SKILL.md(required): Knowledge provided by the Skilltools/(optional): Folder for python files defining instances of skill-specific tools- Supporting Files (optional): Additional documentation (must be referenced in
SKILL.md)
Loading Behavior
- Discovery: The agent receives a list of available skills with their names and descriptions
- Activation: When relevant to a user query, the agent loads the
SKILL.mdfile and its associated tools - Persistence: Once loaded, skills remain available throughout the conversation
Using Skills
Step 1: Enable Skills in Your Agent
Create a skills directory and configure your agent to use it:Step 2: Create the SKILL.md File
Every skill requires aSKILL.md file with YAML frontmatter defining its name and description:
skills/payment_processing/SKILL.md
Important:
The
The
The
name and description fields are required in the YAML frontmatter. The agent uses these fields to decide when to activate the skillThe
name field must match the skillβs directory nameStep 3: Add Tools (Optional)
Skills can provide specialized tools that only become available when the skill is used.skills/payment_processing/tools/process_refund.py
Step 4: Add Supporting Documentation (Optional)
For complex skills, include additional reference files and link to them inSKILL.md.
In the previous example, the fraud_detection.md file will only be read when the agent determines it is needed.
Best Practices
- Each skill should have a single, well-defined purpose.
- Write clear descriptions. Agents use it to decide when to activate a Skill.
- Use descriptive names for the skill.
Key Takeaways
- Skills are modular packages that combine knowledge and tools for specific domains
- Dynamic loading keeps agents efficient by loading only relevant capabilities
- SKILL.md YAML frontmatter defines the skillβs identity and purpose
- Tools and supporting documentation are loaded on demand when the skill is activated