Synthetic Test Fixtures

VerifiedSafe

Generate N synthetic test fixtures matching a user-defined schema, with optional edge-case mode.

Sby Skills Guide Bot
TestingIntermediate
7/24/2026
Claude CodeCursorWindsurfCopilotCodex
#test-fixtures#synthetic-data#schema-based#edge-cases

Recommended for

Automated summary

Generates N synthetic test fixtures matching a user-defined schema using one Jimmy call per fixture, with optional edge-case mode for boundary and adversarial values.

Strengths

  • Generates structured test data quickly
  • Supports multiple field types including email, URL, date
  • Allows edge-case generation for adversarial testing
  • Each fixture is independent, minimizing failure impact

Limitations

  • Not suited for deeply nested object graphs
  • Cannot enforce foreign-key constraints
  • ~5-15% parse failure rate on complex schemas
When to use it

Use when you need many schema-conforming test fixtures for unit tests, database seeding, or API contract testing.

When not to use it

Avoid when you need exact manual control over values, complex nested schemas, or relational data with consistency requirements.

Security analysis

Safe
Quality score85/100

The skill is a documentation for generating test fixtures using an external LLM service. It does not instruct destructive actions, exfiltration, or execution of arbitrary code. It only describes a process for generating structured data, which is innocuous.

No concerns found

How this analysis is made

Examples

Basic user fixtures
Generate 5 synthetic User fixtures with schema: { "username": "string", "age": "int", "active": "bool" }.
Edge-case product fixtures
Generate 10 Product fixtures with edge case mode enabled. Schema: { "name": "string", "price": "float", "quantity": "int" }.
Email and date fixtures
Please generate 3 synthetic fixtures with schema: { "email": "email", "registered_at": "date", "is_verified": "bool" }.

jimmy-testdata

Generate N synthetic test fixtures matching a user-defined schema — one Jimmy call per fixture, with optional edge-case mode for boundary and adversarial values.

When to use this skill

Use jimmy-testdata when you need structured test data that conforms to a schema and want to generate many fixtures quickly. Good for:

  • Unit test setup — "Give me 10 User objects with valid field values for my test suite"
  • Database seeding — "Generate 20 Product records for a development database"
  • Edge-case coverage — "Generate adversarial User inputs: empty names, max-int ages, invalid emails"
  • API contract testing — "Generate 15 request payloads matching my request schema"

Not suited for: generating large nested object graphs (keep schemas shallow — 5-10 fields), generating exact values you need to control manually, or generating relational data with foreign-key consistency constraints.

Note on reliability: Llama 3.1 8B (Jimmy) can produce invalid JSON, especially for complex schemas. jimmy-testdata requests one fixture per call (not batched) to minimize blast radius — a single bad call loses one fixture, not all N. Expect a ~5-15% parse failure rate on complex schemas; re-run the skill or accept partial results.

How parallelism works here

All N fixtures are generated in one --parallel call. Each array item contains one fixture prompt — Jimmy generates one JSON object per item. Parse failures produce error items; the skill never retries failed fixtures. See jimmy-testdata.md for full details.

Parameters

| Parameter | Required | Description | |-----------|----------|-------------| | schema | yes | Object mapping field names to types: { "field_name": "type" }. Supported types: string, int, float, bool, email, url, date, uuid. | | n | yes | Number of fixtures to generate (integer >= 1; practical max ~20). Each fixture is one Jimmy call. | | edge_case | no | Boolean, default false. When true, prompts Jimmy to generate boundary/adversarial values for each field based on its type (e.g., empty strings, max integers, invalid emails). | | max_concurrent | no | Maximum simultaneous HTTP requests. Default: 10. |

Output

JSON object with fixtures array and summary. Each fixture item has an index field. Successful items have fixture (the parsed JSON object). Failed items have fixture: null, error, error_type, and raw (Jimmy's raw response for debugging). When edge_case is true, the same output shape is returned but fixture values contain adversarial boundary values.

{
  "fixtures": [
    { "index": 0, "fixture": { "username": "alice", "age": 32, "active": true } },
    { "index": 1, "fixture": { "username": "bob", "age": 19, "active": false } },
    { "index": 2, "fixture": null, "error": "invalid JSON", "error_type": "parse", "raw": "Sure! Here is your object: {\"username\": \"carol\",..." }
  ],
  "summary": { "total": 3, "succeeded": 2, "failed": 1 }
}

Per-item parse failures set fixture: null, error, and error_type: "parse" without affecting other items. fixtures always has exactly N items.

Note: No automatic retry on parse failure. Re-invoke the skill with a lower n if partial results are insufficient.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/synthetic-test-fixtures-mryiqftl' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/synthetic-test-fixtures-mryiqftl/download' --output '.skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md.part' && mv '.skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md.part' '.skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/synthetic-test-fixtures-mryiqftl/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills