zjunlp/SkillNet
Create, Evaluate, and Connect AI Skills
SkillNet – Reusable AI‑Agent Skills Infrastructure
What it is – SkillNet is an open‑source platform that lets you discover, install, create, evaluate, analyse and route skills – self‑contained pieces of code (usually a folder with a SKILL.md description) that an AI agent can call to perform a specific capability (e.g., “extract tables from a PDF”, “check CSV quality”, “run a scRNA‑seq analysis”).
Why it matters – Modern LLM‑driven agents are more useful when they can plug in specialised tools instead of trying to do everything in‑prompt. SkillNet provides a unified lifecycle for those tools, a public catalogue of 500 K+ GitHub‑hosted skills, and a Python SDK/CLI that agents can use to fetch and compose them automatically.
Core components
| Component | What it does |
|---|---|
| Web catalogue | Browse and search the public skill library (keyword or vector search) at skillnet.openkg.cn. Shows descriptions, safety/maintainability ratings, stars, and download links. |
Python SDK (skillnet‑ai) |
Programmatic client (SkillNetClient) exposing six operations: search, download, create, evaluate, analyze, route. |
| Local UI | A lightweight browser (skillnet ui) that visualises your own skill folders, analysis graphs and relationship evidence without needing Node.js. |
| SkillNet‑Gym | Benchmark suite for skill construction, retrieval and composition (mentioned in the paper). |
| SkillNet‑Fabric | Wiki‑style routing system that builds a knowledge graph of skills for a given task. |
| MCP server | A wrapper that exposes the CLI as a tool service for agents that follow the SkillNet Model‑Context‑Protocol. |
Quick start (install & basic use)
# Install the core SDK (Python 3.10+ required)
pip install "skillnet-ai[ui]" # UI optional, adds the local browser
# Initialise the client (reads env vars for API keys)
python - <<'PY'
from skillnet_ai import SkillNetClient
client = SkillNetClient()
# 1️⃣ Search the public catalogue (vector mode, high similarity)
results = client.search(q="extract tables from pdf", mode="vector", threshold=0.85, limit=5)
for s in results:
print(s.skill_name, s.stars, s.skill_url)
# 2️⃣ Download a skill to your workspace
path = client.download(url="https://github.com/anthropics/skills/tree/main/skills/pdf", target_dir="./my_skills")
print("downloaded to", path)
# 3️⃣ Evaluate the downloaded skill (safety, completeness, etc.)
report = client.evaluate(path)
print(report)
# 4️⃣ Analyse a folder of many skills – builds a scenario graph and an index
analysis = client.analyze("./my_skills", output_dir="./skillnet_index")
print("graph stored in", analysis.index_dir)
# 5️⃣ Route a user request to the best matching skills
route = client.route(
"Extract tables from my PDF report and validate the CSV for missing values",
index_dir="./skillnet_index",
k=3,
)
for sel in route.skills:
print(sel.skill_id, sel.name, sel.reason)
PY
Main features (jargon‑light)
- Unified lifecycle – One tool covers the whole process from discovery to execution routing.
- Semantic search – Both classic BM25 keyword search and embedding‑based vector search.
- Automatic skill generation –
createcan synthesize a new skill from a natural‑language prompt, a repo, a document or an execution trace. - Safety & quality evaluation – Five dimensions (safety, completeness, executability, maintainability, cost) are scored automatically.
- Graph‑based analysis – Extracts
compose_with(output of one skill feeds another) andsimilar_torelationships, stored as a reusable index. - Hybrid routing – Combines vector similarity, graph expansion and a LLM (Claude or Codex) that reads a task‑specific Wiki to pick the most appropriate skills, providing a human‑readable reason for each choice.
- Local UI – Browse skill folders, view analysis graphs and follow evidence back to source lines via a simple web page (
http://127.0.0.1:8765). - Agent integration – A ready‑made “SkillNet” skill can be added to agents such as OpenClaw, JiuwenClaw, or any MCP‑compatible system.
Configuration basics
| Variable | Purpose |
|---|---|
API_KEY |
OpenAI‑compatible chat endpoint key (used by create, evaluate, analyze). |
BASE_URL |
Chat completions endpoint (default https://api.openai.com/v1). |
SKILLNET_MODEL |
Model for generation/evaluation (default gpt-4o). |
GITHUB_TOKEN |
Optional token for private repos or higher rate limits. |
EMBEDDING_* |
Endpoint and model for embeddings (required for analyze & route). |
SKILLNET_EXPLORER_BACKEND |
Which LLM (Claude or Codex) the router uses. |
SKILLNET_API_URL |
Public search service (default http://api-skillnet.openkg.cn). |
Set them in the shell or via a .env file before calling the SDK/CLI.
Ecosystem & community
- Web catalogue –
skillnet.openkg.cn(search, curated collections, SkillNet‑Gym/Fabric demos). - MCP server –
skillnet-mcprepo (wraps CLI for agents that speak the SkillNet Model‑Context‑Protocol). - Integrations – OpenClaw, JiuwenClaw, and other agent frameworks can load the built‑in SkillNet skill.
- Benchmarks – Reproduction scripts for ALFWorld, WebShop, ScienceWorld are provided under
experiments/. - Paper & citations – arXiv:2603.04448 (2026) describes the methodology; citation provided.
Getting help
- CLI help –
skillnet <command> --help(orpython -m skillnet_ai). - Doctor command –
skillnet doctor --jsonchecks your environment and required keys. - Interactive config –
skillnet configure --interactivewrites a local config file. - GitHub issues – Use the repository’s issue tracker for bugs or feature requests.
License
MIT‑licensed core code; individual skills keep their original licenses.
In short: SkillNet is a full‑stack, open‑source solution for building libraries of reusable AI‑agent skills, evaluating their quality, and automatically routing the right skill(s) to a user request. It works via a public web catalogue, a Python SDK/CLI, and optional UI, making it easy to plug into any LLM‑driven agent system.
Related
- Project
- Project
- Project
- Project
- Project