Open Infrastructure for Creating, Evaluating, and Connecting AI Agent Skills
Search 200,000+ community skills Β· One-line install Β· Auto-create from repos / docs / logs
5-dimension quality scoring Β· Semantic relationship graph
Installation β’ Python SDK β’ CLI β’ Paper β’ Website β’ HuggingFace β’ Contributing β’ Featured By AK
SkillNet is an open-source platform that treats AI agent skills as first-class, shareable packages β like npm for AI capabilities. It provides end-to-end tooling to search, install, create, evaluate, and organize skills, so agents can learn from the community and continuously grow.
-
π [2026-03] SkillNet Technical Report Released! β We've published the comprehensive SkillNet Technical Report, covering the system architecture, automated creation pipeline, multi-dimensional evaluation methodology, and the released open-source toolkits. View Report β
-
π€ [2026-02] OpenClaw Integration Released! β SkillNet is now available as a built-in skill for OpenClaw. One command to install, zero config to use. The agent automatically searches, downloads, creates, evaluates, and analyzes skills on your behalf. Get started β
| Feature | Description |
|---|---|
| πΒ Search | Find skills via keyword match or AI semantic search across 500+ curated skills |
| π¦Β OneβLineΒ Install | skillnet download <url> β grab any skill from GitHub in seconds |
| β¨Β AutoβCreate | Convert GitHub repos, PDFs/PPTs/Word docs, conversation logs, or text prompts into structured skill packages using LLMs |
| πΒ 5βDΒ Evaluation | Score skills on Safety Β· Completeness Β· Executability Β· Maintainability Β· CostβAwareness |
| πΈοΈΒ SkillΒ Graph | Auto-discover similar_to Β· belong_to Β· compose_with Β· depend_on links between skills |
- Quick Start
- REST API
- Python SDK
- CLI Reference
- Configuration
- Example: Scientific Discovery
- OpenClaw Integration
- Contributing
- License
pip install skillnet-aifrom skillnet_ai import SkillNetClient
client = SkillNetClient() # No API key needed for search & download
# Search for skills
results = client.search(q="pdf", limit=5)
print(results[0].skill_name, results[0].stars)
# Install a skill
client.download(url=results[0].skill_url, target_dir="./my_skills")π SkillNet Web β Search, download individual skills, and explore curated skill collections through the SkillNet website.
skillnet.mp4
π€ OpenClaw + SkillNet β See SkillNet in action with OpenClaw. The agent automatically searches, creates, evaluates, and analyzes skills on your behalf. Learn more β
openclaw-skillnet.mp4
The SkillNet search API is free, public, and requires no authentication.
# Keyword search
curl "http://api-skillnet.openkg.cn/v1/search?q=pdf&sort_by=stars&limit=5"
# Semantic search
curl "http://api-skillnet.openkg.cn/v1/search?q=reading%20charts&mode=vector&threshold=0.8"π‘ Full Parameter Reference
Endpoint: GET http://api-skillnet.openkg.cn/v1/search
| Parameter | Type | Default | Description |
|---|---|---|---|
q |
string | required | Search query (keywords or natural language) |
mode |
string | keyword |
keyword (fuzzy match) or vector (semantic AI) |
category |
string | β | Filter: Development, AIGC, Research, Science, etc. |
limit |
int | 10 |
Results per page (max 50) |
page |
int | 1 |
Page number (keyword mode only) |
min_stars |
int | 0 |
Minimum star count (keyword mode only) |
sort_by |
string | stars |
stars or recent (keyword mode only) |
threshold |
float | 0.8 |
Similarity threshold 0.0β1.0 (vector mode only) |
Response:
{
"data": [
{
"skill_name": "pdf-extractor-v1",
"skill_description": "Extracts text and tables from PDF documents.",
"author": "openkg-team",
"stars": 128,
"skill_url": "https://...",
"category": "Productivity"
}
],
"meta": { "query": "pdf", "mode": "keyword", "total": 1, "limit": 10 },
"success": true
}from skillnet_ai import SkillNetClient
client = SkillNetClient(
api_key="sk-...", # Required for create / evaluate / analyze
# base_url="...", # Optional: custom LLM endpoint
# github_token="ghp-..." # Optional: for private repos
)# Keyword search
results = client.search(q="pdf", limit=10, min_stars=5, sort_by="stars")
# Semantic search
results = client.search(q="analyze financial PDF reports", mode="vector", threshold=0.85)
if results:
print(f"{results[0].skill_name} β{results[0].stars}")local_path = client.download(
url="https://github.com/anthropics/skills/tree/main/skills/skill-creator",
target_dir="./my_skills"
)Convert diverse sources into structured skill packages with a single call:
# From conversation logs / execution traces
client.create(trajectory_content="User: rename .jpg to .png\nAgent: Done.", output_dir="./skills")
# From GitHub repository
client.create(github_url="https://github.com/zjunlp/DeepKE", output_dir="./skills")
# From office documents (PDF / PPT / Word)
client.create(office_file="./guide.pdf", output_dir="./skills")
# From natural language prompt
client.create(prompt="A skill for web scraping article titles", output_dir="./skills")Score any skill across 5 quality dimensions. Accepts local paths or GitHub URLs.
result = client.evaluate(
target="https://github.com/anthropics/skills/tree/main/skills/algorithmic-art"
)
# Returns: { "safety": {"level": "Good", "reason": "..."}, "completeness": {...}, ... }Map the connections between skills in a local directory β outputs similar_to, belong_to, compose_with, and depend_on edges.
relationships = client.analyze(skills_dir="./my_skills")
for rel in relationships:
print(f"{rel['source']} --[{rel['type']}]--> {rel['target']}")
# PDF_Parser --[compose_with]--> Text_SummarizerThe CLI ships with pip install skillnet-ai and offers the same features with rich terminal output.
| Command | Description | Example |
|---|---|---|
search |
Find skills | skillnet search "pdf" --mode vector |
download |
Install a skill | skillnet download <url> -d ./skills |
create |
Create from any source | skillnet create log.txt --model gpt-4o |
evaluate |
Quality report | skillnet evaluate ./my_skill |
analyze |
Relationship graph | skillnet analyze ./my_skills |
Use
skillnet <command> --helpfor full options.
skillnet search "pdf"
skillnet search "analyze financial reports" --mode vector --threshold 0.85
skillnet search "visualization" --category "Development" --sort-by stars --limit 10skillnet download https://github.com/anthropics/skills/tree/main/skills/algorithmic-art
skillnet download <url> -d ./my_agent/skills
skillnet download <private_url> --token <your_github_token># From trajectory file
skillnet create ./logs/trajectory.txt -d ./generated_skills
# From GitHub repo
skillnet create --github https://github.com/owner/repo
# From office document (PDF, PPT, Word)
skillnet create --office ./docs/guide.pdf
# From prompt
skillnet create --prompt "A skill for extracting tables from images"skillnet evaluate https://github.com/anthropics/skills/tree/main/skills/algorithmic-art
skillnet evaluate ./my_skills/web_search
skillnet evaluate ./my_skills/tool --category "Development" --model gpt-4oskillnet analyze ./my_agent_skills
skillnet analyze ./my_agent_skills --no-save # print only, don't write file
skillnet analyze ./my_agent_skills --model gpt-4o| Variable | Required For | Default |
|---|---|---|
API_KEY |
create Β· evaluate Β· analyze |
β |
BASE_URL |
Custom LLM endpoint | https://api.openai.com/v1 |
GITHUB_TOKEN |
Private repos / higher rate limits | β |
searchanddownload(public repos) work without any credentials.
Linux / macOS:
export API_KEY="sk-..."
export BASE_URL="https://..." # optionalWindows PowerShell:
$env:API_KEY = "sk-..."
$env:BASE_URL = "https://..." # optionalA complete end-to-end demo showing how an AI Agent uses SkillNet to autonomously plan and execute a complex scientific workflow β from raw scRNA-seq data to a cancer target validation report.
| 1οΈβ£ | Task | User provides a goal: "Analyze scRNA-seq data to find cancer targets" |
| 2οΈβ£ | Plan | Agent decomposes into: Data β Mechanism β Validation β Report |
| 3οΈβ£ | Discover | client.search() finds cellxgene-census, kegg-database, etc. |
| 4οΈβ£ | Evaluate | Skills are quality-gated via client.evaluate() before use |
| 5οΈβ£ | Execute | Skills run sequentially to produce a final discovery report |
π Try the Interactive Demo (Website β Scenarios β Science) Β |Β π View Notebook
SkillNet integrates with OpenClaw as a built-in, lazy-loaded skill. Once installed, your agent automatically:
- Searches existing skills before starting complex tasks
- Creates new skills from repos, documents, or completed work
- Evaluates & analyzes your local library for quality and inter-skill relationships
Community skills guide execution β successful outcomes become new skills β periodic analysis keeps the library clean.
Prerequisites: OpenClaw installed (default workspace: ~/.openclaw/workspace)
Option A β CLI:
npm i -g clawhub
clawhub install skillnet --workdir ~/.openclaw/workspace
openclaw gateway restartOption B β Via OpenClaw chat:
Install the skillnet skill from ClawHub.
The same three parameters (API_KEY, BASE_URL, GITHUB_TOKEN) apply here β see Configuration for details.
In OpenClaw, you can pre-configure them in openclaw.json so the agent uses them silently β no prompts, no interruptions. If not configured, the agent only asks when a command actually needs the value, injects it for that single call, and never pollutes the global environment.
Recommended: pre-configure in openclaw.json:
{
"skills": {
"entries": {
"skillnet": {
"enabled": true,
"apiKey": "sk-REPLACE_ME",
"env": {
"BASE_URL": "https://api.openai.com/v1",
"GITHUB_TOKEN": "ghp_REPLACE_ME"
}
}
}
}
}In your OpenClaw chat, try:
No credentials needed:
Search SkillNet for a "docker" skill and summarize the top result.
Requires API key:
Create a skill from this GitHub repo: https://github.com/owner/repo (then evaluate it).
The skill source is also available at
skills/skillnet/for reference.
Contributions of all kinds are welcome! Whether it's fixing a typo, adding a feature, or sharing a new skill β every contribution counts.
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
π€ Contribute skills (Website β Contribute β Submit via URL / Upload Local Skill / Batch Upload Skills)
You can also open an Issue to report bugs or suggest features.
If you find this work useful, please kindly β the repo and cite our paper!
@misc{liang2026skillnetcreateevaluateconnect,
title={SkillNet: Create, Evaluate, and Connect AI Skills},
author={Yuan Liang and Ruobin Zhong and Haoming Xu and Chen Jiang and Yi Zhong and Runnan Fang and Jia-Chen Gu and Shumin Deng and Yunzhi Yao and Mengru Wang and Shuofei Qiao and Xin Xu and Tongtong Wu and Kun Wang and Yang Liu and Zhen Bi and Jungang Lou and Yuchen Eleanor Jiang and Hangcheng Zhu and Gang Yu and Haiwen Hong and Longtao Huang and Hui Xue and Chenxi Wang and Yijun Wang and Zifei Shan and Xi Chen and Zhaopeng Tu and Feiyu Xiong and Xin Xie and Peng Zhang and Zhengke Gui and Lei Liang and Jun Zhou and Chiyu Wu and Jin Shang and Yu Gong and Junyu Lin and Changliang Xu and Hongjie Deng and Wen Zhang and Keyan Ding and Qiang Zhang and Fei Huang and Ningyu Zhang and Jeff Z. Pan and Guilin Qi and Haofen Wang and Huajun Chen},
year={2026},
eprint={2603.04448},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2603.04448},
}
