Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

test-data-management

verified

Test data creation and management patterns

View on GitHub

Marketplace

alphaagent-team

the-answerai/alphaagent-team

Plugin

aai-testing

testing

Repository

the-answerai/alphaagent-team

plugins/aai-testing/skills/test-data-management/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/the-answerai/alphaagent-team/blob/main/plugins/aai-testing/skills/test-data-management/SKILL.md -a claude-code --skill test-data-management

Installation paths:

Claude
.claude/skills/test-data-management/
Powered by add-skill CLI

Instructions

# Test Data Management Skill

Patterns for creating and managing test data.

## Factory Pattern

### Basic Factory

```typescript
// factories/user.factory.ts
import { faker } from '@faker-js/faker'

interface User {
  id: string
  email: string
  name: string
  role: 'user' | 'admin'
  createdAt: Date
}

export function createUser(overrides: Partial<User> = {}): User {
  return {
    id: faker.string.uuid(),
    email: faker.internet.email(),
    name: faker.person.fullName(),
    role: 'user',
    createdAt: faker.date.past(),
    ...overrides
  }
}

// Create multiple
export function createUsers(count: number, overrides: Partial<User> = {}): User[] {
  return Array.from({ length: count }, () => createUser(overrides))
}
```

### Factory with Traits

```typescript
// factories/user.factory.ts
type UserTrait = 'admin' | 'verified' | 'unverified' | 'premium'

const traits: Record<UserTrait, Partial<User>> = {
  admin: { role: 'admin' },
  verified: { emailVerified: true, verifiedAt: new Date() },
  unverified: { emailVerified: false, verifiedAt: null },
  premium: { plan: 'premium', planExpiresAt: faker.date.future() }
}

export function createUser(
  overrides: Partial<User> = {},
  ...userTraits: UserTrait[]
): User {
  const traitOverrides = userTraits.reduce(
    (acc, trait) => ({ ...acc, ...traits[trait] }),
    {}
  )

  return {
    id: faker.string.uuid(),
    email: faker.internet.email(),
    name: faker.person.fullName(),
    role: 'user',
    emailVerified: false,
    createdAt: faker.date.past(),
    ...traitOverrides,
    ...overrides
  }
}

// Usage
const adminUser = createUser({}, 'admin', 'verified')
const premiumUser = createUser({ name: 'John' }, 'premium', 'verified')
```

### Related Factories

```typescript
// factories/order.factory.ts
import { createUser } from './user.factory'
import { createProduct } from './product.factory'

export function createOrder(overrides: Partial<Order> = {}): Order {
  const user = overrides.user || createUser()
 

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
5772 chars