Skill discovery for AI agents - search and retrieve agent skills on demand
Project description
Installation • Quick Start • API Reference • Self-Hosted • MCP Server • Documentation
Skyll
Skill discovery for AI agents. Search and retrieve agent skills on demand with a simple Python client.
pip install skyll
from skyll import Skyll
async with Skyll() as client:
skills = await client.search("react performance")
for skill in skills:
print(f"{skill.title}: {skill.description}")
print(skill.content) # Full SKILL.md content
Why Skyll?
Agent skills (SKILL.md files) are a powerful way to extend what AI agents can do, but today they require manual installation before a session. Developers need to know in advance which skills they'll need.
Skyll changes that. Any agent can discover and retrieve skills on demand. No pre-installation. No human intervention. Agents explore, choose based on context, and use skills autonomously.
Installation
# Client only (recommended for most users)
pip install skyll
# With server for self-hosting
pip install skyll[server]
Quick Start
Using the Client
from skyll import Skyll
async with Skyll() as client:
# Search for skills
skills = await client.search("react performance", limit=5)
for skill in skills:
print(f"📦 {skill.title}")
print(f" Source: {skill.source}")
print(f" Installs: {skill.install_count:,}")
print(f" Score: {skill.relevance_score:.1f}")
if skill.content:
print(f" Content: {len(skill.content):,} chars")
One-liner
from skyll import search_skills
# Simple function for quick searches
skills = await search_skills("python testing")
Get a Specific Skill
async with Skyll() as client:
skill = await client.get("anthropics/skills", "skill-creator")
if skill:
print(skill.content)
Include References
Some skills have additional documentation in references/ directories:
async with Skyll() as client:
skills = await client.search("react", include_references=True)
for skill in skills:
for ref in skill.references:
print(f"📎 {ref.name}: {len(ref.content)} chars")
API Reference
Skyll Client
Skyll(
base_url="https://api.skyll.app", # API endpoint
timeout=30.0, # Request timeout in seconds
)
Methods
| Method | Description |
|---|---|
search(query, limit=10, include_content=True, include_references=False) |
Search for skills |
get(source, skill_id, include_references=False) |
Get a specific skill |
health() |
Check API health status |
Skill Model
skill.id # Skill identifier
skill.title # Display name
skill.description # What the skill does
skill.source # GitHub owner/repo
skill.content # Full SKILL.md markdown
skill.install_count # Installs from skills.sh
skill.relevance_score # Ranking score (0-100)
skill.references # List of reference files
skill.refs.github # GitHub URL
skill.refs.skills_sh # skills.sh URL
REST API
The hosted API is available at https://api.skyll.app:
# Search for skills
curl "https://api.skyll.app/search?q=react+performance&limit=5"
# Get a specific skill
curl "https://api.skyll.app/skills/anthropics/skills/skill-creator"
# Health check
curl "https://api.skyll.app/health"
Interactive docs: api.skyll.app/docs
Self-Hosted
Run your own Skyll server:
# Clone and install
git clone https://github.com/assafelovic/skyll.git
cd skyll
pip install -e ".[server]"
# Optional: Add GitHub token for higher rate limits
echo "GITHUB_TOKEN=ghp_your_token" > .env
# Start the server
uvicorn src.main:app --port 8000
Then point your client to it:
async with Skyll(base_url="http://localhost:8000") as client:
skills = await client.search("testing")
Configuration
| Variable | Description | Default |
|---|---|---|
GITHUB_TOKEN |
GitHub PAT for higher rate limits | None |
CACHE_TTL |
Cache TTL in seconds | 86400 (24h) |
ENABLE_REGISTRY |
Enable community registry | true |
MCP Server
For Claude Desktop, Cursor, or other MCP clients:
{
"mcpServers": {
"skyll": {
"command": "python",
"args": ["-m", "src.mcp_server"],
"cwd": "/path/to/skyll"
}
}
}
Use Cases
Web Research: Agent searches for tavily-search → Uses Tavily's LLM-optimized search API for real-time web results.
Deep Research: Agent discovers gpt-researcher → Runs autonomous multi-step research with citations.
Testing Workflows: Agent finds test-driven-development → Follows TDD workflow: write tests first, then implement.
Building Integrations: Agent retrieves mcp-builder → Creates MCP servers following best practices.
Features
- 🔍 Multi-Source Search: Query skills.sh, community registry, and more
- 📄 Full Content: Returns complete SKILL.md with parsed metadata
- 📎 References: Fetch additional docs from
references/directories - 📊 Relevance Ranking: Scored by content match and popularity
- ⚡ Cached: 24-hour cache to respect GitHub rate limits
- 🔌 Dual Interface: Python client + REST API + MCP Server
Documentation
| Doc | Description |
|---|---|
| API Reference | REST endpoints, response format |
| Ranking Algorithm | How skills are scored |
| Skill Sources | Available sources |
| Architecture | System design |
Web docs: skyll.app/docs
Contributing Skills
Add your skill to the community registry! Edit registry/SKILLS.md:
- your-skill-id | your-username/your-repo | path/to/skill | What your skill does
Requirements:
- Valid
SKILL.mdfollowing the Agent Skills Spec - Keep descriptions under 80 characters
What are Agent Skills?
Agent skills are markdown files (SKILL.md) that teach AI coding agents how to complete specific tasks. They follow the Agent Skills specification and work with 27+ AI agents. Learn more at skills.sh.
License
Apache-2.0 License. See LICENSE for details.
Built for autonomous agents • skyll.app • api.skyll.app • Discord
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 skyll-0.1.0.tar.gz.
File metadata
- Download URL: skyll-0.1.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf29150fc926a23ba0ced23bc5a450e8751e6acdc7efadfb71d1b038d3842a06
|
|
| MD5 |
95f47be3dfd23e92d064689718ece69e
|
|
| BLAKE2b-256 |
260cbfdbbb94211606973029912827bf43358cc42271e5fc750b3160ec63c6d9
|
File details
Details for the file skyll-0.1.0-py3-none-any.whl.
File metadata
- Download URL: skyll-0.1.0-py3-none-any.whl
- Upload date:
- Size: 48.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bc065df2808cbccc913a6f7a28d0268ce4934cc8c0e36afc8f10a83bfef744a
|
|
| MD5 |
b76f42092eb32d35738a51187911aca2
|
|
| BLAKE2b-256 |
f0198a2ffad58c2d56c1007ccd62e5b4b552099a0e7dbf38c7dfe1e6800fc1cf
|