data-designer — скилл для Claude Code: установка и работа
Создаёт синтетические наборы данных и Python-конвейеры генерации. Пригодится, когда нужно описать структуру данных и получить скрипт для Data Designer.
npx skills add NVIDIA/skills --skill data-designer -a claude-codeЧто делает data-designer
Скилл собирает синтетический датасет по текстовому описанию через библиотеку Data Designer. По умолчанию он работает в интерактивном режиме, а при просьбе принять решения самостоятельно переключается на Autopilot. Рабочую папку до начала процесса не изучает.
Он выбирает один файл сценария: workflows/interactive.md или workflows/autopilot.md. Результатом будет Python-файл в текущей директории с функцией load_config_builder(), возвращающей DataDesignerConfigBuilder, и метаданными PEP 723 для зависимостей.
Скилл сохраняет колонки, кроме явно удалённых или служебных. Для работы CLI требуется Python >= 3.10 и пакет data-designer; это повод проверить окружение до генерации. При данных о людях он обращается к правилам выборки персон, а существующий подходящий скрипт предлагает отредактировать или заменить новым.
Какие задачи решает
- создать синтетический датасет по описанию
- написать Python-скрипт генерации данных
- собрать конфигурацию
DataDesignerConfigBuilder - добавить шаблоны Jinja2 для значений колонок
- извлечь числовую оценку из колонки LLM-судьи
Примеры запросов агенту
- Создай синтетический датасет отзывов клиентов с оценкой качества.
- Собери конвейер генерации данных по этой схеме и запиши Python-файл.
- Сам прими решения и подготовь датасет адресов и демографических данных.
Как установить data-designer
1Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill data-designer -a claude-code2Вручную: положить файлы
~/.claude/skills/data-designer/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/data-designer/
1Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill data-designer -a codex2Вручную: положить файлы
.agents/skills/data-designer/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill data-designer -a cursor2Вручную: положить файлы
.cursor/skills/data-designer/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install NVIDIA/skills data-designer2Вручную: положить файлы
.github/skills/data-designer/SKILL.md1Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill data-designer -a gemini-cli2Командой платформы
gemini skills install https://github.com/NVIDIA/skills --path skills/data-designerВручную: положить файлы
.devin/skills/data-designer/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill data-designer -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о data-designer
Как установить data-designer в Claude Code?
Выполните npx skills add NVIDIA/skills --skill data-designer -a claude-code, затем повторите npx skills add NVIDIA/skills --skill data-designer -a claude-code. Файл скилла находится по пути ~/.claude/skills/data-designer/SKILL.md.
Что делает data-designer?
Скилл создаёт синтетические наборы данных и Python-конфигурации для библиотеки Data Designer. Он выбирает интерактивный сценарий или Autopilot по формулировке запроса.
Что нужно data-designer для работы?
CLI data-designer требует Python >= 3.10. Если CLI не установлен, скилл предлагает создать виртуальное окружение и установить пакет только с разрешения пользователя.
Исходный текст
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