# SkillCorpus: build a retrieval-ready corpus from your SKILL.md files

> SkillCorpus is EverMind's Apache-2.0 Python pipeline that aggregates SKILL.md files, runs them through safety, licence and quality gates, and serves the result to five agent hosts. It is infrastructure for teams who already have skills scattered across repositories and want them retrieved instead of pasted.

**EverMind-AI/SkillCorpus** — Open-source infrastructure that turns scattered SKILL.md files into curated, retrieval-ready agent-skill corpora—with retrieval and evaluation tooling included.

- Repository: https://github.com/EverMind-AI/SkillCorpus
- Website: https://evermind.ai/skillhub
- Stars: 673 · Forks: 112
- Language: Python
- License: Apache-2.0
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/evermind-ai-skillcorpus

## The problem SkillCorpus solves: skills that exist but never reach the agent

A SKILL.md file is a procedure written down: the steps, the edge cases, the script that has to run first. Teams accumulate them in public repositories, internal forks and personal gists. The agent, meanwhile, sees none of it. The README frames the choice as a retrieval layer, and the comparison table makes the trade-off explicit: without SkillCorpus, context is "model knowledge plus a manually maintained prompt"; with it, a task-specific, licence-audited SKILL.md arrives before execution. That second column is the product. The first is what most teams actually run.

The audience is narrow and specific. You need enough skills that manual selection has become a chore, more than one host consuming them, or a compliance requirement that someone check the licence and safety of what the agent is about to follow. A team with six skills and one agent does not have this problem. A platform team serving OpenClaw, Hermes, Raven, WorkBuddy and DeepSeek Harness from one collection does.

## Inside the pipeline: registry, gates, retrieval, export

The repository README describes the flow in one sentence: aggregate sources, apply safety and licence gates, evaluate quality, and match task-specific skills before the agent answers. The top-level layout backs that up. configs/ holds the pipeline configuration, audit/ the gate output, skillcorpus/ the importable package, and skillcorpus_plugin/ the host integrations. The README states that the pipeline can be pointed at your own source registry, and that the taxonomy, quality and dedup rules, retrieval recipe, export schema and evaluation suites are all editable. In other words, the gates are not a black box you accept or reject; they are rules in the tree.

Retrieval is multi-source. A 2026-08-27 update note says the project supports retrieval across local skills, EverMind SkillHub, ClawHub and skillhub.cn, with filtering, deduplication, and a final selection of 0 to 2 skills. That final number is the interesting design decision. The system is built to return nothing rather than pad the context, which is the right default for a layer whose value is precision, but it also means a badly tuned recipe fails quietly by returning zero.

On the storage side, pyproject.toml lists faiss-cpu and sqlite-vec as runtime dependencies, alongside pyarrow and zstandard. That combination points at a local vector index plus a compressed columnar export rather than a hosted vector database, which is consistent with the README's claim that you can self-host the released retrieval models and connect your own agent host.

## Installing SkillCorpus and running the demo

The package is named skillcorpus on PyPI-style installs and requires Python 3.10 or newer. A base install pulls the runtime dependencies listed in pyproject.toml: pyyaml, numpy, click, faiss-cpu, sqlite-vec, openai, pyarrow and zstandard. The eval extra is deliberately separate, and the comment in pyproject.toml says so plainly: a base install skips the match and evaluate toolkits.

```bash
pip install .
pip install .[eval]
```

The first command gives you the corpus pipeline. The second adds torch, transformers, datasets, litellm and the document parsers used by the evaluation suites. If you only want to build and export a corpus, the first is enough.

For a non-packaged install, requirements.txt mirrors the same runtime list, so pip install -r requirements.txt works from a clone without putting skillcorpus on sys.path. The Makefile keeps the two paths separate: install-ci installs requirements/ci.txt and then does pip install --no-deps -e ., while test runs pytest against skillcorpus/tests.

```bash
make install-ci
make test
```

The repository ships examples/skillhub_demo.py as the worked example. Run it after an editable install; it exercises the SkillHub path described in the README rather than a hand-built registry, so it is the fastest way to see what a retrieved skill looks like before you point the pipeline at your own sources. The README does not document the demo's flags or expected output, so read the file before running it.

## The benchmark numbers, and what they do not cover

The README reports pass rates from the paper's Table 1, same harness and same backbone with and without skills. Pooled across harnesses, the deltas are +7.5 on SkillsBench, +1.51 on GDPVal and +2.79 on QwenClawBench, each with a z-score above 3. The README's own reading of that spread is the honest part: the gain is largest where the task needs procedural knowledge the model does not already have, and smallest on open-ended economic tasks it can already do. GDPVal moving from 81.2 to 83.1 is a real number and also a small one.

Three limits are worth stating. All of these are pass-rate measurements on named benchmarks, not production traces, so they say nothing about latency added by retrieval on every query. The table covers OpenClaw and Raven only; the README lists Hermes, WorkBuddy and DeepSeek Harness as supported hosts but reports no benchmark row for them. And the numbers come from the paper, not from a run you can reproduce from this repository without the benchmark harnesses, which live in skillcorpus/evaluate and keep their own pinned requirements.txt files.

## Where SkillCorpus is the wrong tool

The licence boundary is the first real limitation. The README states that the core code is Apache-2.0, that match/ and evaluate/ are MIT, and that each skill retains its upstream licence. So the pipeline is free, but the corpus you build carries whatever terms the original authors attached to their SKILL.md files. If your use case requires redistributing skills, the licence gate is doing compliance work you still have to review, not a clearance you inherit.

One search question is also unresolved. The search data returns "What is a skills ecosystem?", which is a general question about the category rather than about this repository, and the README does not define the term. If you are looking for a conceptual introduction to agent skills, this is a pipeline, not a primer.

Finally, the dependency weight is real. The eval extra brings torch and transformers, and the README notes that each benchmark keeps its own requirements.txt with exact pins. On a small project, installing the full evaluation stack to build a fifty-skill corpus is more machinery than the task needs. Use the base install and skip the eval extra until you actually want to score retrieval quality.

## SkillHub versus self-hosting: what you give up

The README names a live hosted product, SkillHub, and says you can use it without cloning the repository. That is the alternative, and the difference is not cosmetic. SkillHub is a running service with a public 1,000-skill demo, three agent benchmarks and a hosted API. Cloning SkillCorpus gives you the machinery behind it: your own source registry, your own taxonomy and dedup rules, your own retrieval recipe, and the ability to self-host the released retrieval models and connect your own agent host.

So the choice is between consuming a curated corpus someone else maintains and owning the curation. If your skills are public and generic, the hosted path is less work. If your skills encode internal procedures, or if the licence and safety gates need to reflect your own policy rather than EverMind's, self-hosting is the point of the project. A middle path also exists: the retrieval layer supports multiple sources, so a deployment can query local skills alongside EverMind SkillHub, ClawHub and skillhub.cn rather than replacing one with the other.

## Maintenance, releases and upgrade cost

The last push to the repository was on 2026-09-09, and the most recent release is v0.3.0 from 2026-09-02, preceded by v0.1.0 on 2026-08-31. Two releases three days apart at the start, then a 0.3.0 a couple of days later: this is early, fast-moving software, and the version numbers are honest about it.

The upgrade cost is concentrated in the plugin layer. The README lists separate plugin trees for OpenClaw 1.x and OpenClaw 2.0 under skillcorpus_plugin/, and a 2026-09-02 update note adds OpenClaw 2.0 support and the choice between automatic retrieval on every query and an on-demand skill_search tool. If you pin a version, pin the plugin too, because the host contract is what moves. The Makefile includes a check-repo target that runs scripts/check_repo_assets.py, scripts/check_file_sizes.py, scripts/check_project_inventory.py and skillcorpus_plugin/scripts/verify_release_versions.py; running it after a pull is a cheap way to catch a mismatched plugin before it reaches a host.

On licensing, the split is Apache-2.0 for the core, MIT for match/ and evaluate/, and upstream terms for each skill. That is a permissive arrangement for the code, but it does not extend to the corpus contents, and nothing in the repository grants rights to the skills themselves.

## Conclusion

Adopt SkillCorpus if you already maintain SKILL.md files across more than one repository and want a single curated layer that OpenClaw, Hermes, Raven, WorkBuddy or DeepSeek Harness can query, either through the default on-demand skill_search tool or automatic retrieval on every query. Do not adopt it if you have a handful of skills that fit in a system prompt, or if you need a packaged install of the match and evaluate toolkits without pulling torch and transformers, since a base pip install . skips them. Before committing, verify three things: that pip install .[eval] resolves against your Python version (requires-python is >=3.10), that the plugin directory matching your host exists under skillcorpus_plugin/ (plugin-openclaw and plugin-openclaw2 are separate trees, not one guide), and that the upstream licence of every skill you ingest is one you can redistribute, because the Apache-2.0 grant covers the pipeline, not the skills it carries.

## FAQ

### What is a skills ecosystem?

The search data returns this question, but the SkillCorpus README does not define the term. What the repository documents is narrower: a pipeline that aggregates SKILL.md files from sources such as local skills, EverMind SkillHub, ClawHub and skillhub.cn, applies safety and licence gates, and serves them to agent hosts.

### Does SkillCorpus install the evaluation tooling by default?

No. The comment in pyproject.toml states that a base pip install . skips the match and evaluate toolkits, which live in the eval extra. Install with pip install .[eval] to add torch, transformers, datasets, litellm and the document parsers those benchmarks use.

### Which agent hosts can SkillCorpus serve?

The README lists DeepSeek Harness, Hermes, OpenClaw (with separate 1.x and 2.0 plugin trees), Raven and WorkBuddy under skillcorpus_plugin/. The benchmark table reports results for OpenClaw and Raven only.

### How many skills does the retrieval layer return?

A 2026-08-27 update note describes multi-source retrieval with filtering, deduplication, and a final selection of 0 to 2 skills. The system is built to return nothing rather than pad the context.

### What licence applies to SkillCorpus and to the skills it carries?

The README states that the core code is Apache-2.0, that match/ and evaluate/ are MIT, and that each skill retains its upstream licence. The permissive grant covers the pipeline, not the corpus contents.

## Sources

- [EverMind-AI/SkillCorpus on GitHub](https://github.com/EverMind-AI/SkillCorpus)
- [License: Apache-2.0](https://github.com/EverMind-AI/SkillCorpus/blob/main/LICENSE)
- [Project website](https://evermind.ai/skillhub)
- [README](https://github.com/EverMind-AI/SkillCorpus/blob/main/README.md)
- [Releases](https://github.com/EverMind-AI/SkillCorpus/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/evermind-ai-skillcorpus
