Skip to main content
skill CX Codex

data-designer — Claude Code skill: what it does, how to install

Creates synthetic datasets and Python data-generation pipelines with Data Designer. Use it when you need to describe a dataset and turn that description into a script.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add NVIDIA/skills --skill data-designer -a claude-code
Open on GitHub

What data-designer does

This skill builds a synthetic dataset from a written description with the Data Designer library. It uses Interactive mode by default, then switches to Autopilot when the request asks it to make the decisions. It does not inspect the workspace before starting.

It reads one selected workflow file: workflows/interactive.md or workflows/autopilot.md. The result is a Python file in the current directory, with a load_config_builder() function that returns DataDesignerConfigBuilder and PEP 723 dependency metadata.

Columns stay in the output unless the user asks to remove one or it only supports other derived columns. The data-designer CLI requires Python >= 3.10, so check the environment before generating data. For person data, the skill follows its person-sampling reference; if a matching script exists, it asks whether to edit it or create another file.

What it helps with

  • create a synthetic dataset from a description
  • write a Python data-generation script
  • build a DataDesignerConfigBuilder configuration
  • add Jinja2 templates for column values
  • read a numeric score from an LLM judge column

Example prompts for the agent

  • Create a synthetic customer review dataset with a quality score.
  • Build a data generation pipeline for this schema and write the Python file.
  • Make the decisions and generate a dataset with addresses and demographic fields.

How to install data-designer

1Skills CLI (Vercel)

npx skills add NVIDIA/skills --skill data-designer -a claude-code

2Manually: put the files in place

~/.claude/skills/data-designer/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/data-designer/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about data-designer

How do I install data-designer in Claude Code?

Run npx skills add NVIDIA/skills --skill data-designer -a claude-code, then run npx skills add NVIDIA/skills --skill data-designer -a claude-code again. The skill file is at ~/.claude/skills/data-designer/SKILL.md.

What does data-designer do?

It creates synthetic datasets and Python configurations for the Data Designer library. It selects an Interactive workflow or Autopilot based on the request wording.

What does data-designer require?

The data-designer CLI requires Python >= 3.10. If the CLI is missing, the skill asks permission before creating a virtual environment and installing it.

Source text

SKILL.md · Apache-2.0
---
name: data-designer
description: Use when the user wants to create a dataset, generate synthetic data, or build a data generation pipeline.
argument-hint: [describe the dataset you want to generate]
license: Apache-2.0
metadata:
  owner: DataDesigner
---

# 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

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.

# Usage Tips and Common Pitfalls

- **Sampler and validation columns need both a type and params.** E.g., `sampler_type="category"` with `params=dd.CategorySamplerParams(...)`.
- **Jinja2 templates** in `prompt`, `system_prompt`, and `expr` fields: reference columns with `{{ column_name }}`, nested fields with `{{ column_name.field }}`.
- **`SamplerColumnConfig`:** Takes `params`, not `sampler_params`.
- **LLM judge score access:** `LLMJudgeColumnConfig` produces a nested dict where each score name maps to `{reasoning: str, score: int}`. To get the numeric score, use the `.score` attribute. For example, for a judge column named `quality` with a score named `correctness`, use `{{ quality.correctness.score }}`. Using `{{ quality.correctness }}` returns the full dict, not the numeric score.

# Troubleshooting

- **`data-designer` CLI not found:** Tell the user that `data-designer` is not installed in this environment (requires Python >= 3.10). 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.

```python
# /// script
# dependencies = [
#   "data-designer", # always required
#   "pydantic", # only if this script imports from pydantic
#   # add additional dependencies here
# ]
# ///
import data_designer.config as dd
from pydantic import BaseModel, Field


# 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()

    # Seed dataset (only if the user explicitly mentions a seed dataset path)
    # config_builder.with_seed_dataset(dd.LocalFileSeedSource(path="path/to/seed.parquet"))

    # config_builder.add_column(...)
    # config_builder.add_processor(...)

    return config_builder
```

Only include Pydantic models, custom generators, seed datasets, and extra dependencies when the task requires them.

© NVIDIA · Apache-2.0 · NVIDIA/skills

Similar skills

All skills for Data and databases →

From the same set178

accelerated-computing-cudf Guidance for using cuDF and dask-cuDF to move pandas-style data work onto GPUs and check that results keep the expected semantics. CX Codex +1 3,100installs cuopt-developer Guides AI coding assistants through modifying and building NVIDIA cuOpt internals, covering C++/CUDA and Python bindings. CX Codex +1 2,700installs cudaq-guide Walks you through CUDA-Q installation, simulation targets, QPU access and Python kernel authoring. Useful when you need to get moving with NVIDIA's quantum stack. CX Codex +1 2,500installs cuopt-install Installs NVIDIA cuOpt for Python, C, or as a REST server via pip, conda, or Docker, then verifies the setup. Helpful when configuring GPU-accelerated routing environments. CX Codex +1 2,500installs deepstream-dev Teaches the agent to write NVIDIA DeepStream SDK code in Python: GStreamer pipelines, TensorRT inference, tracking and broker output. CX Codex +1 2,400installs nemo-retriever Indexes and queries document collections using the NeMo Retriever 26.8.1 CLI. Useful for local LanceDB storage and deployed Retriever services. CX Codex +1 2,400installs rag-eval Evaluates filesystem RAG datasets built around corpus/ and train.json. Use it to compare retrieval and generation settings with RAGAS quality scores. CX Codex +1 2,400installs cuopt-routing-api-python A skill that walks your agent through vehicle routing with the cuOpt Python API: TSP, VRP and pickup-delivery. Useful when the solver runs in Python. CX Codex +1 2,300installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor