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 – create can 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) and similar_to relationships, 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-mcp repo (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 (or python -m skillnet_ai).
  • Doctor command – skillnet doctor --json checks your environment and required keys.
  • Interactive config – skillnet configure --interactive writes 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