← Back to Skills Marketplace
xueyetianya

Fixture

by bytesagain4 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
166
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install fixture
Description
Generate and manage test data fixtures using CLI templates. Use when creating seed data, mock records, or reproducible test datasets.
README (SKILL.md)

Fixture — Test Data Fixture Generator

A CLI tool for generating, managing, and exporting test data fixtures. Create reproducible datasets from templates with seeded randomness for consistent test environments.

Prerequisites

  • Python 3.8+
  • bash shell
  • Write access to ~/.fixture/

Data Storage

All fixtures are stored in JSONL format at ~/.fixture/data.jsonl. Templates are stored at ~/.fixture/templates.json.

Commands

Run commands via: bash scripts/script.sh \x3Ccommand> [arguments...]

create

Create a new fixture record with specified fields and values.

bash scripts/script.sh create --name "test_user" --type user --fields '{"name":"Alice","email":"[email protected]","age":30}'

Arguments:

  • --name — Fixture name/label (required)
  • --type — Fixture type/category (required)
  • --fields — JSON object of field values (required)

load

Load fixtures from a JSON or JSONL file into the fixture store.

bash scripts/script.sh load --file fixtures.json
bash scripts/script.sh load --file data.jsonl --format jsonl

Arguments:

  • --file — Input file path (required)
  • --format — File format: json, jsonl (optional, default: auto-detect)

dump

Dump all fixtures or filtered subset to stdout or a file.

bash scripts/script.sh dump
bash scripts/script.sh dump --type user --output users.json

Arguments:

  • --type — Filter by fixture type (optional)
  • --output — Output file path (optional, default: stdout)

list

List all fixtures with summary information.

bash scripts/script.sh list
bash scripts/script.sh list --type user

Arguments:

  • --type — Filter by fixture type (optional)

seed

Generate multiple fixture records from a template with seeded random data.

bash scripts/script.sh seed --template user --count 10 --seed 42

Arguments:

  • --template — Template name to use (required)
  • --count — Number of records to generate (required)
  • --seed — Random seed for reproducibility (optional)

reset

Clear all fixtures or a specific type from the data store.

bash scripts/script.sh reset
bash scripts/script.sh reset --type user

Arguments:

  • --type — Only reset fixtures of this type (optional)
  • --confirm — Skip confirmation prompt (optional)

template

Manage fixture templates: create, list, or show template definitions.

bash scripts/script.sh template --list
bash scripts/script.sh template --create user --schema '{"name":"string","email":"email","age":"int:18-65"}'
bash scripts/script.sh template --show user

Arguments:

  • --list — List all templates (optional)
  • --create — Create template with given name (optional)
  • --schema — JSON schema for template creation (optional)
  • --show — Show a specific template (optional)

validate

Validate fixtures against their template schema.

bash scripts/script.sh validate
bash scripts/script.sh validate --type user

Arguments:

  • --type — Validate only a specific type (optional)

export

Export fixtures to various formats: JSON, JSONL, CSV, SQL.

bash scripts/script.sh export --output fixtures.csv --format csv
bash scripts/script.sh export --output seed.sql --format sql --table users

Arguments:

  • --output — Output file path (required)
  • --format — Export format: json, jsonl, csv, sql (required)
  • --table — Table name for SQL export (optional)

import

Import fixtures from external sources or standard formats.

bash scripts/script.sh import --file data.csv --type user

Arguments:

  • --file — Input file path (required)
  • --type — Assign fixture type (required)

help

Display help information and list all available commands.

bash scripts/script.sh help

version

Display the current tool version.

bash scripts/script.sh version

Examples

# Create a template
bash scripts/script.sh template --create user --schema '{"name":"string","email":"email","age":"int:18-65"}'

# Seed 50 users
bash scripts/script.sh seed --template user --count 50 --seed 42

# List all fixtures
bash scripts/script.sh list

# Export to SQL
bash scripts/script.sh export --output seed.sql --format sql --table users

# Reset all data
bash scripts/script.sh reset --confirm

Notes

  • Templates define field types: string, email, int:min-max, float:min-max, bool, uuid, date
  • Seeded generation guarantees identical output given the same seed
  • Use validate to check fixtures match their template schema
  • SQL export generates INSERT statements compatible with most databases

Powered by BytesAgain | bytesagain.com | [email protected]

Usage Guidance
This tool is local-only and coherent with its description, but be aware it will create and overwrite files under $HOME/.fixture/data.jsonl and templates.json. Only load/import files you trust (don't pass sensitive system files as --file), and ensure you have Python 3.8+ available. If you need stricter isolation, run the script in a contained environment or change DATA_DIR to a dedicated path before use.
Capability Analysis
Type: OpenClaw Skill Name: fixture Version: 1.0.0 The 'fixture' skill bundle is a legitimate utility for generating and managing test data fixtures. It stores data locally in the user's home directory (~/.fixture/) and provides standard CLI operations like creating, seeding, and exporting datasets. The implementation in scripts/script.sh uses safe practices, such as passing arguments via environment variables to embedded Python scripts to avoid shell injection. While the SQL export functionality in the export command lacks sanitization (making the resulting SQL file potentially unsafe if executed blindly), this is a common functional limitation rather than a sign of malice. No evidence of data exfiltration, unauthorized network access, or persistence mechanisms was found.
Capability Assessment
Purpose & Capability
Name/description (fixture generator) match the included shell+Python implementation. Required resources (Python, bash, write access to ~/.fixture) are appropriate and necessary for the stated functionality.
Instruction Scope
SKILL.md instructs only local operations (create, load, seed, dump, list, reset, template, validate, export, import). The script reads/writes the declared ~/.fixture files and any user-supplied input/output paths; it does not access unrelated system configuration or environment variables.
Install Mechanism
No install spec; the skill ships a single script (scripts/script.sh) invoked by bash which embeds Python snippets. No downloads or archive extraction are performed.
Credentials
No environment variables, credentials, or external tokens are required. The script uses a few internally exported env vars for subprocess communication (e.g., FIXTURE_DATA_FILE) which is standard and local-only.
Persistence & Privilege
Skill does not require always:true and does not modify other skills or global agent configuration. It persists only to $HOME/.fixture as documented.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install fixture
  3. After installation, invoke the skill by name or use /fixture
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
publish v1.0.0
Metadata
Slug fixture
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Fixture?

Generate and manage test data fixtures using CLI templates. Use when creating seed data, mock records, or reproducible test datasets. It is an AI Agent Skill for Claude Code / OpenClaw, with 166 downloads so far.

How do I install Fixture?

Run "/install fixture" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Fixture free?

Yes, Fixture is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Fixture support?

Fixture is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Fixture?

It is built and maintained by bytesagain4 (@xueyetianya); the current version is v1.0.0.

💬 Comments