nemo-data-designer-plugin
Skill138 starsChanged 20 days agoApache-2.0View on GitHub
Use when the user wants to create a dataset, generate synthetic data, or build a data generation pipeline.
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- neronain/ClaudeSkills-Neronainedited, first seen Aug 9, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- neronain/ClaudeSkills-Neronain★ 382% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- web/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- web/CLAUDE.mdCLAUDE.md
- .cursor/rules/dot-files.mdcCursor rule
- .cursor/rules/nemo-helix.mdcCursor rule
- .cursor/rules/uv.mdcCursor rule
- .cursor/rules/writing-docs.mdcCursor rule
- add-studio-feature-flagSkill
- contributor-create-prSkill
- create-release-notesSkill
- data-designer-skill-refreshSkill
- data-designer-version-bumpSkill
- nhx-cliSkill
- release-test-scopeSkill
- studio-devSkill
- nemo-evals-pluginSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 5 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Do not explore the workspace first.
- Very specific: line 25
If the user wants Nemotron-style embedding or reranking data (corpus → Q&A → training.jsonl / eval_beir → fine-tune), stop.
- Distinctive: line 27
Use Autopilot mode if the user implies they don't want to answer questions — e.g., they say something like "be opinionated", "you decide", …
- Distinctive: line 29
Read only the workflow file that matches the selected mode, then follow it:
- Very specific: line 37
Do not suggest or ask about seed datasets.
- Very specific: line 38
When the dataset requires person data (names, demographics, addresses), read references/person-sampling.md.
- Distinctive: line 39
If a dataset script that matches the dataset description already exists, ask the user whether to edit it or create a new one.
- Very specific: line 57
Write a Python file to the current directory with a load_config_builder() function returning a DataDesignerConfigBuilder.
- Distinctive: line 122
Only include Pydantic models, custom generators, seed datasets, and extra dependencies when the task requires them.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Before You Start
Do not explore the workspace first. The workflow's Learn step gives you everything you need.
Goal
Build a synthetic dataset using the Data Designer library that matches this description:
$ARGUMENTS
Workflow
If the user wants Nemotron-style embedding or reranking data (corpus → Q&A → training.jsonl / eval_beir → fine-tune), stop. Announce a handoff to nemo-retrieval-recipes. Do not enter Autopilot or Interactive create. Dedicated jobs are documented in references/retrieval-sdg.md for Stage 0/1 debugging only.
Use Autopilot mode if the user implies they don't want to answer questions — e.g., they say something like "be opinionated", "you decide", "make reasonable assumptions", "just build it", "surprise me", etc. Otherwise, use Interactive mode (default).
Read only the workflow file that matches the selected mode, then follow it:
- Interactive → read
workflows/interactive.md - Autopilot → read
workflows/autopilot.md
Rules
- Keep all columns in the output by default. The only exceptions for dropping a column are: (1) the user explicitly asks, or (2) it is a helper column that exists solely to derive other columns (e.g., a sampled person object used to extract name, city, etc.). When in doubt, keep the column.
- Do not suggest or ask about seed datasets. Only use one when the user explicitly provides seed data or asks to build from existing records. When using a seed, read
references/seed-datasets.md. - When the dataset requires person data (names, demographics, addresses), read
references/person-sampling.md. - If a dataset script that matches the dataset description already exists, ask the user whether to edit it or create a new one.
- Data Designer runs on NeMo Helix: inference, seed data, and persona data all resolve through the platform, never from local files or a local model registry. Read
references/platform-execution.mdbefore writing a config — it covers model configs, validation, and what the platform accepts. - For Nemotron retrieval SDG Stage 0/1 (
retrieval-generate/retrieval-prepare/retrieval-run), readreferences/retrieval-sdg.md. Do not usecreatefor that pipeline. Full embed/rerank recipes belong tonemo-retrieval-recipes.
Usage Tips and Common Pitfalls
- Sampler and validation columns need both a type and params. E.g.,
sampler_type="category"withparams=dd.CategorySamplerParams(...). - Jinja2 templates in
prompt,system_prompt, andexprfields: reference columns with{{ column_name }}, nested fields with{{ column_name.field }}. SamplerColumnConfig: Takesparams, notsampler_params.- LLM judge score access:
LLMJudgeColumnConfigproduces a nested dict where each score name maps to{reasoning: str, score: int}. To get the numeric score, use the.scoreattribute. For example, for a judge column namedqualitywith a score namedcorrectness, use{{ quality.correctness.score }}. Using{{ quality.correctness }}returns the full dict, not the numeric score.
Troubleshooting
nemo data-designerCLI not found: Tell the user thatnemo data-designeris not installed in this environment (requires Python >= 3.11). Ask if they would like you to create a virtual environment and install it, or if they prefer to do it themselves. Do not install anything without the user's permission.- Network errors during preview: A sandbox environment may be blocking outbound requests. Ask the user for permission to retry the command with the sandbox disabled. Only as a last resort, if retrying outside the sandbox also fails, tell the user to run the command themselves.
Output Template
Write a Python file to the current directory with a load_config_builder() function returning a DataDesignerConfigBuilder. Name the file descriptively (e.g., customer_reviews.py). Use PEP 723 inline metadata for dependencies.
# /// script
# dependencies = [
# "data-designer", # always required
# "data-designer-nemo", # only if this script imports a platform seed source
# "pydantic", # only if this script imports from pydantic
# # add additional dependencies here
# ]
# ///
import data_designer.config as dd
from pydantic import BaseModel, Field
# Seed data on NeMo Helix comes from the Files service:
# from data_designer_nemo.fileset_file_seed_source import FilesetFileSeedSource
# Use Pydantic models when the output needs to conform to a specific schema
class MyStructuredOutput(BaseModel):
field_one: str = Field(description="...")
field_two: int = Field(description="...")
# Use custom generators when built-in column types aren't enough
@dd.custom_column_generator(
required_columns=["col_a"],
side_effect_columns=["extra_col"],
)
def generator_function(row: dict) -> dict:
# add custom logic here that depends on "col_a" and update row in place
row["name_in_custom_column_config"] = "custom value"
row["extra_col"] = "extra value"
return row
def load_config_builder() -> dd.DataDesignerConfigBuilder:
config_builder = dd.DataDesignerConfigBuilder(
# Model configs must be declared here. `provider` is an Inference Gateway
# provider; the one below is a common default created during `nemo setup` —
# confirm it (or discover others) with `nemo inference providers list`.
# See references/platform-execution.md.
model_configs=[
dd.ModelConfig(
alias="text",
model="...",
provider="default/nvidia-build",
inference_parameters=dd.ChatCompletionInferenceParams(),
),
],
)
# Seed dataset (only if the user explicitly mentions a seed dataset)
# Seed data must live in the Files service or on HuggingFace — see
# references/seed-datasets.md for the supported sources.
# config_builder.with_seed_dataset(
# FilesetFileSeedSource(path="default/my-seed-data#records.parquet")
# )
# config_builder.add_column(...)
# config_builder.add_processor(...)
return config_builderOnly include Pydantic models, custom generators, seed datasets, and extra dependencies when the task requires them.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

