Installs into .claude/skills of the current project.
Are you the author of Splade?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-splade)
---
name: splade
description: "Route SPLADE sparse retrieval tasks across Hydra pipelines, HF
training/reranking, model/data APIs, and export/pruning/evaluation workflows."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# SPLADE Repo Skill
Use this skill when a user asks about the SPLADE Python repository: sparse lexical retrieval with masked-language-model expansion, classic Hydra train/index/retrieve workflows, HuggingFace Trainer variants, reranking, Anserini export, static pruning, BEIR/PISA evaluation planning, or SPLADE data/API troubleshooting.
## First Decision
- Choose `sub-skills/hydra-pipelines/SKILL.md` for classic `python -m splade.*` workflows: `all`, `train`, `index`, `retrieve`, `evaluate`, `flops`, and `create_anserini` command construction.
- Choose `sub-skills/hf-training-reranking/SKILL.md` for `python -m splade.hf_train`, `python -m splade.hf_train_reranker`, `python -m splade.rerank`, multiple hard negatives, dense/DPR variants, and reranker workflows.
- Choose `sub-skills/model-data-api/SKILL.md` for programmatic model/data/index APIs, SPLADE representation behavior, toy-data validation, and no-download API inspection.
- Choose `sub-skills/pruning-export-evaluation/SKILL.md` for Anserini export files, static pruning helpers, BEIR/PISA planning, Pyserini/Java/PISA prerequisites, and evaluation dependency troubleshooting.
## Public Install Baseline
- For a local SPLADE checkout, install the package with `python -m pip install -e .` from the checkout root.
- For a fresh public install, use `python -m pip install git+https://github.com/naver/splade.git` and then add workflow-specific dependencies such as PyTorch, Hydra/OmegaConf, `pytrec-eval`, Pyserini, Java, or PISA only when the selected route needs them.
- Prefer Python 3.8 or 3.9-era ML environments for historical SPLADE compatibility; newer environments may need Hydra/OmegaConf adjustments described in `references/troubleshooting.md`.
## Core Package Facts
- Distribution metadata uses package name `SPLADE` and import package `splade`; the repo version is `2.1`.
- The installed metadata declares `transformers==4.18.0` and `omegaconf==2.1.2`, but current source uses some Hydra decorators with `version_base="1.2"`; see `references/troubleshooting.md` before diagnosing Hydra import errors.
- Classic training/index/retrieval relies on Hydra config files under `conf/` and typically needs `config.checkpoint_dir`, `config.index_dir`, and `config.out_dir` overrides because defaults leave them as `???`.
- Evaluation and reranking paths import `pytrec_eval`; full metric execution may require building `pytrec-eval` and external `trec_eval` sources.
- Realistic training, indexing, BEIR, Anserini, and PISA runs may require GPUs, large model/data downloads, Java/Pyserini, PISA binaries, or long runtimes; do not launch them unless the user approves those costs.
## Safe Starting Checks
- Validate that SPLADE imports before deeper work: `python -c "import splade; print('ok')"`.
- Inspect command templates instead of running jobs: `python sub-skills/hydra-pipelines/scripts/splade_hydra_command_builder.py --help`.
- Inspect HF command templates: `python sub-skills/hf-training-reranking/scripts/splade_hf_command_builder.py --help`.
- Validate small SPLADE-style fixtures: `python sub-skills/model-data-api/scripts/validate_splade_toy_data.py <dataset-root>`.
- Prune self-contained Anserini-style JSONL fixtures with `sub-skills/pruning-export-evaluation/scripts/prune_doc_index.py` or `prune_quantile.py`.
## Shared References
- Read `references/repo-provenance.md` to check the source commit, dirty state, version, and evidence baseline before deciding whether this skill is stale.
- Read `references/troubleshooting.md` for cross-cutting install/import, Hydra/OmegaConf, optional dependency, data/download, and hardware failures.
- Read `references/repo-routing-metadata.json` only when updating DisCo routing metadata.
## Routing Patterns
| User asks for | Read |
| --- | --- |
| "Run SPLADE on toy data", "train/index/retrieve", "Hydra override", "checkpoint config missing" | `sub-skills/hydra-pipelines/SKILL.md` |
| "HF Trainer", "hard negatives", "DPR/dense", "rerank a run", "RankT5/monoT5" | `sub-skills/hf-training-reranking/SKILL.md` |
| "What are the model signatures?", "validate raw.tsv/qrels", "content_id KeyError", "offline inference API" | `sub-skills/model-data-api/SKILL.md` |
| "create Anserini docs", "prune SPLADE index", "BEIR", "PISA", "pyserini/trec_eval" | `sub-skills/pruning-export-evaluation/SKILL.md` |
## Workflow Guardrails
- Do not point users to original repo docs, notebooks, shell scripts, or source files as runtime dependencies; use this skill's bundled references and scripts.
- Command-builder scripts print commands only; review placeholders and resource requirements before running generated commands.
- Treat native SPLADE examples/tests as verification candidates, not automatic runtime steps.
- Prefer safe `--help`, schema validation, and tiny-fixture checks before GPU training, downloads, BEIR, Anserini, or PISA execution.