Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add thapaliyabikendra/ai-artifacts --skill test-data-generationgit clone --depth 1 https://github.com/thapaliyabikendra/ai-artifactsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/thapaliyabikendra/ai-artifacts/test-data-generation)<a href="https://agentmods.dev/skills/thapaliyabikendra/ai-artifacts/test-data-generation"><img src="https://agentmods.dev/badge/skills/thapaliyabikendra/ai-artifacts/test-data-generation.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00057 | $0.03453 |
| Opus 5 | $0.00028 | $0.01726 |
| Sonnet 5 | $0.00011 | $0.00691 |
| Haiku 4.5 | $0.00006 | $0.00345 |
Grade A, and why
test-data-generation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 462 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test Data Generation
Generate realistic test data using Bogus, test builders, and ABP data seeders.
When to Use
- Creating realistic fake data for tests
- Building complex object graphs for testing
- Seeding test databases
- Generating development data
- Creating deterministic test fixtures
Bogus Faker Setup
Installation
<PackageReference Include="Bogus" Version="35.*" />
Basic Faker Configuration
using Bogus;
public static class FakeDataGenerators
{
// Set seed for reproducible tests
public static int Seed { get; set; } = 12345;
static FakeDataGenerators()
{
Randomizer.Seed = new Random(Seed);
}
public static Faker<Patient> PatientFaker => new Faker<Patient>()
.RuleFor(p => p.Id, f => Guid.NewGuid())
.RuleFor(p => p.FirstName, f => f.Name.FirstName())
.RuleFor(p => p.LastName, f => f.Name.LastName())
.RuleFor(p => p.Email, (f, p) => f.Internet.Email(p.FirstName, p.LastName))
.RuleFor(p => p.Phone, f => f.Phone.PhoneNumber("###-###-####"))
.RuleFor(p => p.DateOfBirth, f => f.Date.Past(80, DateTime.Today.AddYears(-18)))
.RuleFor(p => p.Address, f => f.Address.FullAddress())
.RuleFor(p => p.Status, f => f.PickRandom<PatientStatus>());
public static Faker<Doctor> DoctorFaker => new Faker<Doctor>()
.RuleFor(d => d.Id, f => Guid.NewGuid())
.RuleFor(d => d.Name, f => $"Dr. {f.Name.FullName()}")
.RuleFor(d => d.Specialization, f => f.PickRandom(
"Cardiology", "Neurology", "Pediatrics", "Orthopedics"))
.RuleFor(d => d.LicenseNumber, f => f.Random.AlphaNumeric(10).ToUpper())
.RuleFor(d => d.YearsOfExperience, f => f.Random.Int(1, 40));
public static Faker<Appointment> AppointmentFaker => new Faker<Appointment>()
.RuleFor(a => a.Id, f => Guid.NewGuid())
.RuleFor(a => a.DateTime, f => f.Date.Future(30))
.RuleFor(a => a.Duration, f => TimeSpan.FromMinutes(f.PickRandom(15, 30, 45, 60)))
.RuleFor(a => a.Notes, f => f.Lorem.Sentence())
.RuleFor(a => a.Status, f => f.PickRandom<AppointmentStatus>());
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 462 lines · 57 tokens per session scan A 2fc2656d5588
test-data-generation is a skill published in the GitHub repository thapaliyabikendra/ai-artifacts (24 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 57 tokens to every session and 3,453 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
mock-data-generator
A tool that creates realistic sample data from a schema or type definition. Sample data is made-up information used while building or testing software.
adding-dbt-unit-test
Creates unit test YAML definitions that mock upstream model inputs and validate expected outputs. Use when adding unit tests for a dbt model or practicing test-driven development (TDD) in dbt.
phpunit-migration-test-generation
Use this skill when the user asks to generate, write, or create migration tests for a Shopware 6 migration class — phrases like "generate migration tests", "write a migration test", "create migration test", "test this migration", "test Migration1234Foo". Analyzes the source migration's SQL operations to pick an…
testing-paperclip
Paperclip-Testing-Strategie — Vitest, Plugin-Test-Harness aus @paperclipai/plugin-sdk/testing, echte Postgres-Integration-Tests, Cross-Tenant-Isolation. Verwenden Sie dies beim Schreiben oder Reviewen von Paperclip-Tests.
seed
Database seeding, test fixtures, factory patterns, fake data generation. Idempotent seed scripts.
smoke-test-database
Quick Reference - Load this first for fast context (3KB).