Buckets:
| # SkillsStorage — agent-skills corpus (SKILL.md bundles) | |
| Corpus of agent skills for training a skill-retrieval embedding model. Built from the | |
| "Skills Data Ledger" (2026-09-27). Bucket: `hf://buckets/Mercity/SkillsStorage`. | |
| Live progress: [`STATUS.md`](STATUS.md) (regenerated every 30 min while jobs run). | |
| **A skill is a bundle, not a file**: a folder holding `SKILL.md` plus any `scripts/`, `references/`, | |
| `assets/`, templates, evals, etc. Every source is normalised to two tables that join on `skill_uid`: | |
| `skills` (one row per bundle, with the SKILL.md text) and `files` (every *other* file of the bundle). | |
| ## Layout | |
| ``` | |
| raw/ untouched source data (re-process from here) | |
| hf/<owner>__<dataset>/ server-side copies of 20 Hugging Face datasets (GitSkills, ClawHub dump, other skill sets, benchmarks) | |
| vendor/ 31 official/curated GitHub repos, one tar.gz each (whole repo minus .git) + manifest.json | |
| clawhub_api/ ClawHub public API: listing.jsonl (all public skills) + zips/ (bundles newer than the HF dump) | |
| github_delta/<run>/ GitHub crawl shards (one row per file) + repos.jsonl (per-repo outcome) + done.txt | |
| seeds/ (local) repo seed lists used by the crawl (data/seeds in the code repo) | |
| processed/ | |
| gitskills/skills/ 1,877,981 rows — every distinct SKILL.md content of the Jul-2026 GitHub census + repo metadata | |
| gitskills/files/ 5,858,945 rows — bundle files from GitSkills' artifact_siblings (text when GitSkills fetched it) | |
| gitskills/occurrences/ 3,797,117 rows — every SKILL.md occurrence incl. verbatim copies (repo, path, file_sha) | |
| clawhub/skills.parquet 80,961 ClawHub skills (HF dump 2026-09-28) + ClawScan / VirusTotal / SkillSpector verdicts | |
| clawhub/files.parquet 291,125 bundle files of those skills | |
| clawhub/api_listing.parquet 81,082 public ClawHub skills: downloads, installs, stars, versions, topics | |
| clawhub/api_delta_*.parquet 1,659 skills created / re-versioned after the dump (+21,810 bundle files) | |
| github_delta/<run>/{skills,files}/ GitHub crawl, same layout; runs below | |
| canonical/ one row per distinct SKILL.md content + near-dup clusters (see below) | |
| index/locator.parquet skill_uid -> table file holding its rows (see "Rebuilding a skill folder") | |
| code/ every script that produced the above (see "Pipeline") | |
| ``` | |
| GitHub crawl runs (`processed/github_delta/<run>`): | |
| | run | what | repos | | |
| |---|---|---| | |
| | `pass1_sourcegraph` | popular repos (Sourcegraph slice) with SKILL.md that are not in GitSkills | 8,386 (complete) | | |
| | `pass2_new` | repos created since July 2026 (GitHub topic search) + skills.sh / claudemarketplaces / Anthropic-marketplace repos | 29,296 (complete) | | |
| | `backfill_gitskills` | GitSkills repos with multi-file skills, re-fetched so their bundles are **complete** (GitSkills' own folder listings are truncated for 236k skills and ~1/3 of its sibling files lack text) | 136,218 (in progress) | | |
| ## Totals (exact, 2026-10-02) | |
| | level | count | | |
| |---|---| | |
| | SKILL.md bundle records collected (all sources, incl. copies / re-crawled versions) | 4,440,161 | | |
| | **distinct SKILL.md contents across all GitHub sources** (git blob SHA) | **2,500,256** | | |
| | … of which in GitSkills (Jul 2026) | 1,842,600 | | |
| | … new since July (not in GitSkills): pass1 49,301 · pass2 158,777 · backfill 466,154 (new skills + edited versions in known repos) | 657,656 | | |
| | ClawHub skills whose name+description is not on GitHub | 37,122 | | |
| | **distinct (name, description) pairs, all sources** | **1,863,211** | | |
| | bundle files (all sources, incl. GitSkills' partial listings) | 21.55M | | |
| Computed by `code/dedup_count.py` → `stats/dedup_count.json`. | |
| ## Canonical skills table + near-duplicate clusters (steps 1–3, 2026-10-02) | |
| `processed/canonical/skills/skills-{0..f}.parquet` — **2,576,774 rows, one per distinct SKILL.md content** (git blob SHA), | |
| merged across every source, sorted by `sha` (5,000-row row groups, so a lookup by sha reads one). Each row points at the most complete bundle for that content (crawl/backfill bundle with | |
| all files > GitSkills; then most stars; non-fork; freshest) — join `canon_bundle_uid` to the source `files` tables for | |
| the bundle's other files. | |
| Key columns: `sha`, `skill_md` (full text), `name`, `description`, `frontmatter_valid`, `body_chars`, `canon_source`, | |
| `canon_bundle_uid`, `canon_repo`, `canon_skill_dir`, `n_files`, `completeness`, `canon_stars`, `n_records`, `n_repos`, | |
| `sources`, `n_copies_jul` (copies on GitHub in July), `cjk_ratio`, flags, `train_ok`. | |
| License columns (`canon_license`, `license_tier`, `release_ok`) are reference metadata only — everything here is open. | |
| | flag / tier | rows | | |
| |---|---| | |
| | `train_ok` (name + description present, not stub, not CJK, not template spam, not security-flagged) | **2,076,916** | | |
| | `flag_cjk` (CJK ratio > 10%; out of scope by decision) | 253,831 | | |
| | `flag_stub` (body < 100 chars, description < 20 chars, or placeholder text) | 224,618 | | |
| | `flag_template_desc` (one description reused by ≥50 contents with ≥20 different names) | 22,648 | | |
| | `flag_security` (ClawHub: ClawScan malicious/suspicious, static malicious, or VirusTotal hits) | 511 | | |
| | valid frontmatter | 2,301,806 | | |
| Canonical source of the chosen bundle: backfill 1,263,340 · GitSkills 1,039,506 · pass2 153,556 · ClawHub 77,727 · pass1 42,645. | |
| `processed/canonical/clusters.parquet` — MinHash near-duplicate clusters (128 perms, word 5-gram shingles, | |
| LSH 16×8, verified Jaccard ≥ 0.8, union-find): `sha`, `cluster_id` (sha of the representative), `cluster_size`, `is_rep` | |
| (representative = most July copies, then stars, then completeness). **2,576,765 skills → 1,939,987 clusters** | |
| (1,703,691 singletons; 8,644 clusters ≥ 10; largest 3,685). **Bottom line (exact):** 2,576,774 distinct skills → **2,076,916 pass the `train_ok` filters** → those collapse into | |
| **1,576,972 near-duplicate clusters** = unique, training-ready skills. (Non-CJK: 2,322,943 skills / 1,719,877 clusters.) | |
| See `stats/final_unique.json`. | |
| Signatures: `processed/canonical/minhash/` (re-cluster at | |
| another threshold without recomputing). Summaries: `stats/canonical_summary.json`, `stats/near_dup_summary.json`. | |
| ## Schemas | |
| `skills` (all sources): `skill_uid`, `source`, `repo` / `owner`+`slug`, `skill_dir`, `skill_md` (full SKILL.md text), | |
| `name`, `description`, `frontmatter_valid`, `body_chars`, `cjk_ratio`, bundle counts/bytes, plus source extras: | |
| - gitskills: `file_sha` (git blob SHA), `location_class`, `has_scripts`, `has_references`, `sibling_count`, `composition_truncated`, commit dates, `repo_license`, `repo_stars`, `repo_forks`, `repo_is_fork`, `repo_language`, … | |
| - github_delta: `commit`, `file_sha` (git blob SHA), `n_bundle_files_with_content`, `fetched_at`, `via` (git | codeload) | |
| - clawhub: `version`, `license` (MIT-0), scanner verdicts (`clawscan_verdict`, `virustotal_*`, `skillspector_*`, …) | |
| `files` (all sources): `skill_uid`, `rel_path` (path inside the skill folder), `size`, `blob_sha`/`sha256`, `content` (text), | |
| `content_bin` (small binaries), `has_content`, `skipped` (why content is absent: `bundle_cap` >500 files or >8 MB per bundle, | |
| `repo_cap` >100 MB per repo, `too_large` >1 MB file, `binary_large` binary >256 KB, `not_fetched_by_gitskills`, …). | |
| Nothing is dropped silently: files without content are still listed with path, size and reason. | |
| `skill_uid`: `gh:{repo}:{skill_dir}` (GitSkills, Jul 2026), `gh:{repo}:{skill_dir}@{commit12}` (our crawl), | |
| `clawhub:{owner}/{slug}@{version}`. A SKILL.md at the repo root has `skill_dir = "."` (bundle = whole repo, capped). | |
| `file_sha`/`blob_sha` are git blob SHAs in both GitSkills and our crawl, so exact copies dedup across sources. | |
| **Fill pass (`fill-repo_cap-*.parquet` in each run's `files/`)**: the 175,685 files first skipped with `repo_cap` | |
| (100 MB-per-repo memory guard) were fetched afterwards by exact git blob SHA (or by path at the crawled commit for | |
| codeload-path rows) — 175,685/175,685 recovered. Those rows have the same `skill_uid` + `rel_path` as the original | |
| `repo_cap` placeholder rows: **when both exist, use the row with content.** | |
| ## Rebuilding a skill folder | |
| A bundle = its `skills` row (SKILL.md text) + its `files` rows (each at `rel_path` inside the folder), joined on `skill_uid`. | |
| ``` | |
| python code/rebuild_skill.py <sha | skill_uid> [--out DIR] [--with-children] | |
| ``` | |
| - `sha` (from `processed/canonical/skills`) rebuilds the canonical bundle for that SKILL.md content; a `skill_uid` | |
| rebuilds that exact bundle (repo + folder + commit / ClawHub version). | |
| - `processed/index/locator.parquet` (`skill_uid`, `table`, `path`, `n_rows`, sorted by `skill_uid`; built by | |
| `code/build_locator.py`) says which table file holds a bundle's rows, so a rebuild reads one or two small files. | |
| - Every written file is checked against its git blob SHA, or sha256 for ClawHub (byte-exact). Files listed without content (> 1 MB, binary | |
| > 256 KB, bundle caps, not fetched by GitSkills) go to `_MISSING.tsv` with the reason. When a path has both a | |
| `repo_cap` placeholder and a fill-pass row, the row with content wins. | |
| - Nested skills: a folder with its own SKILL.md inside another skill's folder is a separate bundle. In our crawl its | |
| files belong to the deepest SKILL.md folder only; GitSkills' listings of the parent may also include them. | |
| `--with-children` rebuilds the parent with every nested skill (same commit) in place. | |
| - Text is stored as UTF-8. Non-UTF-8 text files (rare) are exact only in the raw crawl shards | |
| (`raw/github_delta/<run>/`, `content` as bytes); the checker reports them as mismatches. | |
| - Bulk export (e.g. all cluster representatives): stream the `files` tables in order and group by `skill_uid` instead | |
| of rebuilding one bundle at a time. | |
| ## Sources and decisions | |
| - Bucket A (no account, bulk): GitSkills, ClawHub dump + API delta, other HF skill sets (raw only; mostly overlap GitHub), benchmarks, vendor repos. | |
| - Bucket B (no account, crawl): GitHub passes above. Anonymous git is throttled at times; the crawler falls back to codeload tarballs (results verified identical to git, incl. blob SHAs). | |
| - Out of scope by decision: Chinese-only registries (Tencent SkillHub, ModelScope). CJK-heavy skills elsewhere are kept and flagged with `cjk_ratio`. | |
| ## License notes (reference only — all data and models here are open) | |
| - GitHub content keeps its origin repo's license (~55% of repos have none): filter on `repo_license` / the repo. | |
| - `anthropics/skills` docx/pdf/pptx/xlsx skills are source-available, not OSS; `trailofbits/skills` is CC-BY-SA-4.0. | |
| - ClawHub is MIT-0 throughout. Scanner-flagged (malicious/suspicious) skills are kept but flagged. | |
| ## Pipeline (code/) | |
| All long jobs run as systemd services via `run_job.sh` (memory caps, auto-restart, resumable); `watchdog.sh` relaunches | |
| dead jobs and writes STATUS.md; `memguard.sh` freezes low-priority jobs when RAM is low. | |
| `mirror_hf.py` (bucket A copies) · `vendor_repos.py` · `clawhub_api.py` + `build_clawhub_api.py` · `build_clawhub.py` · | |
| `build_gitskills.py` · `github_topic_seeds.py` + `build_pass2_seeds.py` · `github_bundles.py` (crawler) · | |
| `build_github_delta.py` + `ship_delta.py` (convert → upload → delete) · `crawl_chain.sh` · `status.py`. | |
| ## Secrets | |
| The HF token lives only in a local, git-ignored `.env`. Nothing in this bucket contains it. | |
Xet Storage Details
- Size:
- 11.6 kB
- Xet hash:
- 97e0df67bd268f07abe59edf4d886993c7ae8729b74f237cc4571aab16c04437
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.