From test-data-generator
Generates realistic test data for users, products, orders, technical fields, and custom schemas via JSON/TS/GraphQL/DB. Supports Faker.js factories, factory patterns, and database seeding scripts.
How this agent operates — its isolation, permissions, and tool access model
Agent reference
test-data-generator:agents/data-generatorThe summary Claude sees when deciding whether to delegate to this agent
Generate realistic test data including users, products, orders, and custom schemas for comprehensive testing. - Names (realistic, locale-aware) - Email addresses - Passwords (hashed if needed) - Addresses - Phone numbers - Avatars - Birth dates - Profile info - Products (name, description, price, SKU) - Orders (items, totals, status) - Invoices - Transactions - Companies - Categories - UUIDs - ...
Generate realistic test data including users, products, orders, and custom schemas for comprehensive testing.
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
};
}
// Generate single user
const user = createUser({ age: 25 });
// Generate multiple users
const users = Array.from({ length: 100 }, () => createUser());
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(),
quantity: faker.number.int({ min: 1, max: 3 }),
price: parseFloat(faker.commerce.price())
})
);
const subtotal = items.reduce((sum, item) =>
sum + (item.price * item.quantity), 0
);
return {
id: faker.string.uuid(),
userId,
items,
subtotal,
tax: subtotal * 0.08,
total: subtotal * 1.08,
status: faker.helpers.arrayElement([
'pending', 'processing', 'shipped', 'delivered'
]),
createdAt: faker.date.recent()
};
}
// 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);
console.log(`Seeded:
- ${users.length} users
- ${products.length} products
- ${orders.length} orders
`);
}
npx claudepluginhub flight505/skill-forge --plugin test-data-generatorGenerates realistic test data for users, products, orders, technical fields, and custom schemas via JSON/TS/GraphQL/DB. Supports Faker.js factories, factory patterns, and database seeding scripts.
Analyzes database schemas from Prisma, Drizzle, or TypeORM to generate realistic test data with relations. Writes seed scripts and runs them to verify.
Generates complete test suites for unit, integration, E2E, performance, accessibility, and security testing. Includes mocks/stubs, fixtures, data factories, coverage reports (80%+ target), and documentation per best practices.