assafelovic/skyll
Search and retrieve agent skills at runtime. This skill should be used when the agent needs to find specialized capabilities, workflows, or domain knowledge to accomplish a task. Skyll aggregates skills from skills.sh and returns full SKILL.md content ready for context injection.
npx skills add https://github.com/assafelovic/skyll --skill skyll
Skyll enables agents to dynamically discover and retrieve skills at runtime. Instead of having all skills pre-loaded, agents can search for relevant skills on-demand and inject them into context.
Use Skyll when:
from skyll import Skyll
async with Skyll() as client:
# Search for relevant skills
skills = await client.search("react performance optimization", limit=3)
for skill in skills:
print(f"Skill: {skill.title}")
print(f"Score: {skill.relevance_score}")
print(skill.content) # Full SKILL.md content
Search for skills:
curl "https://api.skyll.app/search?q=react+performance&limit=3"
Get a specific skill:
curl "https://api.skyll.app/skills/anthropics/skills/skill-creator"
The API returns ranked skills with relevance scores (0-100):
{
"query": "react performance",
"count": 3,
"skills": [
{
"id": "react-best-practices",
"title": "React Best Practices",
"description": "Performance optimization for React and Next.js",
"source": "vercel-labs/agent-skills",
"relevance_score": 85.5,
"install_count": 82800,
"content": "# React Best Practices\n\n## Performance\n..."
}
]
}
| Field | Description |
|-------|-------------|
| id | Skill identifier |
| title | Human-readable title |
| description | What the skill does |
| source | GitHub repository (owner/repo) |
| relevance_score | 0-100 match score |
| install_count | Popularity from skills.sh |
| content | Full SKILL.md markdown content |
| references | Additional reference files (if requested) |
| Parameter | Default | Description |
|-----------|---------|-------------|
| q / query | required | Search query |
| limit | 10 | Max results (1-50) |
| include_content | true | Fetch full SKILL.md content |
| include_references | false | Include reference files |
When an agent needs to build a React Native app but lacks mobile expertise:
skills = await client.search("react native best practices", limit=2)
context = skills[0].content # Full SKILL.md content
| Endpoint | Description |
|----------|-------------|
| GET /search?q={query} | Search skills |
| POST /search | Search with JSON body |
| GET /skills/{source}/{skill_id} | Get specific skill |
| GET /health | Health check |
| GET /docs | Interactive API documentation |
For Python agents:
pip install skyll
For other languages, use the REST API directly at https://api.skyll.app.
Take assafelovic/skyll from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.