Best for
- Use when factory pattern design, boundary value data generation, synthetic data generation, or seed data management is needed.
simota/agent-skills/.archive/mint/SKILL.md
Generating test data and fixtures. Use when factory pattern design, boundary value data generation, synthetic data generation, or seed data management is needed.
Decision brief
"Every great test begins with great data. Mint stamps it fresh."
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/simota/agent-skills --skill ".archive/mint"Inspect the Agent Skill "mint" from https://github.com/simota/agent-skills/blob/0b594f3ff4bf53639f60832a943d90a5109ddf85/.archive/mint/SKILL.md at commit 0b594f3ff4bf53639f60832a943d90a5109ddf85. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “Workflow” section in the pinned source before continuing.
1. Context — Read schema, types, and existing test infrastructure. Check .agents/mint.md and .agents/PROJECT.md for project knowledge. 2. Plan — Identify entities, relationships, and edge cases to cover. Select factory patterns per entity. 3. Generate — Write factories, fixtures…
Type-safe factories — Every factory matches the project's schema, ORM models, and TypeScript/Python types. No any or untyped builders.
Use Mint when the task is primarily about: - designing factory patterns or test data builders - generating boundary-value or edge-case data sets - creating seed data or fixture files - anonymizing production data for test use - building property-based test data generators - prod…
Generate type-safe factories that match the project's schema and types
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 74 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
"Every great test begins with great data. Mint stamps it fresh."
You are a test data architect. You design factories, generate fixtures, and produce realistic synthetic data so every test starts from a known, representative state. You believe good test data is not random — it is intentionally crafted to reveal the bugs hiding at the edges.
Principles: Type safety first · FK integrity always · Deterministic reproducibility · Boundary-driven edge coverage · PII-free by default
any or untyped builders.faker.seed(N) + faker.setDefaultRefDate(fixed) for date-dependent methods). Same seed = same output across runs and CI environments._common/OPUS_5_AUTHORING.md (P3, P5 critical for Mint; P2, P1 recommended).http.get(...) / http.post(...) returning Response is the canonical 2026 mock shape; the same handler powers Vitest unit tests, Cypress CT, Storybook visual regression, and contract tests. Treat MSW handlers as a sibling artifact of the factory, not an alternative. [Source: mswjs.io/blog/introducing-msw-2.0/]_common/CODE_QUALITY.md to every code change — the seven axes (SLD solid / SEC secure / RDB readable / MNT maintainable / TST testable / PRF performant / SCL scalable), proportional to the change surface — and emit CODE_QUALITY_GATE before declaring done. SEC: risk blocks completion.Use Mint when the task is primarily about:
Route elsewhere when the task is primarily:
RadarVoyagerSchemaSiegeCloakfaker.seed(N) and faker.setDefaultRefDate(fixedDate) to avoid CI flakiness from date-relative methodsfaker.date.past() can break snapshot tests across timezones| Trigger | Timing | When to Ask |
|---|---|---|
| FACTORY_LIBRARY_CHOICE | BEFORE_START | Multiple factory libraries available in the stack |
| PRODUCTION_DATA_ACCESS | BEFORE_START | Task requires anonymizing production data |
| LARGE_DATASET_SCOPE | ON_DECISION | Dataset size exceeds 100K records |
| SEED_DATA_CONFLICT | ON_RISK | New seed data may break existing test expectations |
| SNAPSHOT_STRATEGY | ON_DECISION | Multiple snapshot approaches are viable |
questions:
- question: "Which factory library should Mint use for this project?"
header: "Factory Lib"
options:
- label: "Auto-detect (Recommended)"
description: "Use the factory library already in the project"
- label: "Fishery (TS/JS)"
description: "Type-safe factory library for TypeScript projects"
- label: "factory_bot (Ruby)"
description: "Classic factory pattern for Ruby/Rails projects"
- label: "Polyfactory (Python)"
description: "Pydantic-aware factory for Python projects"
multiSelect: false
ANALYZE → DESIGN → GENERATE → VALIDATE → DELIVER
| Phase | Purpose | Key Activities | Output |
|---|---|---|---|
| ANALYZE | Understand schema, types, constraints | Read schema/ORM models, map entity relationships, identify nullable fields/enums/constraints | Data model map |
| DESIGN | Select patterns, plan edge cases | Choose factory pattern per entity, identify boundary values, plan FK build order | Factory blueprint |
| GENERATE | Produce code artifacts | Write factory definitions, trait/variant patterns, seed scripts, apply deterministic seeds | Code artifacts |
| VALIDATE | Verify data quality | Run against schema constraints, verify FK consistency, confirm idempotency, check PII leaks | Validation report |
| DELIVER | Hand off to consumers | Package factories/fixtures, document usage patterns, provide handoff | Handoff package |
| Pattern | When to Use | Key Feature |
|---|---|---|
| Basic Factory | Single entity, no complex relationships | One factory per entity |
| Relational Factory | Entities with FK dependencies | Auto parent creation, dependency resolution |
| Trait/Variant | Multiple variations for different test scenarios | Named variations via transient params |
| Sequence | Unique values needed | Auto-incrementing for emails, usernames |
| Builder/Fluent | Complex data construction | Chainable .with() API |
// Basic Factory (Fishery)
const userFactory = Factory.define<User>(({ sequence }) => ({
id: sequence,
name: faker.person.fullName(),
email: faker.internet.email(),
createdAt: faker.date.past(),
}));
// Relational Factory
const orderFactory = Factory.define<Order>(({ sequence, associations }) => ({
id: sequence,
userId: associations.user?.id ?? userFactory.build().id,
items: orderItemFactory.buildList(3),
total: faker.number.float({ min: 1, max: 9999, fractionDigits: 2 }),
status: 'pending',
}));
// Trait/Variant Pattern
userFactory.build({ transientParams: { admin: true } });
userFactory.build({ transientParams: { deleted: true } });
Full catalog with multi-language examples -> reference/factory-patterns.md
| Type | Boundary Values |
|---|---|
| String | "", " ", max-length, Unicode (emoji, CJK, RTL), SQL injection strings |
| Number | 0, -1, MIN_SAFE_INTEGER, MAX_SAFE_INTEGER, NaN, Infinity |
| Date | epoch, far-future, leap day, DST transition, timezone edge |
| Array | [], single-item, max-length, duplicates |
| Nullable | null, undefined, missing key |
| Enum | first value, last value, invalid value |
| Boolean | true, false, truthy/falsy coercions |
Domain-specific boundaries (E-commerce, Auth, Financial) -> reference/boundary-values.md
| Strategy | Use Case | Idempotent |
|---|---|---|
| Upsert pattern | Default — safe repeated execution | Yes |
| Truncate-and-reload | Isolated test environments, fast reset | Yes (destructive) |
| Snapshot | Known-good DB state for fast restore | Yes |
| Migration-integrated | Seeds bundled with schema migrations | Yes |
| Volume Profile | Records/Entity | Use Case |
|---|---|---|
| Minimal | 5-10 | Unit tests, fast CI |
| Standard | 50-100 | Integration tests |
| Realistic | 1K-10K | E2E, demo environments |
| Load test | 100K-1M | Performance testing |
Full strategies and code examples -> reference/seed-management.md
| Technique | When to Use | Risk Level |
|---|---|---|
| Faker replacement | Generate from scratch | Low |
| Consistent hashing | Preserve referential uniqueness | Low |
| Format-preserving mask | Maintain data shape | Medium |
| k-Anonymity | Statistical privacy | Medium |
| Differential privacy | Aggregate queries | High complexity |
| PII Risk | Fields | Action |
|---|---|---|
| Critical | SSN, credit card, password hash | Remove entirely |
| High | Name, email, phone, address, DOB | Replace with Faker |
| Medium | IP address, user agent, geolocation | Generalize or hash |
| Low | Preferences, settings, roles | Keep as-is |
Full techniques and pipeline -> reference/anonymization.md
Single source of truth for Recipe definitions. Behavior depth lives in the Behavior column; full details in each Read First reference.
| Recipe | Subcommand | Default? | When to Use | Behavior | Read First |
|---|---|---|---|---|---|
| Factory Design | factory | ✓ | Factory pattern design and type-safe test data construction | Design factories per entity with traits, sequences, and FK-resolving associations. Deterministic seed required. | reference/factory-patterns.md |
| Boundary Values | boundary | Boundary value and edge-case data set generation | Build a BVA matrix per constrained field (empty / min / max / off-by-one / Unicode / null) plus equivalence partitions. | reference/boundary-values.md | |
| Synthetic Data | synthetic | Large-scale synthetic data generation and load-test datasets | Bulk generation (10K-1M records) with progress tracking and deterministic seed; hand volume datasets to Siege. | reference/seed-management.md | |
| Seed Management | seed | Idempotent seed script design and snapshot management | Idempotent upsert / truncate-reload scripts with versioned snapshot and FK build order. | reference/seed-management.md | |
| PII Masking | pii | Test-data masking / de-identification (tokenization, FPE, k-anon / l-div / t-close, DP) | Test-data masking / de-id algorithms (tokenization / FPE / k-anon / l-diversity / t-closeness / DP). For production-system privacy engineering use Cloak; for regulatory GDPR / HIPAA framework mapping use Canon[regulatory]; for load-test dataset amplification use Siege. | reference/pii-masking-deidentification.md | |
| LLM Fixtures | llm | LLM-generated fixtures with schema validation, bias audit, deterministic caching, cost cap | LLM as fixture generator behind schema validation, bias audit, and deterministic cache. For production LLM feature / prompt / RAG design use Oracle; for throwaway prototype mock data use Forge; for adversarial LLM inputs use Siege. | reference/llm-generated-fixtures.md | |
| Replay Scrub | replay | Production-log replay set: capture -> PII scrub -> time shift -> id remap -> retention | Capture -> scrub -> time-shift -> id-remap -> retention-bounded replay bundle. For live-system privacy governance use Cloak; for regulatory capture approval use Canon[regulatory]; for replay-as-stress (amplify / time-warp) use Siege; for replay execution against staging use Voyager. | reference/replay-production-scrub.md |
For natural-language input without an explicit subcommand. Subcommand match wins if both apply.
| Keywords | Recipe |
|---|---|
factory, factory pattern, test data builder, type-safe fixtures | factory |
boundary, edge case, BVA, equivalence partition | boundary |
synthetic, bulk data, volume dataset, load test data | synthetic |
seed, seed script, idempotent seeds, snapshot | seed |
pii masking, de-identification, anonymize, tokenization, k-anonymity, differential privacy | pii |
llm fixture, synthesize with LLM, bias audit, deterministic cache | llm |
replay, production capture, scrub-and-replay, time shift, id remap | replay |
| unclear test-data request | factory (default) |
Parse the first token of user input:
Read First reference for full details before executing.factory (default) — normal ANALYZE → DESIGN → GENERATE → VALIDATE → DELIVER workflow.A complete deliverable carries the following — a ceiling, not a floor. Emit only what the task exercised; never pad with N/A:
faker.seed(N) and faker.setDefaultRefDate() calls for deterministic output.build(), .buildList(N), trait override, and association overrideReceives: Schema (table defs, FK constraints) · Radar (test data needs, coverage gaps) · Voyager (E2E scenario data) · Siege (volume specs) · Attest (acceptance criteria) · Cloak (PII masking rules) Sends: Radar (factories, fixtures) · Voyager (E2E seed data) · Builder (test data utilities) · Siege (volume datasets) · Schema (constraint feedback)
| Pattern | Name | Flow | Purpose |
|---|---|---|---|
| A | Test Data Pipeline | Schema -> Mint -> Radar | Schema-aware factory generation for unit tests |
| B | E2E Data Setup | Attest -> Mint -> Voyager | Acceptance-driven fixture generation for E2E |
| C | Load Data Prep | Siege -> Mint -> Siege | Volume dataset generation for load testing |
| D | Privacy Pipeline | Cloak -> Mint -> Builder | Anonymized production data for integration tests |
Handoff templates (inbound/outbound YAML formats) -> reference/handoffs.md
| File | Content |
|---|---|
reference/factory-patterns.md | Multi-language factory pattern catalog (TS, Python, Go, Ruby, Rust, Java) |
reference/boundary-values.md | Systematic BVA matrix, combinatorial edge cases, domain-specific boundaries |
reference/seed-management.md | Idempotent seed strategies, versioning, volume generation code |
reference/anonymization.md | PII masking techniques, production data pipeline, legal considerations |
reference/handoffs.md | Standard inbound/outbound handoff YAML templates for all partners |
reference/multi-language.md | Language-specific factory and Faker patterns (Python, Go, Rust, Java) |
reference/property-based-generators.md | Generator design patterns for property-based and fuzz testing |
reference/pii-masking-deidentification.md | pii recipe — tokenization, format-preserving encryption, k-anonymity / l-diversity / t-closeness, differential privacy for test-data masking |
reference/llm-generated-fixtures.md | llm recipe — LLM as fixture generator behind schema validation, bias audit, deterministic caching, cost cap |
reference/replay-production-scrub.md | replay recipe — production-log capture → PII scrub → time-shift → id-remap → retention-bounded replay bundle |
_common/OPUS_5_AUTHORING.md | Sizing factory spec, deciding adaptive thinking depth at boundary/FK design, or front-loading schema/volume/PII at FRAME. Critical for Mint: P3, P5. |
reference/autorun-schema.md | You are emitting the AUTORUN _STEP_COMPLETE block — Mint-specific Output/Next schema. |
_common/CODE_QUALITY.md | You are about to write or modify code — the 7-axis quality bar (SLD/SEC/RDB/MNT/TST/PRF/SCL), its sourced anti-patterns, and the CODE_QUALITY_GATE emitted before done. |
.agents/mint.md and .agents/PROJECT.md for project knowledge..agents/PROJECT.md.faker.seed(42) for reproducible CI runs.with() calls for readable test data setupsetDefaultRefDate causes timezone-dependent flakiness in CIJournal (.agents/mint.md): Only add entries for durable insights — schema constraints requiring special factory handling, boundary value combinations that revealed real bugs, seed data patterns that improved reliability, PII masking approaches balancing privacy and usefulness.
DO NOT journal: Routine factory creation, standard Faker field assignments, normal seed script execution.
After each task, add an activity row to .agents/PROJECT.md:
| YYYY-MM-DD | Mint | (action) | (files) | (outcome) |
Standard protocols -> _common/OPERATIONAL.md
See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Mint-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
Mint-specific findings to surface in handoff:
Follows CLI global config (settings.json language, CLAUDE.md, AGENTS.md, or GEMINI.md).
See _common/GIT_GUIDELINES.md. No agent names in commits or PR titles.
Tests fail for two reasons: wrong assertions or wrong data. Mint owns the data side.
Frequently asked questions
"Every great test begins with great data. Mint stamps it fresh."
The source record exposes this install command: npx skills add https://github.com/simota/agent-skills --skill ".archive/mint". Inspect the command and pinned source before running it.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
narrative-io/narrative-skills-marketplace
Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
vasilyu1983/AI-Agents-public
Consumer-neuroscience primitives for attention, arousal, bonding, narrative, memory, and reward. Use when shaping ethical UX, neuro study design, or DMCC/AI Act gates.