Data Generator
Generates realistic, locale-aware test data (users, products, orders, custom schemas) using Faker.js, Factory Boy, or json-schema-faker — producing factory functions, database seed scripts, and fixture files ready for immediate use. Use when setting up a test environment or populating a dev database with production-scale data. Trigger with \"generate test data\", \"create seed data factories\".
- Type
- Subagent
- Repository
- jeremylongshore/tons-of-skills-marketplace
- GitHub stars
- 2.8k
- License
- MIT
- Repo last updated
- Sep 27, 2026
- Model
- sonnet
- Version
- 1.0.0
- Author
- Jeremy Longshore <[email protected]>
What Data Generator is
Data Generator is a subagent published in the jeremylongshore/tons-of-skills-marketplace repository on GitHub, which has about 2.8k stars. The repository describes itself as: “Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.”
A subagent is a specialist assistant that Claude can hand part of a task to. It is a markdown file whose frontmatter sets a name, a description that tells Claude when to delegate, and optionally the tools and model it may use; the body becomes the subagent's own system prompt.
Because a subagent works in its own context, it keeps the main conversation focused: Claude can send a narrow job, such as a review or a specialised analysis, to Data Generator and get back a compact result.
How to install Data Generator
Claude Code
- Download data-generator.md from the repository.
- Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
- Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Claude Cowork
- Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent.
- Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from plugins/testing/test-data-generator/agents/data-generator.md, shared under the repository's MIT license. Read the full file on GitHub.
Generate realistic test data including users, products, orders, and custom schemas for comprehensive testing.
Data Types
User Data
- Names (realistic, locale-aware)
- Email addresses
- Passwords (hashed if needed)
- Addresses
- Phone numbers
- Avatars
- Birth dates
- Profile info
Business Data
- Products (name, description, price, SKU)
- Orders (items, totals, status)
- Invoices
- Transactions
- Companies
- Categories
Technical Data
- UUIDs
- Timestamps
- IP addresses
- URLs
- User agents
- API keys
- Tokens
Custom Schemas
- JSON Schema support
- Database schema import
- TypeScript types
- GraphQL schemas
Libraries Used
- Faker.js / @faker-js/faker - Comprehensive fake data
- Chance.js - Random generator helper
- json-schema-faker - Generate from JSON Schema
- Factory Bot - Ruby factory patterns
- Factory Boy - Python factory patterns
Example: User Factory
import { faker } from '@faker-js/faker';
function createUser(overrides = {}) {
return {
id: faker.string.uuid(),
email: faker.internet.email(),
name: faker.person.fullName(),
age: faker.number.int({ min: 18, max: 80 }),
address: {
street: faker.location.streetAddress(),
city: faker.location.city(),
country: faker.location.country(),
zipCode: faker.location.zipCode()
},
createdAt: faker.date.past(),
...overrides
};
}
…Example: E-commerce Data
function createProduct() {
return {
id: faker.string.uuid(),
name: faker.commerce.productName(),
description: faker.commerce.productDescription(),
price: parseFloat(faker.commerce.price()),
category: faker.commerce.department(),
inStock: faker.datatype.boolean(),
sku: faker.string.alphanumeric(8).toUpperCase(),
images: Array.from({ length: 3 }, () => faker.image.url())
};
}
function createOrder(userId) {
const items = Array.from(
{ length: faker.number.int({ min: 1, max: 5 }) },
() => ({
productId: faker.string.uuid(),
…Database Seeding
// Seed script
async function seedDatabase() {
// Generate users
const users = Array.from({ length: 100 }, () => createUser());
await db.users.insertMany(users);
// Generate products
const products = Array.from({ length: 500 }, () => createProduct());
await db.products.insertMany(products);
// Generate orders (2-5 per user)
const orders = users.flatMap(user =>
Array.from(
{ length: faker.number.int({ min: 2, max: 5 }) },
() => createOrder(user.id)
)
);
await db.orders.insertMany(orders);
…Best Practices
- Use seed for development consistency
- Generate fresh data for each test
- Use realistic data patterns
- Locale-aware generation
- Deterministic with seeds for reproducibility
- Clean up after tests
Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Data Generator?
Data Generator is a subagent for Claude Code and Claude Cowork from the jeremylongshore/tons-of-skills-marketplace repository on GitHub. Generates realistic, locale-aware test data (users, products, orders, custom schemas) using Faker.js, Factory Boy, or json-schema-faker — producing factory functions, database seed scripts, and fixture files ready for immediate use. Use when setting up a test environment or populating a dev database with production-scale data. Trigger with \"generate test data\", \"create seed data factories\".
How do I install Data Generator in Claude Code?
Download data-generator.md from the repository. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control. Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Can I use Data Generator in Claude Cowork?
Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent. Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
Is Data Generator safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Wispr Pack Claude Code skill pack for Wispr (18 skills) Plugin · jeremylongshore/tons-of-skills-marketplace
- Windsurf Windsurf AI IDE skill pack with 30 skills covering code flows, AI workflows, workspace management, and productivity features. Plugin · jeremylongshore/tons-of-skills-marketplace
- Wire Produces developer-ready handoff specs, annotated prototype flows, and component state documentation that bridges design and engineering. Use when you need a design handoff doc, flow annotation, or component spec with all states and edge cases. Trigger with \"write my handoff spec\", \"document this user flow\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Websocket Server Builder Build WebSocket servers for real-time bidirectional communication Plugin · jeremylongshore/tons-of-skills-marketplace
- Database Designer Database schema design expert for SQL and NoSQL covering normalization, indexing strategies, migration patterns, and query optimization. Use when designing schemas, picking between PostgreSQL and MongoDB, or fixing slow queries. Trigger with \"database schema\", \"data model help\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Data Collector Fetches raw analytics data from Umami MCP across all tracked sites and returns structured datasets for specialist agents — never interprets, only collects. Use when kicking off an analytics pipeline or pulling fresh metrics for any time range. Trigger with \"collect analytics data\", \"fetch site metrics\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Dead Code Hunter Scans for unused exports, dead imports, unreachable code, and stale feature flags using knip/vulture/deadcode, auto-removes high-confidence findings after build verification, and flags the rest for manual review. Use when cleaning up a codebase before a refactor or release. Trigger with "find dead code", "remove unused exports". Subagent · jeremylongshore/tons-of-skills-marketplace
- Cut Designs and manages icon systems and custom illustrations that extend the brand visually. Use when you need an icon system audit, an SVG optimization pass, or an illustration style spec. Trigger with \"audit the icon system\", \"optimize these SVGs\". Subagent · jeremylongshore/tons-of-skills-marketplace