Complete SDK for integrating Agent Skills into any Python agent framework
Project description
Agent Skills SDK
Implementation of Anthropic's Agent Skills open standard - makes skills discoverable and usable by agents in production frameworks.
What is Agent Skills?
Agent Skills is an open standard released by Anthropic for packaging agent capabilities in a composable, portable format.
Skills = Organized folders with instructions, scripts, and resources that agents can discover and load dynamically.
The Format:
SKILL.mdfile with YAML frontmatter (metadata)- Progressive disclosure: Level 1 (metadata) → Level 2 (instructions) → Level 3+ (references)
- Enables agents to specialize without rebuilding entire systems
Already in use by Anthropic and companies in production.
What This SDK Does
This SDK implements the Agent Skills standard, providing the tooling layer to make skills work in real-world applications:
- ✅ Discovery - Find and parse skills in Agent Skills format
- ✅ Dynamic Loading - Progressive disclosure (metadata first, full content on-demand)
- ✅ Framework Integration - Use with Agno, LangChain, CrewAI, custom frameworks
- ✅ Token Optimization - Load only what agents need (85-95% savings)
- ✅ Production Ready - Pip installable, tested, ready to deploy
Quick Start
# Install
pip install -e .
# Set API key (for examples)
export OPENROUTER_API_KEY="your-key"
# Run examples
python examples/python/agent.py # Pure Python (no framework)
python examples/agno/agent.py # Agno framework
python examples/validate.py # Token savings validation
Basic Usage
from agno.agent import Agent as Agno
from agno.models.openrouter import OpenRouter
from agent_skills_sdk.adapters import AgnoAdapter
# Create adapter - discovers skills in Agent Skills format
adapter = AgnoAdapter(skill_paths=["./skills"])
# Create agent
agent = Agno(
name="assistant",
model=OpenRouter(id="anthropic/claude-3.5-sonnet")
)
# Attach skills - agent can now discover and load them dynamically
adapter.attach_to_agent(agent)
# Use it
response = agent.run("Help me extract text from a PDF")
# Agent discovers PDF skill and loads it on-demand
How It Works
The SDK provides 4 tools to agents for intelligent skill management:
list_available_skills()- See all available skills (metadata only, ~1600 tokens)search_skills(query)- Find relevant skills by keywordload_skill_instructions(name)- Load specific skill on-demand (~2000 tokens)get_skill_tools(name)- Get tool information
Progressive Disclosure in Action:
User: "Can you extract text from a PDF?"
↓
Agent: Calls list_available_skills()
→ Sees 16 skills (metadata only: ~1600 tokens)
↓
Agent: Calls search_skills("pdf")
→ Finds "pdf" skill
↓
Agent: Calls load_skill_instructions("pdf")
→ Loads PDF instructions (~2000 tokens)
↓
Agent: Uses PDF skill to help user
Total: ~3600 tokens
vs Loading all 16 skills upfront: ~36,000 tokens
Savings: 90%
This implements the progressive disclosure pattern from the Agent Skills specification.
Skills Included
16 skills following the Agent Skills format:
Office Suite
pdf- PDF manipulation and text extractionxlsx- Excel spreadsheet creation and analysispptx- PowerPoint presentation creationdocx- Word document processing
Creative
canvas-design- Visual design and graphicsalgorithmic-art- Generative art creationtheme-factory- Theme and style generation
Development
frontend-design- Frontend development and UIwebapp-testing- Web application testingweb-artifacts-builder- Build web artifacts
Communication
slack-gif-creator- Create GIFs for Slackinternal-comms- Internal communicationsdoc-coauthoring- Collaborative document editing
Meta
skill-creator- Create new Agent Skillsmcp-builder- Build MCP serversbrand-guidelines- Brand guideline management
All skills follow the Agent Skills specification.
Examples
The SDK includes examples for multiple frameworks:
Agno Framework
python examples/agno/agent.py
Agno agent with dynamic Agent Skills loading. Requires OPENROUTER_API_KEY.
LangChain
python examples/langchain/agent.py
LangChain agent with Agent Skills integration. Requires OPENAI_API_KEY and pip install langchain langchain-openai.
CrewAI
python examples/crewai/agent.py
CrewAI agent with Agent Skills. Requires OPENAI_API_KEY and pip install crewai.
Pure Python (No Framework)
python examples/python/agent.py
Direct SDK usage without any agent framework. No API key required - demonstrates the core SDK functionality.
Validate Token Savings
python examples/validate.py
See the actual token savings from progressive disclosure (84-91% reduction).
Token Savings
Measured with real Agent Skills:
| Scenario | Tokens Used | vs All Skills | Savings |
|---|---|---|---|
| All 16 skills loaded upfront | 36,884 | - | 0% |
| Dynamic loading (1 skill) | 3,282 | 36,884 | 91% |
| Dynamic loading (2 skills) | 5,805 | 36,884 | 84% |
Progressive disclosure enables massive token savings while maintaining full capability.
Framework Adapters
Agno
from agent_skills_sdk.adapters import AgnoAdapter
adapter = AgnoAdapter(skill_paths=["./skills"])
adapter.attach_to_agent(agent)
LangChain
from agent_skills_sdk.adapters import LangChainAdapter
adapter = LangChainAdapter(skill_paths=["./skills"])
tools = adapter.get_tools()
CrewAI
from agent_skills_sdk.adapters import CrewAIAdapter
adapter = CrewAIAdapter(skill_paths=["./skills"])
tools = adapter.get_tools()
Creating Skills
Skills follow the Agent Skills format:
---
name: my-skill
description: What this skill does
category: utility
---
# Skill: My Skill
## Overview
Instructions for the AI agent...
## Tools Available
- tool_name: Description of the tool
## Examples
...
Place in: skills/my-skill/SKILL.md
See the Agent Skills specification for complete format details.
Validation
Verify token savings with your skills:
python examples/validate.py
Example output:
✅ Discovered 16 skills
✅ Token savings: 84.3% (31,079 tokens saved)
✅ All skills loaded: ~36,884 tokens
✅ Dynamic loading: ~5,805 tokens
API Reference
AgnoAdapter
from agent_skills_sdk.adapters import AgnoAdapter
adapter = AgnoAdapter(skill_paths: List[str])
adapter.attach_to_agent(agent)
adapter.get_token_usage_stats() # Get usage statistics
AgentSkillsClient
from agent_skills_sdk import AgentSkillsClient
client = AgentSkillsClient(
skill_paths: List[str],
auto_discover: bool = True
)
# Discovery
skills = client.discover_metadata() # Lightweight metadata only
# Loading
skill = client.load_skill(name: str) # Load full skill
instructions = client.get_instructions(name: str) # Instructions only
# Search
results = client.search_skills(query: str) # Find relevant skills
Project Structure
agentskills/
├── src/agent_skills_sdk/ # SDK implementation
│ ├── client.py # Skills client
│ ├── discovery.py # Skill discovery
│ ├── parser.py # Agent Skills format parser
│ └── adapters/ # Framework adapters
│ ├── agno.py # Agno adapter
│ ├── langchain.py # LangChain adapter
│ └── crewai.py # CrewAI adapter
├── skills/ # 16 example skills (Agent Skills format)
├── examples/ # Framework examples
│ ├── agno/agent.py # Agno framework
│ ├── langchain/agent.py # LangChain framework
│ ├── crewai/agent.py # CrewAI framework
│ ├── python/agent.py # Pure Python (no framework)
│ └── validate.py # Token savings validation
├── tests/ # Unit tests
└── README.md
Development
# Install dependencies
pip install -e .
# Run tests
pytest tests/
# Run validation
python examples/validate.py
Relationship to Agent Skills
This SDK implements the Agent Skills specification:
- Agent Skills (by Anthropic) = The open standard/format
- Agent Skills SDK (this project) = Production implementation with framework integrations
Like:
- Markdown = Format specification
- Markdown parsers = Implementations
We follow the Agent Skills specification and will evolve as the standard evolves.
Related Resources
- Agent Skills Announcement - Anthropic's introduction
- Agent Skills Specification - Official specification
- Agent Skills Repository - Reference implementation
- Example Skills - Community skills
License
MIT License - See LICENSE file
Credits
Agent Skills Standard: Created by Anthropic as an open standard.
SDK Implementation:
- Author: Supreeth Ravi
- Website: supreethravi.com
- LinkedIn: linkedin.com/in/supreeth-ravi
- Twitter/X: @supreeth___ravi
- Email: @supreethravi
This SDK provides implementation and tooling for the Agent Skills ecosystem.
Support
- Issues: GitHub Issues
- Documentation: This README
- Examples: See
examples/directory
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_skills_sdk-0.1.1.tar.gz.
File metadata
- Download URL: agent_skills_sdk-0.1.1.tar.gz
- Upload date:
- Size: 3.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e92da7ba4c59c9f0e54abd4096344ab77032c7487fcf0d2a6a2187253efceda5
|
|
| MD5 |
3ab167e4a11f2fd84b93074e36471658
|
|
| BLAKE2b-256 |
bb114b603983986b70145dc62a89c2d236e803948c614ca9023fea50450bc403
|
File details
Details for the file agent_skills_sdk-0.1.1-py3-none-any.whl.
File metadata
- Download URL: agent_skills_sdk-0.1.1-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31e242f85e6fec183a40279a1df75d34d1d2df4bb673b2d1eff7e55dc36380db
|
|
| MD5 |
9a48d1474edac3f598cb51bf4da44b73
|
|
| BLAKE2b-256 |
eacbc77bb214946e340640fcdf1cc420e7c60e9162811aa4a5cdcbd1d4646927
|