Search, download, create, evaluate, and analyze reusable agent skills via SkillNet — the open skill supply chain for AI agents. Use when: (1) Before any multi-step task — search SkillNet for existing skills first, (2) User says "find a skill", "learn this repo/doc", "turn this into a skill", or mentions skillnet, (3) User provides a GitHub URL, PDF, DOCX, PPT, execution logs, or trajectory — create a skill from it, (4) After completing a complex task with non-obvious solutions — create a skill to preserve learnings, (5) User wants to evaluate skill quality, organize/analyze a local skill library, or orchestrate a supported scene. NOT for: single trivial operations (rename variable, fix typo), or tasks with no reusable knowledge.
73
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Search a global skill library, download with one command, create from repos/docs/logs, evaluate quality, and analyze relationships.
This skill is portable across agents that understand SKILL.md directories, including Codex, Claude Code, OpenClaw, and similar tools. Use a single placeholder, <skills-dir>, for the local skill library:
SKILLNET_SKILLS_DIR is set, use it.$CODEX_HOME/skills or ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.openclaw/workspace/skills../generated_skills for newly created skills.Never hard-code one agent's directory in reusable commands. In shell examples below, replace <skills-dir> with the selected directory.
SkillNet is your skill supply chain. Before starting any non-trivial task, spend 30 seconds searching — someone may have already solved your exact problem. But if results are weak or absent, proceed immediately with your own approach. The search is free, instant, and zero-risk; the worst outcome is "no results" and you lose nothing.
The cycle:
skillnet create to package itKey insight: Steps 1–3 are free and fast. Steps 4–6 need keys. Not every task warrants a skill — but when one does, use skillnet create (not manual writing) to ensure standardized structure.
Time budget: ~30 seconds. This is a quick check, not a research project. Search is free — no API key, no rate limit.
Keep keyword queries to 1–2 short words — the core technology or task pattern. Never paste the full task description as a query.
# "Build a LangGraph multi-agent supervisor" → search the core tech first
skillnet search "langgraph" --limit 5
# If 0 or irrelevant → try the task pattern
skillnet search "multi-agent" --limit 5
# If still 0 → one retry with vector mode (longer queries OK here)
skillnet search "multi-agent supervisor orchestration" --mode vector --threshold 0.65Decision after search:
| Result | Action |
|---|---|
| High-relevance skill found | → Step 2 (download & load) |
| Partially relevant (similar domain, not exact match) | → Step 2, but read selectively — extract only the useful parts |
| Low-quality / irrelevant | Proceed without; consider creating a skill after task |
| 0 results (both modes) | Proceed without; consider creating a skill after task |
The search must never block your main task. If you're unsure about relevance, ask the user whether to download the skill for a quick review — if approved, skim the SKILL.md (10 seconds) and discard it if it doesn't fit.
Download source restriction: skillnet download only accepts GitHub repository URLs (github.com/owner/repo/tree/...). The CLI fetches files via the GitHub REST API — it does not access arbitrary URLs, registries, or non-GitHub hosts. Downloaded content consists of text files (SKILL.md, markdown references, and script files); no binary executables are downloaded.
After confirming with the user, download the skill:
# Download to local skill library (GitHub URLs only)
skillnet download "<skill-url>" -d "<skills-dir>"Post-download review — before loading any content into the agent's context, show the user what was downloaded:
# 1. Show file listing so user can review what was downloaded
ls -la "<skills-dir>/<skill-name>/"
# 2. Show first 20 lines of SKILL.md as a preview
head -20 "<skills-dir>/<skill-name>/SKILL.md"
# 3. Only after user approves, read the full SKILL.md
cat "<skills-dir>/<skill-name>/SKILL.md"
# 4. List scripts (if any) — show content to user for review before using
ls "<skills-dir>/<skill-name>/scripts/" 2>/dev/nullNo user permission needed to search. Always confirm with the user before downloading, loading, or executing any downloaded content.
What "Apply" means — read the skill and extract:
Apply does not mean blindly copy the entire skill. If the skill covers 80% of your task, use that 80% and fill the gap yourself. If it only overlaps 20%, extract those patterns and discard the rest.
Fast-fail rule: After reading a SKILL.md, if within 30 seconds you judge it needs heavy adaptation to fit your task — keep what's useful, discard the rest, and proceed with your own approach. Don't let an imperfect skill slow you down.
Dedup check — before downloading or creating, check for existing local skills:
ls "<skills-dir>/"
grep -rl "<keyword>" "<skills-dir>"/*/SKILL.md 2>/dev/null| Found | Action |
|---|---|
| Same trigger + same solution | Skip download |
| Same trigger + better solution | Replace old |
| Overlapping domain, different problem | Keep both |
| Outdated | Remove old → install new |
These are not sequential steps — use them when triggered by specific conditions.
Requires API_KEY. Not every task deserves a skill — create when the task meets at least two of:
When creating, use skillnet create rather than manually writing a SKILL.md — it generates standardized structure and proper metadata.
Four modes — auto-detected from input:
# From GitHub repo
skillnet create --github https://github.com/owner/repo \
--output-dir "<skills-dir>"
# From document (PDF/PPT/DOCX)
skillnet create --office report.pdf --output-dir "<skills-dir>"
# From execution trajectory / log
skillnet create trajectory.txt --output-dir "<skills-dir>"
# From natural-language description
skillnet create --prompt "A skill for managing Docker Compose" \
--output-dir "<skills-dir>"Always evaluate after creating:
skillnet evaluate "<skills-dir>/<new-skill>"Trigger → mode mapping:
| Trigger | Mode |
|---|---|
| User says "learn this repo" / provides GitHub URL | --github |
| User shares PDF, PPT, DOCX, or document | --office |
| User provides execution logs, data, or trajectory | positional (trajectory file) |
| Completed complex task with reusable knowledge | --prompt |
Requires API_KEY. Scores five dimensions (Good / Average / Poor): Safety, Completeness, Executability, Maintainability, Cost-Awareness.
skillnet evaluate "<skills-dir>/my-skill"
skillnet evaluate "https://github.com/owner/repo/tree/main/skills/foo"⚠️ Treat "Poor Safety" as a blocker — warn user before using that skill.
Requires API_KEY. Detects: similar_to, belong_to, compose_with, depend_on.
skillnet analyze "<skills-dir>"
# → outputs relationships.json in the same directoryWhen skill count exceeds ~30, or when user asks to organize:
# Generate full relationship report
skillnet analyze "<skills-dir>"
# Review relationships.json:
# similar_to pairs → compare & prune duplicates
# depend_on chains → ensure dependencies all installed
# belong_to → consider organizing into subdirectories
# Evaluate and compare competing skills
skillnet evaluate "<skills-dir>/skill-a"
skillnet evaluate "<skills-dir>/skill-b"skillnet analyze only generates a report — it never modifies or deletes skills. Any cleanup actions (removing duplicates, pruning low-quality skills) require user confirmation before executing. Use safe removal (e.g., mkdir -p "<skills-dir>/.trash" && mv "<skills-dir>/<skill>" "<skills-dir>/.trash/") rather than permanent deletion.
Requires API_KEY, a Claude Agent SDK-compatible BASE_URL, and the orchestration extra. The first release supports the bundled sciatlas scene and returns selected skills plus a prompt for the downstream execution agent.
pip install "skillnet-ai[orchestrate]"
skillnet orchestrate "Find recent RAG papers and propose three follow-up ideas" --scene sciatlas --jsonDuring execution, if any of these occur, suggest the action to the user and proceed after confirmation:
| Trigger | Action |
|---|---|
| Encounter unfamiliar tool/framework/library | skillnet search "<name>" → suggest downloading to the user → on approval, read SKILL.md → extract useful parts |
| User provides a GitHub URL | Confirm with user → skillnet create --github <url> -d "<skills-dir>" → evaluate → read SKILL.md → apply |
| User shares a PDF/DOCX/PPT | Confirm with user → skillnet create --office <file> -d "<skills-dir>" → evaluate → read SKILL.md → apply |
| User provides execution logs or data | Confirm with user → skillnet create <file> -d "<skills-dir>" → evaluate → read SKILL.md → apply |
| Task hits a wall, no idea how to proceed | skillnet search "<problem>" --mode vector → check results → suggest downloading relevant skills to the user |
Pragmatic note: In-task triggers should not interrupt flow. If you're in the middle of producing output, finish the current step first, then suggest the search/create action. Always confirm with the user before downloading or executing any third-party code, even during in-task triggers. If the task is time-sensitive and you already have a working approach, a search can run in parallel or be deferred to post-task.
| Variable | Needed for | Default |
|---|---|---|
API_KEY | create, evaluate, analyze, orchestrate | — |
BASE_URL | custom LLM endpoint; orchestration requires a Claude Agent SDK-compatible gateway | https://api.openai.com/v1 |
GITHUB_TOKEN | private repos / rate limits | — (60 req/hr without) |
SKILLNET_MODEL | default LLM model for all commands | gpt-4o |
GITHUB_MIRROR | faster downloads in restricted networks | — |
No credentials needed for install, search, or download (public repos). For credential setup, ask templates, and host-agent configuration, see references/api-reference.md → "Credential Strategy".
| Need | Reference |
|---|---|
| CLI flags, REST API, Python SDK methods | references/api-reference.md |
| Scenario recipes (7 patterns + decision matrix) | references/workflow-patterns.md |
| Credential setup, ask templates, host-agent config | references/api-reference.md → "Credential Strategy" |
| Data flow, third-party safety, confirmation policy | references/security-privacy.md |
| Create + auto-evaluate (combo shortcut) | scripts/skillnet_create.py |
| Validate skill structure (offline, no API_KEY) | scripts/skillnet_validate.py |
create: inform the user what data is sent, how much, and to which endpoint.For full security policy, data flow tables, and confirmation rules, see references/security-privacy.md.
7bb9a48
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.