NVIDIA-NeMo/Gym is a library and infrastructure for evaluating and improving models and agents inside environments, where each environment defines tasks, agent interaction, verification, and execution state. It is for teams running reproducible evaluations or training at scale across settings such as code execution, tool calling, and sandboxes, and the catalogue entries provide skills and instructions for working with it.
Borrowing it
Nothing to install: this file belongs to NVIDIA-NeMo/Gym. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/NVIDIA-NeMo/Gym/main/.agents/skills/add-benchmark/SKILL.mdgit clone --depth 1 https://github.com/NVIDIA-NeMo/GymWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nvidia-nemo/gym/add-benchmark)<a href="https://agentmods.dev/skills/nvidia-nemo/gym/add-benchmark"><img src="https://agentmods.dev/badge/skills/nvidia-nemo/gym/add-benchmark.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00120 | $0.02612 |
| Opus 5 | $0.00060 | $0.01306 |
| Sonnet 5 | $0.00024 | $0.00522 |
| Haiku 4.5 | $0.00012 | $0.00261 |
Grade A, and why
add-benchmark scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 261 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Add Benchmark to NeMo-Gym
Determine Integration Type
Before starting, determine which type of benchmark you're adding:
Native benchmark — verification logic implemented directly in a Gym resources server:
- Resources server implements
verify()with reward logic - Agent server orchestrates model calls (use
simple_agentfor single-turn, or custom agent for multi-turn) - Example:
code_gen,instruction_following,math_with_judge
External benchmark — wrapping a 3rd-party library that has its own orchestration:
- Integrate at the agent server level (not resources server)
- Agent's
/runendpoint wraps the external library - Pre-process from Gym schema to library input, post-process back to
BaseVerifyResponse - Reproduce publicly reported numbers with the original repo first, then reproduce again after Gym integration
- Add the dependency in
requirements.txt
Workflow
Step 1: Scaffold the server
Run gym env init to generate the directory structure:
gym env init --resources-server my_benchmark
This creates:
resources_servers/my_benchmark/
├── app.py # Server template
├── configs/my_benchmark.yaml
├── data/.gitignore
├── tests/test_app.py
├── requirements.txt
└── README.md
For external benchmarks, create the agent server manually under responses_api_agents/my_agent/ with the same structure.
Step 2: Prepare data
Convert your source dataset to Gym JSONL format. Each line must have responses_create_params.input (OpenAI message format). Task-specific verification data goes in verifier_metadata.
{
"responses_create_params": {
"input": [
{"role": "system", "content": "System prompt"},
{"role": "user", "content": "Problem statement"}
]
},
"verifier_metadata": {
"test_cases": [{"input": "...", "expected_output": "..."}],
"task_id": "unique_id"
}
}
Data conversion: Write conversion scripts in the source repo (e.g. your dataset repository), not in NeMo-Gym. Prompt files also belong in the source repo. Exception: when there is no external source repo. See references/patterns.md § "Data Conversion Script Pattern".
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 261 lines · 120 tokens per session scan A d4212ba7d7de
add-benchmark is a skill published in the GitHub repository NVIDIA-NeMo/Gym (1,168 stars, last pushed today), licensed Apache-2.0. It adds 120 tokens to every session and 2,612 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
data-quality-frameworks
Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts.
dbt-transformation-patterns
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
dataset-evaluation
Validates dataset formatting and quality for SageMaker model fine-tuning (SFT, DPO, or RLVR). Use when the user says "is my dataset okay", "evaluate my data", "check my training data", "I have my own data", or before starting any fine-tuning job. Detects file format, checks schema compliance against the selected model…
coverage-tracker
Run a Google Alerts-style keyword coverage tracker. Uses news-search for recent keyword queries, lets the LLM dedupe and classify real features versus junk, stores decisions in SQLite, and alerts only on new real coverage.
test
Enter the Test phase of CocoBrew. Reads spec.md test requirements, generates test cases, executes SQL validation and quality checks, records results in test.md. Can be re-run without full rebuild. Requires Build phase completion.
prompt-set-qa
Gate a prompt universe for schema and provenance completeness, target or campaign contamination, evidence entailment, naturalness, one-concept clarity, architecture consistency, aided status, answer leakage, and semantic duplicates. Use after realistic prompt generation and before human panel selection.