Comprehensive example demonstrating all agent-skills features.
python skills_example.pyfrom agent_skills import SkillsManager, SkillContext
manager = SkillsManager("./skills")
skill = manager.create(
name="data_analyzer",
description="Analyze data from a file",
content="# Data Analyzer\n...",
python_code='print("Analyzing...")',
allowed_tools=["filesystem__read_file"],
tags=["data", "analysis"],
context=SkillContext.FORK,
)Parse and generate SKILL.md files with YAML frontmatter:
from agent_skills import Skill
skill = Skill.from_skill_md("""---
name: web_scraper
description: Scrape and extract data from web pages
version: 1.0.0
allowed-tools:
- http__fetch
- html__parse
---
# Web Scraper Skill
...
""")# Discover skills from a directory
discovered = manager.discover()
# Search for skills
result = manager.search("data processing", limit=5)
# Filter by tags
data_skills = manager.list(tags=["data"])skill = manager.get("data_analyzer")
execution = await manager.execute(
skill,
arguments={"file_path": "/tmp/data.txt"},
timeout=10.0,
)
print(f"Success: {execution.success}")# Create versions
manager.create_version(skill.skill_id, "1.0.0")
manager.update(skill.skill_id, description="Updated description")
manager.create_version(skill.skill_id, "1.1.0")
# List versions
versions = manager.list_versions(skill.skill_id)from agent_skills.simple import SimpleSkillsManager, SimpleSkill
manager = SimpleSkillsManager("./skills")
skill = SimpleSkill(
name="greet_user",
description="Return a greeting",
code='async def greet_user(name: str) -> dict:\n return {"message": f"Hello, {name}!"}'
)
manager.save_skill(skill)from agent_skills import skills_server, configure_server
configure_server(skills_path="./skills")
skills_server.run()Running the example produces output for each demonstration, showing:
- Created skills with IDs and metadata
- Parsed SKILL.md content
- Discovery and search results
- Execution output and timing
- Version history
- MCP server tool descriptions