Creates synthetic data pairs based on task specifications to power benchmarks.

Install

mkdir -p .claude/skills/synthesize-data && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14179" && unzip -o skill.zip -d .claude/skills/synthesize-data && rm skill.zip

Installs to .claude/skills/synthesize-data

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Generate synthetic benchmark examples from a task spec. Invoked from setup-data when there is no data, or directly when the user asks to generate examples. Produces a JSONL file in .data/<benchmark-name>/.
205 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Read benchmark specifications
  • Generate synthetic text and expected output pairs
  • Validate generated results against field schema
  • Save generated data to a JSONL file
  • Update benchmark spec to point to generated data
  • Warn about small datasets for statistical reliability

How it works

The skill reads a benchmark specification, builds a generation prompt, calls a generator model, validates results, and saves them to a JSONL file.

Inputs & outputs

You give it
A benchmark specification with a valid `task:` section
You get back
A `.jsonl` file containing synthetic `{text, expected}` pairs and an updated benchmark spec

When to use synthesize-data

  • Generate test data for benchmarks
  • Create synthetic evaluation examples
  • Validate benchmark task specs

About this skill

Synthesize Data Skill

Generates synthetic {text, expected} pairs from the benchmark spec's task spec.

Can be invoked from setup-data (when Path 3 is selected) or directly:

"Generate 30 examples for my invoice benchmark"


Hard Rule: Image Tasks

If task.input.type is image, document, or pdfstop immediately:

"I can generate expected outputs but not the images themselves. You need real images to run this benchmark. Use setup-data (Path 1 or 2) to supply your own images."

Do not attempt generation. Return to the user.


Steps

  1. Read the benchmark spec (must already have a valid task: section)
  2. Check input type — block image tasks (see above)
  3. Run the data generator:
from src.data_generator import generate_data

path = generate_data("<path-to-spec>", count=30)
# → .data/<benchmark_name>/train.jsonl

Or via CLI (if running as a subprocess):

python -c "from src.data_generator import generate_data; generate_data('<path-to-spec>', count=30)"
  1. Update the benchmark spec's data: section to point to the generated file:
data:
  source: local
  path: .data/<benchmark-name>/train.jsonl
  1. Confirm success:
Generated 30 examples → .data/my-benchmark/train.jsonl

What the Generator Does

  • Reads task.type, task.input.description, task.output.fields from the benchmark spec
  • Builds a generation prompt from the spec
  • Calls the generator model N times in parallel (async)
  • Validates each result against the field schema
  • Saves to .data/<benchmark-name>/train.jsonl

The generator model is an internal engine detail — never mention it to the user.


Counting

  • Default count: 30
  • User can specify: "Generate 50 examples"
  • Minimum useful: 10 (fewer makes metrics unreliable)

Output Artifact

.data/<benchmark-name>/train.jsonl — one JSON object per line:

{"id": "0", "text": "Invoice from ...", "expected": {"vendor_name": "ACME Corp", "amount": 1250.00}}
{"id": "1", "text": "Factura de ...", "expected": {"vendor_name": "Distribuidora XYZ", "amount": 875.50}}

After Generation

Tell the user:

"Generated {N} examples → .data/{benchmark-name}/train.jsonl. Your the benchmark spec has been updated. Run run-benchmark to evaluate."

If count < 10, warn:

"Note: {N} examples is a small dataset — results may not be statistically reliable. Consider generating more."

When not to use it

  • When `task.input.type` is `image`, `document`, or `pdf`
  • When real images are required for the benchmark

Limitations

  • The skill cannot generate images, documents, or PDFs.
  • The skill relies on an internal generator model that is not exposed to the user.

How it compares

This skill automates the creation of synthetic benchmark data based on a specification, providing structured and validated examples, which differs from manually crafting test data.

Compared to similar skills

synthesize-data side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
synthesize-data (this skill)01moReviewIntermediate
data-engineering137moReviewAdvanced
crawl4ai218moReviewIntermediate
data-cleaning-pipeline135moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry