# SkillNet
**Repository Path**: cracky/SkillNet
## Basic Information
- **Project Name**: SkillNet
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-21
- **Last Updated**: 2026-03-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Open Infrastructure for Creating, Evaluating, and Connecting AI Agent Skills
Search 300,000+ community skills Β· One-line install Β· Auto-create from repos / docs / logs
5-dimension quality scoring Β· Semantic relationship graph
[](https://pypi.org/project/skillnet-ai/)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://arxiv.org/abs/2603.04448)
[](https://huggingface.co/blog/xzwnlp/skillnet)
[](http://skillnet.openkg.cn/)
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.

## π’ News
- **π [2026-03-12] SkillNet MCP Server Released!** β We've launched the Model Context Protocol (MCP) integration (maintained by [CycleChain](https://github.com/CycleChain), special thanks for this great contribution!). [Learn more β](#-model-context-protocol-mcp-integration)
- **π [2026-03-04] 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 β](https://arxiv.org/abs/2603.04448)
- **π€ [2026-02-23] OpenClaw Integration Released!** β SkillNet is now available as a built-in skill for [OpenClaw](https://github.com/openclaw/openclaw). One command to install, zero config to use. The agent automatically searches, downloads, creates, evaluates, and analyzes skills on your behalf. [Get started β](#-openclaw-integration)
## β¨ Key Features
| Feature | Description |
| :-------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |
| π **Search** | Find skills via keyword match or AI semantic search across 500+ curated skills |
| π¦ **One‑Line Install** | `skillnet download ` β 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 |
---
## π Table of Contents
- [Quick Start](#-quick-start)
- [REST API](#-rest-api)
- [Python SDK](#-python-sdk)
- [CLI Reference](#-cli-reference)
- [Configuration](#configuration)
- [Example: Scientific Discovery](#-example-scientific-discovery)
- [OpenClaw Integration](#-openclaw-integration)
- [Model Context Protocol (MCP)](#-model-context-protocol-mcp-integration)
- [Contributing](#-contributing)
- [Citation](#-citation)
---
## π Quick Start
```bash
pip install skillnet-ai
```
```python
from 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](http://skillnet.openkg.cn/).
https://github.com/user-attachments/assets/9f9d35b0-36fd-4d7d-a072-39afa380b241
**π€ OpenClaw + SkillNet** β See SkillNet in action with [OpenClaw](https://github.com/openclaw/openclaw). The agent automatically searches, creates, evaluates, and analyzes skills on your behalf. [Learn more β](#-openclaw-integration)
https://github.com/user-attachments/assets/9d49a00c-827d-47a4-8954-0e6b977ca547
---
## π REST API
The SkillNet search API is free, public, and requires no authentication.
```bash
# 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:**
```json
{
"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
}
```
---
## π Python SDK
### Initialize
```python
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
)
```
### Search
```python
# 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}")
```
### Install
```python
local_path = client.download(
url="https://github.com/anthropics/skills/tree/main/skills/skill-creator",
target_dir="./my_skills"
)
```
### Create
Convert diverse sources into structured skill packages with a single call:
```python
# 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")
```
### Evaluate
Score any skill across 5 quality dimensions. Accepts local paths or GitHub URLs.
```python
result = client.evaluate(
target="https://github.com/anthropics/skills/tree/main/skills/algorithmic-art"
)
# Returns: { "safety": {"level": "Good", "reason": "..."}, "completeness": {...}, ... }
```
### Analyze Relationships
Map the connections between skills in a local directory β outputs `similar_to`, `belong_to`, `compose_with`, and `depend_on` edges.
```python
relationships = client.analyze(skills_dir="./my_skills")
for rel in relationships:
print(f"{rel['source']} --[{rel['type']}]--> {rel['target']}")
# PDF_Parser --[compose_with]--> Text_Summarizer
```
---
## π» CLI Reference
The 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 -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 --help` for full options.
### Search
```bash
skillnet search "pdf"
skillnet search "analyze financial reports" --mode vector --threshold 0.85
skillnet search "visualization" --category "Development" --sort-by stars --limit 10
```
### Install
```bash
skillnet download https://github.com/anthropics/skills/tree/main/skills/algorithmic-art
skillnet download -d ./my_agent/skills
skillnet download --token
# Use a mirror for faster downloads in restricted networks
skillnet download --mirror https://ghfast.top/
```
### Create
```bash
# 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"
```
### Evaluate
```bash
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-4o
```
### Analyze
```bash
skillnet 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
```
---
## βοΈ Configuration
### Environment Variables
| 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 | β |
| `SKILLNET_MODEL` | Default LLM model for all commands | `gpt-4o` |
| `GITHUB_MIRROR` | Faster downloads in restricted networks | β |
> `search` and `download` (public repos) work without any credentials.
>
> **Recommended mirror:** [`https://ghfast.top/`](https://ghfast.top/) β set `GITHUB_MIRROR` or pass `--mirror` to speed up downloads in restricted networks.
**Linux / macOS:**
```bash
export API_KEY="sk-..."
export BASE_URL="https://..." # optional
```
**Windows PowerShell:**
```powershell
$env:API_KEY = "sk-..."
$env:BASE_URL = "https://..." # optional
```
---
## π¬ Example: Scientific Discovery
A 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](http://skillnet.openkg.cn/)** (Website β Scenarios β Science)
|
π **[View Notebook](https://github.com/zjunlp/SkillNet/blob/main/examples/scientific_workflow_demo.ipynb)**
---
## π€ OpenClaw Integration
SkillNet integrates with [OpenClaw](https://github.com/openclaw/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.
### π₯ Installation
**Prerequisites:** [OpenClaw](https://github.com/openclaw/openclaw) installed (default workspace: `~/.openclaw/workspace`)
**Option A β CLI:**
```bash
npm i -g clawhub
clawhub install skillnet --workdir ~/.openclaw/workspace
openclaw gateway restart
```
**Option B β Via OpenClaw chat:**
```
Install the skillnet skill from ClawHub.
```
### βοΈ Configuration
The same three parameters (`API_KEY`, `BASE_URL`, `GITHUB_TOKEN`) apply here β see [Configuration](#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`**:
```json
{
"skills": {
"entries": {
"skillnet": {
"enabled": true,
"apiKey": "sk-REPLACE_ME",
"env": {
"BASE_URL": "https://api.openai.com/v1",
"GITHUB_TOKEN": "ghp_REPLACE_ME"
}
}
}
}
}
```
### π§ͺ Quick Verification
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/`](skills/skillnet/) for reference.
---
## π Model Context Protocol (MCP) Integration
The **SkillNet MCP Server** (maintained by [CycleChain](https://github.com/CycleChain)) is a high-performance bridge that enables AI agents (such as Claude Desktop, Cursor, Antigravity and Windsurf) to interact with the SkillNet ecosystem using the [Model Context Protocol](https://modelcontextprotocol.io/).
It empowers agents to autonomously search, download, create, and evaluate 300,000+ specialized skills directly within your IDE or desktop environment.
### Installation Options
#### 1. Source Build (Node.js & Python)
Ideal for users who want to run the server locally with existing dependencies.
```bash
git clone https://github.com/CycleChain/skillnet-mcp
cd skillnet-mcp
npm install && npm run build
```
#### 2. Docker (Dependency-free)
The most robust way to run the server using the official image from [Docker Hub](https://hub.docker.com/r/fmdogancan/skillnet-mcp).
```bash
docker pull fmdogancan/skillnet-mcp:latest
```
### Quick Configuration (Claude Desktop)
Add the following to your `claude_desktop_config.json`:
#### Option A: Docker (Recommended)
```json
{
"mcpServers": {
"skillnet": {
"command": "docker",
"args": ["run", "-i", "--rm", "fmdogancan/skillnet-mcp:latest"],
"env": {
"API_KEY": "your_api_key_here"
}
}
}
}
```
#### Option B: Build Locally If you prefer to build the image yourself from the source:
```bash
docker build -t skillnet-mcp-local .
```
_(Then, replace `fmdogancan/skillnet-mcp:latest` with `skillnet-mcp-local` in the JSON config above)_
#### Option C: Source Build
```json
{
"mcpServers": {
"skillnet": {
"command": "node",
"args": ["/absolute/path/to/skillnet-mcp/build/index.js"],
"env": {
"API_KEY": "your_api_key_here"
}
}
}
}
```
> **Note:** `search_skills` and `download_skill` tools do not require an API key. An `API_KEY` is only required for `create`, `evaluate`, and `analyze` features.
### Supported Environment Variables
* `API_KEY`: Your API key
* `GITHUB_TOKEN`: GitHub token for private repositories
---
## π€ Contributing
Contributions of all kinds are welcome! Whether it's fixing a typo, adding a feature, or sharing a new skill β every contribution counts.
1. **Fork** the repository
2. **Create** a feature branch (`git checkout -b feat/amazing-feature`)
3. **Commit** your changes (`git commit -m 'feat: add amazing feature'`)
4. **Push** to the branch (`git push origin feat/amazing-feature`)
5. **Open** a Pull Request
π€ **[Contribute skills](http://skillnet.openkg.cn/)** (Website β Contribute β Submit via URL / Upload Local Skill / Batch Upload Skills)
You can also [open an Issue](https://github.com/zjunlp/SkillNet/issues) to report bugs or suggest features.
---
## π Citation
If you find this work useful, please kindly β the repo and cite our paper!
```bibtex
@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},
}
```