使用说明
Skyll • Why use Skyll? • Features • Quick Start • MCP Server • Use Cases • Documentation • Contributing
斯凯尔
Skyll是一个REST API和MCP服务器,允许任何人工智能代理在运行时搜索和学习代理技能。它聚合了来自多个来源的技能,从GitHub获取完整的SKILL.md内容,并返回可用于上下文注入的结构化JSON。
为什么使用Skyll?
代理技能(SKILL.md文件)是扩展AI代理功能的一种强大方式,但如今它们只能使用Claude Code和Cursor等少数工具。技能需要在会话前手动安装,这意味着开发人员需要提前知道他们需要哪些技能。
Skyll使技能获取民主化。任何代理、框架或工具都可以根据需要发现和学习技能。无需预安装。没有人为干预。代理根据上下文进行探索、选择,并自主使用技能。
{
"query": "react performance",
"count": 1,
"skills": [
{
"id": "react-best-practices",
"title": "React Best Practices",
"source": "vercel/ai-skills",
"relevance_score": 85.5,
"install_count": 1250,
"content": "# React Best Practices\n\n## Performance\n..."
}
]
}
为什么选择很重要:排名列表显示了流行和相关的技能,让代理根据用户请求、任务上下文或趋势进行选择。这是关于给特工自由去发现。
特性
- 🔍 多源搜索:查询 技能s.sh、社区注册表等
- 📄 完整内容:返回完整的SKILL.md及其解析的元数据
- 📎 参考文献:可选择从以下位置获取其他文档
references/目录 - 📊 相关性排名:根据内容、查询匹配度和受欢迎程度得分0-100
- 🔄 去重:跨源自动重复数据删除
- ⚡ 缓存:积极缓存以遵守GitHub速率限制
- 🔌 双接口:REST API+MCP服务器
- 🔧 可扩展:易于添加新的技能来源和排名策略
快速开始
使用pip安装
在代理中使用Skyll的推荐方法:
pip install skyll
from skyll import Skyll
async with Skyll() as client:
skills = await client.search("react performance", limit=5)
for skill in skills:
print(f"{skill.title}: {skill.description}")
print(skill.content) # Full SKILL.md content
在使用托管的API api.skyll.app 默认情况下,不需要设置服务器。
REST API
对于其他语言或直接集成,请直接调用API:
# Search for skills
curl "https://api.skyll.app/search?q=react+performance&limit=5"
# Get a specific skill by name (always fetches latest version)
curl "https://api.skyll.app/skill/react-best-practices"
# Get by full path
curl "https://api.skyll.app/skill/vercel-labs/agent-skills/vercel-react-best-practices"
这 /skill/{name} 端点类似于 npx skills add -它返回技能的最新版本,确保您的代理始终有最新的说明。
交互式文档: api.skyll.app/docs
自托管
运行您自己的Skyll服务器以实现完全控制:
# 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
# Search for skills
curl "http://localhost:8000/search?q=react+performance&limit=5"
将Python客户端指向您的服务器:
async with Skyll(base_url="http://localhost:8000") as client:
skills = await client.search("testing")
