data-designer-skill-refresh
Skill138 starsChanged 21 days agoApache-2.0View on GitHub
Refresh the Data Designer plugin's user-facing skill bundle (`skills/nemo-data-designer-plugin/`) from the upstream NVIDIA-NeMo/DataDesigner repo at the pinned library version, adapting CLI commands and platform-specific guidance to NeMo Helix. Use when upstream ships skill changes that need to land here, when auditing drift, or as a step of `data-designer-version-bump`. For bumping the `data-designer` version itself, use `data-designer-version-bump` instead. Trigger keywords - refresh data designer skill, update data designer skill, vendor data designer skill, sync data designer skill.
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-version-bumpSkill
- nhx-cliSkill
- release-test-scopeSkill
- studio-devSkill
- nemo-data-designer-pluginSkill
- nemo-evals-pluginSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 4 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 27
After bumping the data-designer==X.Y.Z pin.
- Distinctive: line 28
When upstream ships skill changes that should land here.
- Distinctive: line 29
When auditing drift between the vendored copy and upstream.
- Distinctive: line 77
If upstream adds a file with no platform meaning, do not vendor it.
- Very specific: line 81
Prefix CLI invocations: Every shell-shaped invocation of the data-designer binary becomes nemo data-designer ….
- Very specific: line 102
Rules section: Keep the bullet pointing at references/platform-execution.md, and the one routing retrieval SDG to …
- Very specific: line 106
Write adapted upstream-tracked files to skills/nemo-data-designer-plugin/, mirroring the upstream tree (workflows/, references/, scripts/).
- Distinctive: line 139
Every hit must be either absent or an explicit statement that the thing does *not* apply on NeMo Helix.
- Very specific: line 150
Don't edit references/preview-review.md beyond CLI prefixing.
≈ “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
Refresh Data Designer Skill
The user-facing skill at skills/nemo-data-designer-plugin/ is derived from the upstream skill bundle at https://github.com/NVIDIA-NeMo/DataDesigner (path skills/data-designer/).
This skill is for plugin contributors. End users do not run it — they get the already-vendored output.
The governing principle
The shipped skill describes NeMo Helix execution only. It is not a copy of the upstream skill with caveats bolted on.
Upstream's skill documents the standalone library, where models come from a local YAML registry, seed data is a file on disk, and persona locales are downloaded to ~/.data-designer/managed-assets/. None of that is true here. Data Designer on NeMo Helix resolves inference through Inference Gateway, seed data through HuggingFace or the Files service, and persona data through system workspace filesets.
Earlier versions of this playbook copied upstream wholesale and tried to teach agents the delta in a separate additions file. That failed: agents followed the standalone-library instructions that were still sitting in the bundle. Do not reintroduce that pattern. When upstream content contradicts platform behavior, replace it, don't annotate it.
When to use
- After bumping the
data-designer==X.Y.Zpin. Thedata-designer-version-bumpskill (.agents/skills/data-designer-version-bump/) runs this as its Step 8. - When upstream ships skill changes that should land here.
- When auditing drift between the vendored copy and upstream.
File ownership
Refreshing is not a whole-tree overwrite. Each file is either tracked from upstream or owned by this plugin:
| File | Ownership | On refresh |
SKILL.md | upstream | Re-fetch, then re-apply the adaptations below. |
workflows/interactive.md | upstream | Re-fetch, then re-apply the adaptations below. |
workflows/autopilot.md | upstream | Re-fetch, then re-apply the adaptations below. |
references/preview-review.md | upstream | Take verbatim. |
references/seed-datasets.md | plugin | Do not overwrite. Review only. |
references/person-sampling.md | plugin | Do not overwrite. Review only. |
references/platform-execution.md | plugin | Do not overwrite. Review only. |
references/retrieval-sdg.md | plugin | No upstream counterpart. |
scripts/get_person_object_schema.py | plugin | Reads the locale's platform fileset, not a local path. Do not overwrite. |
skill-card.md, BENCHMARK.md, evals/, skill.oms.sig | plugin | Release artifacts. Do not overwrite. |
For plugin-owned files, "review only" means: read upstream's version to see whether it documents a new capability worth covering, then write that capability in platform terms yourself. Never paste upstream's text in.
Procedure
Step 1 — Determine the pinned version
grep -E '"data-designer==' plugins/nemo-data-designer/pyproject.toml | head -1Capture the version string (e.g., X.Y.Z); this is $VERSION for the rest of the procedure.
Step 2 — Fetch the upstream bundle to a temp directory
gh api "repos/NVIDIA-NeMo/DataDesigner/git/trees/v$VERSION?recursive=1" \
| jq -r '.tree[] | select(.path | startswith("skills/data-designer/")) | select(.type=="blob") | .path'Fetch each path from https://raw.githubusercontent.com/NVIDIA-NeMo/DataDesigner/v$VERSION/<path> into a scratch directory. Stage it — do not write into skills/nemo-data-designer-plugin/ yet. You are diffing against the shipped bundle, not replacing it.
Step 3 — Diff and triage
Diff each staged upstream file against its shipped counterpart. For every difference, decide:
- A new or changed capability (new column type, new sampler, new flag) → adopt it, translated to platform terms.
- Standalone-library mechanics (local paths,
~/.data-designer/, the local model registry, artifact folders on disk) → drop it. It does not apply here. - Cosmetic upstream churn → take it if it costs nothing.
If upstream adds a file with no platform meaning, do not vendor it. If upstream deletes a file the plugin still owns, keep the plugin's.
Step 4 — Apply adaptations to upstream-tracked files
Prefix CLI invocations. Every shell-shaped invocation of the data-designer binary becomes nemo data-designer …. Subcommand names, flags, and positional args are otherwise identical. Do not rewrite prose mentions of the project name ("the Data Designer library", "Data Designer columns") — only shell-shaped invocations.
create takes no --dataset-name or --artifact-path. Artifacts live at a Jobs-service-managed path, so there is no local folder to name or relocate. Strip those flags and their values; keep others like --num-records.
Resolve-CLI-command step. Upstream's workflows open by detecting the standalone data-designer binary. Replace with nemo detection:
1. **Resolve CLI command** — Run `command -v nemo 2>/dev/null || (test -x .venv/bin/nemo && realpath .venv/bin/nemo) || echo CLI_NOT_FOUND`.
- If the output is a path, use it in place of `nemo` in every `nemo …` invocation in this workflow — including commands outside the `data-designer` group, such as `<path> inference providers list`.
- If the output is `CLI_NOT_FOUND`, STOP and follow the Troubleshooting section in SKILL.md. Do not continue to the next step.Learn step. Upstream tells the agent to stop when agent context lists no model aliases, and to trust its output generally. Both are wrong here. agent context prints three sections that describe a standalone local install — Model Aliases (a local YAML registry), Persona Datasets (an installed column reflecting local downloads), and Commands (unprefixed data-designer …). Its config_root path and type tables are correct and are the reason to run it at all. Replace the stop-on-no-aliases line with an instruction to read schemas from config_root and ignore those three sections, pointing at references/platform-execution.md.
Clarify / Infer step. Where upstream picks among locally configured aliases, have the agent run nemo inference providers list and choose an Inference Gateway provider instead.
Output Template. Preserve the plugin's template shape:
model_configs=[dd.ModelConfig(...)]declared inline in theDataDesignerConfigBuilder(...)constructor, with a comment pointing atnemo inference providers list. Upstream's bareDataDesignerConfigBuilder()produces configs that cannot run here.- The commented seed line uses
FilesetFileSeedSource, imported fromdata_designer_nemo.fileset_file_seed_source, notdd.LocalFileSeedSource. - The PEP 723 dependency list includes
data-designer-nemofor the seed source import.
Rules section. Keep the bullet pointing at references/platform-execution.md, and the one routing retrieval SDG to references/retrieval-sdg.md.
Step 5 — Write the bundle
Write adapted upstream-tracked files to skills/nemo-data-designer-plugin/, mirroring the upstream tree (workflows/, references/, scripts/). Leave plugin-owned files alone unless Step 3 turned up a capability change.
Step 6 — Verify
Resolve every failure before considering the refresh complete.
No untranslated CLI invocations.
SKILLS=skills/nemo-data-designer-plugin
grep -RnE '(\s|`)data-designer\s' "$SKILLS" | grep -v 'nemo data-designer'Clean run = no output. Prose mentions are fine; CLI-shaped invocations are not.
Every referenced subcommand resolves.
grep -RhoE 'nemo data-designer( [a-z][a-z-]*)+' "$SKILLS" \
| sort -u \
| while read -r cmd; do
eval "$cmd --help" > /dev/null 2>&1 && echo "OK: $cmd" || echo "MISSING: $cmd"
doneAny MISSING: means upstream changed the command surface or nemo data-designer drifted — investigate before merging. In particular, personas exposes only make-fileset; a personas download reference is always a bug.
No standalone-library guidance leaked back in.
grep -RniE '~/\.data-designer|managed-assets|LocalFileSeedSource|personas download|data-designer config' "$SKILLS"Every hit must be either absent or an explicit statement that the thing does not apply on NeMo Helix. A hit that reads as instruction is a failure.
Non-obvious claims are checked against the source, not against upstream's docs:
- Supported seed types:
packages/data_designer_nemo/src/data_designer_nemo/seed.py - Persona locales and fileset naming:
packages/data_designer_nemo/src/data_designer_nemo/nemotron_personas.py - CLI surface:
plugins/nemo-data-designer/src/nemo_data_designer_plugin/cli/
Notes
- Upstream may add files under
skills/data-designer/. Pick them up via the Step 2 tree enumeration, then triage per Step 3 — enumeration is not adoption. - Don't edit
references/preview-review.mdbeyond CLI prefixing; it is genuinely upstream's. scripts/get_person_object_schema.pydiverges from upstream on purpose: it reads the locale'ssystemfileset through the plugin'sFilesetFileSystemand fails with instructions to runpersonas make-filesetwhen that fileset is missing. Upstream's version reads a local download path that never exists here.
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.

