Skip to content

zjunlp/SkillNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

175 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkillNet Logo

SkillNet

Open infrastructure for discovering, evaluating, composing, and orchestrating reusable AI agent skills.

SkillNet treats agent skills as software assets: searchable, installable, inspectable, evaluable, and composable.

PyPI version GitHub stars License: MIT Python 3.10+ arXiv Hugging Face Website

Website · Python SDK · Examples · Experiments · Paper


Why SkillNet?

Agents should not rebuild the same capability from scratch every time. SkillNet provides the infrastructure layer for skill reuse:

  • Discovery: search a public skill library by keyword or semantic intent.
  • Installation: download skill folders from GitHub into local agent workspaces.
  • Creation: generate structured skills from repositories, documents, prompts, or execution traces.
  • Evaluation: score skills for safety, completeness, executability, maintainability, and cost awareness.
  • Composition: infer relationships and scenario handoffs between local skills.
  • Orchestration: select scene-specific skills and generate a prompt for a downstream execution agent.

Search and public skill installation are credential-free. Create, evaluate, and analyze work with OpenAI-compatible endpoints. Orchestration runs through Claude Agent SDK and requires a compatible gateway configured with the same API_KEY, BASE_URL, and SKILLNET_MODEL variables.


Quick Start

Install the SDK and CLI:

pip install skillnet-ai

Search and install a skill:

from skillnet_ai import SkillNetClient

client = SkillNetClient()

results = client.search("pdf understanding", limit=5)
print(results[0].skill_name)
print(results[0].skill_url)

client.download(results[0].skill_url, target_dir="./my_skills")

CLI equivalent:

skillnet search "pdf understanding" --limit 5
skillnet download <skill_url> -d ./my_skills

No API key is required for search or public GitHub downloads.


News

  • [2026-07-11] SkillNet update. The library now indexes 500K+ GitHub skills with improved deduplication, expands scientific-research and data-analysis skill coverage, and adds local scenario graphs plus orchestration.
  • [2026-03-26] JiuwenClaw integration released. JiuwenClaw now includes SkillNet as a built-in skill marketplace. View guide
  • [2026-03-12] SkillNet MCP server released. MCP support is maintained by CycleChain.
  • [2026-03-04] Technical report released. Read the SkillNet report on arXiv.
  • [2026-02-23] OpenClaw integration released. SkillNet is available as a built-in skill for OpenClaw.

What You Can Build

Layer Capability What it enables
Skill library Search and download Reuse existing agent skills instead of rebuilding them
Skill authoring Create Turn traces, prompts, repositories, and documents into portable skill packages
Skill quality Evaluate Compare skill readiness before putting it in an agent workflow
Skill graph Analyze Discover compose_with, depend_on, and scenario-level handoff relationships
Orchestration Orchestrate Pick skills for a task in a curated scene and return an execution-ready prompt
Integrations Agent skills, MCP, OpenClaw, JiuwenClaw Use SkillNet inside existing agent runtimes

SkillNet Explorer

SkillNet Explorer is the visual entry point for the public skill library. It is designed for browsing skills the way developers browse packages, datasets, or model hubs.

Use it to:

  • search skills by keyword or semantic meaning
  • inspect quality-ranked skills and curated collections
  • explore skill graph visualizations
  • copy installable GitHub skill URLs

Skill graph demo

The website also includes interactive scenarios for web scraping, paper summarization, and experiment planning.

skillnet.mp4

Python SDK

Install

pip install skillnet-ai

Optional extras:

pip install "skillnet-ai[graph]"        # scenario-level graph analysis
pip install "skillnet-ai[orchestrate]"  # scene orchestration

Initialize

from skillnet_ai import SkillNetClient

client = SkillNetClient(
    api_key="your-api-key",       # required for create, evaluate, analyze, orchestrate
    base_url="https://api.openai.com/v1",
    github_token=None,            # optional, for private repos or higher GitHub rate limits
)

Credentials can also be set through environment variables: API_KEY, BASE_URL, SKILLNET_MODEL, and GITHUB_TOKEN.

Search

results = client.search(
    q="analyze financial PDF reports",
    mode="vector",
    threshold=0.85,
    limit=10,
)

for skill in results:
    print(skill.skill_name, skill.stars, skill.skill_url)

Download

local_path = client.download(
    url="https://github.com/anthropics/skills/tree/main/skills/skill-creator",
    target_dir="./my_skills",
)
print(local_path)

Create

client.create(
    prompt="A skill for extracting tables from academic PDFs",
    output_dir="./skills",
)

client.create(
    github_url="https://github.com/zjunlp/DeepKE",
    output_dir="./skills",
)

client.create(
    office_file="./guide.pdf",
    output_dir="./skills",
)

Evaluate

report = client.evaluate("./my_skills/table-extractor")
print(report["overall_score"])
print(report["summary"])

Analyze

Basic relationship analysis:

relationships = client.analyze("./my_skills")

for rel in relationships:
    print(f"{rel['source']} --[{rel['type']}]--> {rel['target']}")

Scenario graph analysis:

graph = client.analyze(
    "./my_skills",
    mode="scenario",
    embedding_api_key="your-embedding-api-key",
    embedding_base_url="https://embedding.example/v1",
    embedding_model="your-embedding-model",
    output_dir="./my_skills/skillnet_graph",
    timeout=120,
)

print(graph["scenario_skill_graph"]["edges"])

Orchestrate

orchestrate requires API_KEY. It selects skills for a preset scene and returns a skill collection URL, selected skill names, and a downstream agent prompt. The first release supports scene="sciatlas". Its BASE_URL must support Claude Agent SDK requests; an OpenAI-only endpoint is not sufficient.

pip install "skillnet-ai[orchestrate]"
result = client.orchestrate(
    "Find recent papers on retrieval-augmented generation and propose three follow-up ideas.",
    scene="sciatlas",
    timeout=240,
)

print(result.package_url)
print([skill.name for skill in result.skills])
print(result.prompt)

CLI

The CLI ships with skillnet-ai.

Command What it does Example
search Search SkillNet skillnet search "pdf" --mode vector
download Install a skill skillnet download <url> -d ./skills
create Create a skill package skillnet create --prompt "A skill for table extraction"
evaluate Evaluate a local or remote skill skillnet evaluate ./my_skill
analyze Analyze local skill relationships skillnet analyze ./my_skills
orchestrate Build a scene skill handoff skillnet orchestrate "search papers about RAG"

Use skillnet <command> --help for full options.

Common commands

skillnet search "pdf"
skillnet search "analyze financial reports" --mode vector --threshold 0.85

skillnet download <url> -d ./my_agent/skills
skillnet download <url> --mirror https://ghfast.top/

skillnet create --prompt "A skill for extracting tables from images"
skillnet evaluate ./my_skills/table_extractor
skillnet analyze ./my_skills

Scenario graph analysis:

pip install "skillnet-ai[graph]"

skillnet analyze ./my_skills --mode scenario \
  --embedding-api-key "$EMBEDDING_API_KEY" \
  --embedding-base-url "$EMBEDDING_BASE_URL" \
  --embedding-model "$EMBEDDING_MODEL" \
  --output-dir ./my_skills/skillnet_graph \
  --timeout 120

Orchestrate

pip install "skillnet-ai[orchestrate]"

skillnet orchestrate "Find recent RAG papers and propose three follow-up ideas" \
  --scene sciatlas \
  --timeout 240

The command returns the SciAtlas skill collection URL, selected skills, and a downstream agent prompt. Use --json for machine-readable output.


Configuration

Variable Required for Default
API_KEY create, evaluate, analyze, orchestrate unset
BASE_URL Custom LLM endpoint; orchestration requires a Claude Agent SDK-compatible gateway https://api.openai.com/v1
SKILLNET_MODEL Default LLM model gpt-4o
GITHUB_TOKEN Private repos or higher GitHub rate limits unset
GITHUB_MIRROR GitHub download mirror unset
EMBEDDING_API_KEY analyze --mode scenario unset
EMBEDDING_BASE_URL analyze --mode scenario unset
EMBEDDING_MODEL analyze --mode scenario unset

Linux and macOS:

export API_KEY="your-api-key"
export BASE_URL="https://api.openai.com/v1"
export SKILLNET_MODEL="gpt-4o"

Windows PowerShell:

$env:API_KEY = "your-api-key"
$env:BASE_URL = "https://api.openai.com/v1"
$env:SKILLNET_MODEL = "gpt-4o"

search and public GitHub downloads require no credentials.


REST API

The SkillNet search API is public and requires no authentication.

curl "http://api-skillnet.openkg.cn/v1/search?q=pdf&sort_by=stars&limit=5"
curl "http://api-skillnet.openkg.cn/v1/search?q=reading%20charts&mode=vector&threshold=0.8"
Search API parameters

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 or vector
category string unset Filter by category
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, vector mode only

Use SkillNet Inside Agents

SkillNet is packaged as a portable agent skill at skills/skillnet/. Install it into an agent runtime and the agent can search, download, create, evaluate, and analyze skills during coding or research tasks.

Claude Code

git clone https://github.com/zjunlp/SkillNet.git
cd SkillNet

mkdir -p ~/.claude/skills
cp -R skills/skillnet ~/.claude/skills/skillnet

Try:

Use SkillNet to search for a docker skill and summarize the top result.

Codex

git clone https://github.com/zjunlp/SkillNet.git
cd SkillNet

CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME/skills"
cp -R skills/skillnet "$CODEX_HOME/skills/skillnet"

Try:

Use $skillnet to search for a LangGraph skill before planning this task.

Model Context Protocol

The SkillNet MCP server is maintained by CycleChain.

git clone https://github.com/CycleChain/skillnet-mcp
cd skillnet-mcp
npm install && npm run build

Docker:

docker pull fmdogancan/skillnet-mcp:latest

search_skills and download_skill do not require an API key. create, evaluate, and analyze do.

OpenClaw and JiuwenClaw

SkillNet integrates with OpenClaw and JiuwenClaw as a built-in skill marketplace. See the JiuwenClaw guide.


Examples and Experiments

cd experiments

python alfworld_run.py --model o4-mini --split dev --max_workers 10 --exp_name alf_test --use_skill
python scienceworld_run.py --model o4-mini --split test --max_workers 5 --exp_name sci_test --use_skill
python webshop_run.py --model o4-mini --max_workers 3 --exp_name web_test --use_skill

Roadmap

  • Broader scene orchestration beyond SciAtlas.
  • More curated skill collections and routing wikis.
  • Stronger skill evaluation and regression testing.
  • SkillFabric workflow substrates for routing across skill collections.
  • SkillGym lifecycle evaluation and training environments.

Contributing

Contributions are welcome: bug fixes, documentation, examples, integrations, and new skills all help. Please keep pull requests focused and include reproduction steps or examples when possible.


Citation

If SkillNet is useful in your research or agent system, please cite:

@article{skillnet2026,
  title   = {SkillNet: A Skill Ecosystem for AI Agents},
  author  = {SkillNet Team},
  journal = {arXiv preprint arXiv:2603.04448},
  year    = {2026}
}

License

MIT

Releases

No releases published

Packages

 
 
 

Contributors

Languages