Skip to content
Back to skills

Contributing To Mteb

ASecurity

"Add or review MTEB task, benchmark, model metadata,

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
toolspythonrustgoshellgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill contributing-to-mteb --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Contributing To Mteb?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Contributing To Mteb
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-contributing-to-mteb/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-contributing-to-mteb)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: contributing-to-mteb
description: "Add or review MTEB task, benchmark, model metadata,
  result-submission, and contribution validation changes safely."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Contributing to MTEB

Use this sub-skill when the user is implementing or reviewing changes intended for MTEB itself: new datasets/tasks, task metadata, descriptive statistics, benchmarks, model implementations, model metadata, citations, result submissions, and pre-PR validation.

## Route First

- For selecting existing tasks, reading metadata semantics, or understanding beta/private/superseded task filtering, use `../tasks-and-benchmarks/SKILL.md`.
- For implementing or validating encoder/search/reranker protocols and `ModelMeta` loader behavior, use `../models-and-encoders/SKILL.md`.
- For smoke-running a new task or benchmark after implementation, use `../evaluation-workflows/SKILL.md`.
- For shell automation around `mteb run`, `available-tasks`, `available-benchmarks`, `create-model-results`, or `leaderboard`, use `../cli-and-automation/SKILL.md` when available.

## Contribution Routes

- **Add a task or dataset:** subclass the correct `AbsTask*`, fill `TaskMetadata`, pin `metadata.dataset["revision"]`, keep `trust_remote_code=False`, calculate descriptive statistics, and smoke-evaluate with a small model.
- **Add a benchmark:** create a `Benchmark` from existing task selections with `mteb.get_tasks(...)`, document its measurement goal, decide whether it belongs on the leaderboard, and validate task quality from metadata and descriptive stats.
- **Add a model:** create a `ModelMeta`, prefer built-in wrappers where possible, keep optional provider imports inside loader scope, set `extra_requirements_groups`, and verify `mteb.get_model(...)` plus `mteb.get_model_meta(...)`.
- **Submit results:** use `mteb.ResultCache` and `cache.submit_results(..., create_pr=False)` for manual review; only use automated PR creation when GitHub tooling and `mteb[github]` are installed.
- **Preflight metadata:** run `scripts/check_task_metadata.py` against a JSON fixture or importable task class before any dataset download or full evaluation.

## References

- `references/contribution-workflows.md` - end-to-end task, benchmark, model, and result-submission workflows with commands and expected signals.
- `references/task-implementation-guide.md` - task class patterns, `TaskMetadata` fields, descriptive statistics, citations, and validation checks.
- `references/troubleshooting.md` - fixes for import/install problems, optional extras, dataset access, CLI/API misuse, cache paths, and filtering surprises.
- `scripts/check_task_metadata.py` - safe local checker for task metadata objects and JSON-like metadata fixtures.

## Quick Validation

- Check import: `python -c "import mteb; print(mteb.__version__)"`.
- Validate metadata fixture: `python scripts/check_task_metadata.py --metadata-json task_metadata.json --require-filled --require-descriptive-stats`.
- Validate an importable task class without loading data: `python scripts/check_task_metadata.py --task-class package.module:TaskClass --require-filled`.
- Smoke-run after implementation with a tiny model and explicit cache: use `mteb.get_model("mteb/baseline-random-encoder")`, `mteb.evaluate(..., cache=mteb.ResultCache(cache_path="mteb-results-cache"), co2_tracker=False)`.

Files in this skill

  • SKILL.md3.3 KB
  • references/contribution-workflows.md5.9 KB
  • references/task-implementation-guide.md6.9 KB
  • references/troubleshooting.md6.5 KB
  • scripts/check_task_metadata.py9.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.