SkillCorpus README

The project's README from github.com/EverMind-AI/SkillCorpus. As one markdown file: README.md.

SkillCorpus banner

Paper Hugging Face Discord WeCom

English · 简体中文


What SkillCorpus gives you

SkillCorpus is EverMind's open-source pipeline for turning scattered SKILL.md files from public repositories into reliable agent context. It aggregates sources, applies safety and license gates, evaluates quality, and matches task-specific skills before the agent answers.

You can use the live SkillHub without cloning this repository. Clone SkillCorpus when you want the open-source machinery behind that experience:

The core code is Apache-2.0 licensed (match/ and evaluate/ are MIT); each skill retains its upstream license. The public 1,000-skill demo, three agent benchmarks, and live SkillHub show the result.

https://github.com/user-attachments/assets/4d9a3241-df13-4b20-9798-fb7920069995


🔥 Latest Updates


Stronger agents, one turn at a time

At answer time, the practical difference is a retrieval layer: SkillHub selects vetted procedural knowledge for the task and puts it into the agent's context.

Dimension Without SkillCorpus With SkillCorpus
Context Model knowledge plus a manually maintained prompt. Task-specific, license-audited SKILL.md retrieved automatically or on demand.
Execution Generic workflows can miss exact steps, edge cases, or supporting scripts. Procedures, references, and optional scripts arrive before execution.
Integration Each host maintains its own collection of task instructions. One curated skill layer serves OpenClaw, Hermes, Raven, WorkBuddy, DeepSeek Harness, and other hosts.

The result is the same agent with better task-specific procedures available at the moment it needs them — stronger execution without asking users to memorise skill names or wire up tool calls.


Results

Pass rate with no skills → with SkillCorpus, same harness, same backbone (paper, Table 1):

Harness × backbone SkillsBench GDPVal QwenClawBench
OpenClaw × Qwen3.5-27B 8.8 → 13.0 81.2 → 83.1 65.2 → 66.7
OpenClaw × Qwen3.5-397B 11.1 → 16.9 82.2 → 84.0 65.7 → 67.0
Raven × Qwen3.5-27B 10.0 → 16.5 82.6 → 83.8 66.9 → 70.8
Raven × Qwen3.5-397B 9.2 → 22.6 84.0 → 85.2 68.8 → 73.2
Pooled ∆ +7.5±2.3 (z=3.2) +1.51±0.49 (z=3.1) +2.79±0.70 (z=4.0)

The gain is largest where the task needs procedural knowledge the model does not already have (SkillsBench), and smallest on open-ended economic tasks it can already do (GDPVal).


SkillHub integrations

SkillHub brings skill retrieval to the five agent platforms below. Choose a platform to open its plugin guide:

DeepSeek Harness
DeepSeek Harness
Hermes
Hermes
OpenClaw
OpenClaw
1.x / 2.0
Raven
Raven
WorkBuddy
WorkBuddy

Two modes, one setting. On demand — the default — gives the agent a skill_search tool and lets it decide: a long task pays for retrieval at the step that needs it and nothing on the turns that do not. mode: auto is the older behaviour: search every turn, before the model answers, with no tool call and no skill names to memorise. They are exclusive; running both would search twice for one turn.

OpenClaw ships as two packages, because 2.0 dropped the hook the 1.x plugin injects through: plugin-openclaw for releases up to 2026.7.x, plugin-openclaw2 for 2.0 (2026.8.1) and newer. The packaged Raven plugin installs and its on-demand mode works today; mode: auto there will claim the skills stage once Raven merges its upstream context_segments slot, and is inert until then. Raven's built-in retrieval keeps working either way.

Install SkillCorpus Plugins following https://github.com/EverMind-AI/SkillCorpus/blob/main/skillcorpus_plugin/INSTALL.agent.md

Paste that line to your agent and it installs itself. Per-host setup, the five settings you will actually touch, what each turn costs and what leaves your machine — skillcorpus_plugin/.


Public artifacts

This is the concrete inventory of what is public today.

Artifact What Link
🌐 SkillHub the current 114,190-skill catalog + the two models, hosted as an API — no install evermind.ai/skillhub
📚 Corpus (demo) the downloadable 1,000-skill sample — skills.parquet + attachments.tar.zst + dataset card; the full catalog is served by SkillHub 🤗 demo-1k
🔡 Retrieval models a bi-encoder and a reranker, fine-tuned from Qwen3-Embedding-0.6B and Qwen3-Reranker-0.6B 🤗 bi-encoder · reranker
🛠️ Code this repo — the pipeline that builds the corpus and trains the two models (aggregate · curate · match · evaluate · export) GitHub
🔌 Plugins packaged host adapters for OpenClaw · Hermes · WorkBuddy · Raven, plus DeepSeek Harness and an HTTP adapter skillcorpus_plugin/

Open source today: the code, 1,000-skill demo corpus, and retrieval models. The hosted SkillHub service is closed, and the full hosted catalog is not yet published as a downloadable dataset.

16-class distribution over the 96,401 active skills

The 96,401-skill snapshot measured in the paper, organised by a 16-class taxonomy and three quality facets (utility / robustness / safety), with 1024-dim retrieval embeddings. Column contract: docs/corpus-schema.md.


Query the API directly

SkillHub serves the corpus in three tiers — discover (metadata), read (skill_md), download (zip with scripts/). Most skills are pure instructions, so the read tier is usually sufficient.

curl "https://skillhub.evermind.ai/openapi/v1/skills?q=extract+tables+from+a+PDF"

Take an id from the results, fetch its skill_md, and inject it into your agent's prompt. examples/skillhub_demo.py runs all three tiers:

# search + read the bodies — stdlib only, no install, no API key
python examples/skillhub_demo.py "extract tables from a scanned PDF invoice"

# also fetch the bundled scripts of the top hit
python examples/skillhub_demo.py --install ./skills "convert a PDF to images"

# retrieve AND run the task — any OpenAI-compatible LLM (OpenAI, OpenRouter, local vLLM, …)
export OPENAI_API_KEY=...                                # OpenRouter / vLLM: also set
# export OPENAI_BASE_URL=https://openrouter.ai/api/v1   # OPENAI_BASE_URL + --model openai/gpt-4o-mini
python examples/skillhub_demo.py --ask "extract tables from a scanned PDF invoice"
task: extract tables from a scanned PDF invoice

[1/2] search  → 2 hit(s), metadata only
  1. ocr-and-documents   q=0.808  DOC-PROC  MIT
     Extract text from PDFs/scans (pymupdf, marker-pdf).
  2. document-workflows  q=0.86   DOC-PROC  MIT
     Build end-to-end document processing workflows and pipelines …

[2/2] detail  → fetching skill_md for 2 skill(s)
  ocr-and-documents: 4916 chars  u=8 r=7 s=9  files=4  flags=['no_steps']
  document-workflows: 31628 chars  u=9 r=9 s=9  files=7

→ built a prompt of 36,742 chars with the skill bodies injected

Endpoints, response envelope, status codes and rate limits: docs/integrations.md.


Self-host the models

To avoid depending on the hosted endpoint, run selection yourself. The corpus and both retrieval models are released: load the data, serve the two models, and run your own encode → top-k → rerank.

# the data — a 1,000-skill demo for now; the full 114,190-skill corpus follows
from datasets import load_dataset
skills = load_dataset("EverMind-AI/skillcorpus-demo-1k", split="train")   # 1,000 demo skills
# or read the file directly with pandas (no `datasets`):  pip install pandas
import pandas as pd; skills = pd.read_parquet("skills.parquet")

Attachments (scripts/, references/) ship as a sibling attachments.tar.zst.

# install the serving deps (torch, transformers, …), then point the two env vars at
# the released checkpoints (the script's defaults are training outputs absent from a
# fresh clone) and serve both models behind one endpoint  ->  /embed + /score
pip install -r skillcorpus/match/requirements.txt
EMBEDDING_MODEL=<embedding checkpoint dir> RERANKER_MODEL=<reranker checkpoint dir> \
  bash skillcorpus/match/scripts/run_server.sh

This endpoint speaks /embed + /score (skillcorpus/match/ → Serving) — it is not a drop-in for SkillHub's hosted-only /openapi/v1/skills API. So:

To curate your own sources instead, see Build your own corpus.


How it works

SkillCorpus: curated skills are matched to a task and injected into an agent before execution

The collection pipeline is the foundation; the payoff is task-specific skill retrieval before the agent acts.

skillcorpus/
├── core/       data models · SQLite/faiss store · LLM & embedding clients
├── aggregate/  source registry + multi-repo clone
├── curate/     parse · safety · license · classify · quality · dedup + full-library passes
├── export/     corpus writer (parquet + attachments + dataset card)
├── match/      the 2 released models + training recipe                 ← isolated deps
├── evaluate/   skillsbench · qwenclawbench · gdpval benchmarks          ← isolated deps
└── cli.py      build · stats · export

cli build runs the whole curation chain (ingest → quality_pass → dedup_pass → license_audit → export.corpus). LLM classification and quality scoring degrade gracefully to rules when no model endpoint is reachable, so the pipeline always runs end to end.

match/ and evaluate/ are standalone toolkits with their own requirements.txt (torch / transformers, per benchmark); they are not pulled in by pip install of the producer.


Build your own corpus

Only needed if you want to curate your own sources. Requires an LLM endpoint for classification / quality scoring and an embedding endpoint for dedup — see docs/running.md.

git clone https://github.com/EverMind-AI/SkillCorpus.git skillcorpus && cd skillcorpus
python3 -m venv .venv && source .venv/bin/activate
python -m pip install --upgrade pip && pip install -e .

python -m skillcorpus.cli build     # 4 demo sources -> curate -> export
python -m skillcorpus.cli stats     # counts by source / category / license
python -m skillcorpus.cli export --out ./corpus

Only skills from GREEN-licensed sources are exported (the demo trusts the whitelist in audit/license_safe_sources.json wholesale; production gates per source-repo SPDX). The per-row license is each skill's declared value, so a demo corpus can still carry non-GREEN license strings. Use --sources-config your.yaml for your own registry, or --source <name> for one source.

pip install -e ".[dev]"
python -m pytest skillcorpus/tests -p no:cacheprovider --import-mode=importlib

Roadmap


EverMind Ecosystem

EverMind connects memory research, production-ready products, and practical integrations into one open-source ecosystem.

Products
EverOS A local-first, Markdown-native long-term memory runtime for agents and users.
Raven A memory-first, self-improving agent harness with proactivity, context control, and skill evolution.
EverMe (CLI) A CLI and agent plugin suite for cross-device, cross-agent personal memory.
Research & Evaluation
SkillCorpus Curated, retrieval-ready agent skill corpora with retrieval and evaluation tooling.
EverAlgo Stateless extraction, ranking, parsing, and memory operators that power EverOS.
HyperMem Hypergraph-based hierarchical memory for coarse-to-fine long-term conversation retrieval.
MSA Memory Sparse Attention for scalable latent memory and 100M-token contexts.
EverMemBench Evaluation of factual recall, applied reasoning, and personalized generalization in memory systems.
EvoAgentBench Longitudinal evaluation of agent self-evolution, transfer efficiency, error avoidance, and skill use.
Integrations
OpenClaw OpenClaw plugin for automatic recall, capture, and session-memory lifecycle management.
Hermes Agent

SkillCorpus (EverMind-AI/SkillCorpus)

Searching Database…

这是什么?SkillCorpus 是 EverMind 的开源流水线,汇总散落在公开仓库中的 SKILL.md 文件,施加安全/许可证/质量关卡,导出经过策展、随时可用于检索的语料库,外加两个微调过的检索模型,让智能体在回答时能取到合适的技能。
这是单个工具,还是几个独立的部分?它是一条策展流水线(摄取、质量检查、去重、许可证审计、导出),外加两个独立工具包:match/ 存放已发布的双编码器和重排序检索模型,evaluate/ 存放三套基准测试,各自带有自己的 requirements.txt。
怎么上手?你可以用 examples/skillhubdemo.py 直接查询托管的 SkillHub API,无需安装任何东西;也可以克隆仓库并运行 `cli build`,亲自执行完整的策展流水线。
使用它需要 LLM API 密钥吗?只有在你自行策展语料库时才需要——构建需要一个用于分类和质量打分的 LLM 端点,外加一个用于去重的嵌入端点。没有的话,打分会自动回退到基于规则的检查;而自行托管检索模型或运行基准测试则需要单独安装 torch/transformers。
全部 114,190 个技能的目录可以下载吗?不能——目前公开的只有 1,000 个技能的演示语料库、代码和检索模型;完整托管目录尚未作为可下载数据集发布,托管的 SkillHub 服务本身也保持闭源。
哪些智能体宿主能使用 SkillCorpus 的技能检索?官方插件覆盖 OpenClaw(1.x 和 2.0)、Hermes、Raven 和 WorkBuddy,另有 DeepSeek Harness,以及面向其他任何宿主的通用 HTTP 适配器。
加入技能检索到底有多大帮助?在论文的基准测试中,与完全没有技能相比通过率有所提升——例如 Raven × Qwen3.5-397B 在 SkillsBench 上从 9.2 跃升至 22.6——在模型完全缺乏相应流程性知识的地方收益最大。
检索模型是怎么训练的?双编码器和重排序器从 Qwen3-Embedding-0.6B 和 Qwen3-Reranker-0.6B 微调而来,采用“合成查询 → InfoNCE → listwise 交叉熵”的训练配方,并已发布供通过 serve.py 自行托管。
它是每一轮都搜索技能,还是只在需要时搜索?存在两种互斥模式:默认的“按需”模式为智能体提供一个 skillsearch 工具,只在任务需要时调用;而 mode: auto 会在每次回答前自动搜索,无需工具调用。
Size
10.8 MB
Stars
686
Age
2mo
Commits · 90 Days