Open Infrastructure for Creating, Evaluating, and Connecting AI Agent Skills
Search 150,000+ community skills Β· One-line install Β· Auto-create from repos / docs / logs
5-dimension quality scoring Β· Semantic relationship graph
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.
- π€ [2025-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
You can also open an Issue to report bugs or suggest features.
This project is licensed under the MIT License.