
Test Data Management
- 95 installs
- 433 repo stars
- Updated August 4, 2026
- proffesor-for-testing/agentic-qe
test-data-management is a Claude Code skill for testing & qa.
About
test-data-management is a Claude Code skill for testing & qa. It helps solo builders move faster with AI-assisted development.
- test-data-management
- Testing & QA
- AI-coding skill
Test Data Management by the numbers
- 95 all-time installs (skills.sh)
- +3 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #1,016 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill test-data-managementAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 95 |
|---|---|
| repo stars | ★ 433 |
| Last updated | August 4, 2026 |
| Repository | proffesor-for-testing/agentic-qe ↗ |
How do I helps with testing & qa tasks.?
Helps with testing & qa tasks.
Who is it for?
Best when you're working on testing & qa and need structured help with test data management.
Skip if: Teams with no testing & qa needs, or anyone wanting a generic chat assistant without this specific workflow.
When should I use this skill?
When you need to helps with testing & qa tasks., or when test-data-management is a claude code skill for testing & qa.
What you get
Structured output aligned to test-data-management: test-data-management, Testing & QA.
Files
Test Data Management
<default_to_action> When creating or managing test data: 1. NEVER use production PII directly 2. GENERATE synthetic data with faker libraries 3. ANONYMIZE production data if used (mask, hash) 4. ISOLATE test data (transactions, per-test cleanup) 5. SCALE with batch generation (10k+ records/sec)
Quick Data Strategy:
- Unit tests: Minimal data (just enough)
- Integration: Realistic data (full complexity)
- Performance: Volume data (10k+ records)
Critical Success Factors:
- 40% of test failures from inadequate data
- GDPR fines up to €20M for PII violations
- Never store production PII in test environments
</default_to_action>
Quick Reference Card
When to Use
- Creating test datasets
- Handling sensitive data
- Performance testing with volume
- GDPR/CCPA compliance
Data Strategies
| Type | When | Size |
|---|---|---|
| Minimal | Unit tests | 1-10 records |
| Realistic | Integration | 100-1000 records |
| Volume | Performance | 10k+ records |
| Edge cases | Boundary testing | Targeted |
---
Data Anonymization
// Masking
function maskEmail(email) {
const [user, domain] = email.split('@');
return `${user[0]}***@${domain}`;
}
// john@example.com → j***@example.com
function maskCreditCard(cc) {
return `****-****-****-${cc.slice(-4)}`;
}
// 4242424242424242 → ****-****-****-4242
// Anonymize production data
const anonymizedUsers = prodUsers.map(user => ({
id: user.id, // Keep ID for relationships
email: `user-${user.id}@example.com`, // Fake email
firstName: faker.person.firstName(), // Generated
phone: null, // Remove PII
createdAt: user.createdAt // Keep non-PII
}));---
Database Transaction Isolation
// Best practice: use transactions for cleanup
beforeEach(async () => {
await db.beginTransaction();
});
afterEach(async () => {
await db.rollbackTransaction(); // Auto cleanup!
});
test('user registration', async () => {
const user = await userService.register({
email: 'test@example.com'
});
expect(user.id).toBeDefined();
// Automatic rollback after test - no cleanup needed
});---
Agent-Driven Data Generation
// High-speed generation with constraints
await Task("Generate Test Data", {
schema: 'ecommerce',
count: { users: 10000, products: 500, orders: 5000 },
preserveReferentialIntegrity: true,
constraints: {
age: { min: 18, max: 90 },
roles: ['customer', 'admin']
}
}, "qe-test-data-architect");
// GDPR-compliant anonymization
await Task("Anonymize Production Data", {
source: 'production-snapshot',
piiFields: ['email', 'phone', 'ssn'],
method: 'pseudonymization',
retainStructure: true
}, "qe-test-data-architect");---
Agent Coordination Hints
Memory Namespace
aqe/test-data-management/
├── schemas/* - Data schemas
├── generators/* - Generator configs
├── anonymization/* - PII handling rules
└── fixtures/* - Reusable fixturesFleet Coordination
const dataFleet = await FleetManager.coordinate({
strategy: 'test-data-generation',
agents: [
'qe-test-data-architect', // Generate data
'qe-test-executor', // Execute with data
'qe-security-scanner' // Validate no PII exposure
],
topology: 'sequential'
});---
Related Skills
- database-testing - Schema and integrity testing
- compliance-testing - GDPR/CCPA compliance
- performance-testing - Volume data for perf tests
---
Remember
Never use production PII directly. Always use synthetic data or properly anonymized production snapshots.
With Agents: qe-test-data-architect generates 10k+ records/sec with realistic patterns, relationships, and constraints. Agents ensure GDPR/CCPA compliance automatically and eliminate test data bottlenecks.
# =============================================================================
# AQE Skill Evaluation Test Suite: Test Data Management v1.0.0
# =============================================================================
#
# Comprehensive evaluation suite for the test-data-management skill.
# Tests synthetic data generation, PII handling, GDPR/CCPA compliance,
# data anonymization, test data isolation, and batch generation.
#
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
# Validator: .claude/skills/test-data-management/scripts/validate-config.json
#
# Coverage:
# - Synthetic data generation with faker
# - PII detection and anonymization
# - GDPR/CCPA compliance
# - Test data isolation and cleanup
# - Batch data generation
# - Data privacy validation
#
# =============================================================================
skill: test-data-management
version: 1.0.0
description: >
Comprehensive evaluation suite for the test-data-management skill.
Tests synthetic data generation, PII protection, GDPR/CCPA compliance,
data anonymization strategies, per-test data isolation, and high-volume
batch generation for realistic testing scenarios.
# =============================================================================
# Multi-Model Configuration
# =============================================================================
models_to_test:
- claude-sonnet-4-6 # Primary (high accuracy expected)
- claude-haiku-4-5 # Fast model (minimum quality floor)
# =============================================================================
# MCP Integration Configuration
# =============================================================================
mcp_integration:
enabled: true
namespace: skill-validation
query_patterns: true
track_outcomes: true
store_patterns: true
share_learning: true
update_quality_gate: true
target_agents:
- qe-learning-coordinator
- qe-queen-coordinator
- qe-security-scanner
# =============================================================================
# ReasoningBank Learning Configuration
# =============================================================================
learning:
store_success_patterns: true
store_failure_patterns: true
pattern_ttl_days: 90
min_confidence_to_store: 0.7
cross_model_comparison: true
# =============================================================================
# Result Format Configuration
# =============================================================================
result_format:
json_output: true
markdown_report: true
include_raw_output: false
include_timing: true
include_token_usage: true
# =============================================================================
# Environment Setup
# =============================================================================
setup:
required_tools:
- jq
environment_variables:
DATA_GENERATION_ENABLED: "true"
PRIVACY_MODE: "strict"
GDPR_COMPLIANCE: "true"
# =============================================================================
# TEST CASES
# =============================================================================
test_cases:
# ---------------------------------------------------------------------------
# CATEGORY: Synthetic Data Generation
# ---------------------------------------------------------------------------
- id: tc001_faker_based_user_generation
description: "Generate realistic synthetic user data with faker"
category: data_generation
priority: critical
input:
generation_request:
entity: user
count: 100
fields:
- name
- email
- phone
- address
faker_library: faker
context:
purpose: testing
locale: en_US
expected_output:
must_contain:
- "generated"
- "faker"
- "100"
- "synthetic"
must_not_contain:
- "production"
- "real users"
severity_classification: info
finding_count:
max: 1
validation:
schema_check: true
keyword_match_threshold: 0.8
reasoning_quality_min: 0.75
timeout_ms: 30000
- id: tc002_realistic_data_generation
description: "Generate data realistic enough for integration testing"
category: data_generation
priority: critical
input:
requirements:
- name: "user_purchase_history"
entity: purchase
realistic_constraints:
- purchase_date_recent: true
- amount_range: [10, 10000]
- product_categories: ["electronics", "clothing", "books"]
- name: "customer_interaction_data"
entity: interaction
requirements:
- timestamps_realistic: true
- sequential_ordering: true
- user_behavior_realistic: true
context:
test_type: integration
expected_output:
must_contain:
- "realistic"
- "integration"
- "data"
must_not_contain:
- "random"
severity_classification: info
validation:
schema_check: true
keyword_match_threshold: 0.75
# ---------------------------------------------------------------------------
# CATEGORY: PII Detection and Handling
# ---------------------------------------------------------------------------
- id: tc003_pii_detection_in_data
description: "Detect personally identifiable information in dataset"
category: pii_detection
priority: critical
input:
data_samples:
- field: email
value: "john.doe@example.com"
is_pii: true
- field: phone
value: "555-123-4567"
is_pii: true
- field: ssn
value: "123-45-6789"
is_pii: true
- field: first_name
value: "John"
is_pii: true
- field: product_name
value: "Laptop"
is_pii: false
context:
scope: "all_fields"
expected_output:
must_contain:
- "PII"
- "detected"
- "email"
- "phone"
must_not_contain:
- "product"
severity_classification: critical
finding_count:
min: 4
validation:
schema_check: true
keyword_match_threshold: 0.8
reasoning_quality_min: 0.8
- id: tc004_pii_anonymization_strategy
description: "Define anonymization strategy for test data"
category: pii_detection
priority: critical
input:
pii_fields:
- field: email
strategy: hash
reversible: false
- field: name
strategy: faker_replace
reversible: true
- field: phone
strategy: mask
pattern: "XXX-XXX-****"
reversible: false
- field: address
strategy: truncate
keep_only: city_country
reversible: false
context:
compliance: GDPR
expected_output:
must_contain:
- "anonymization"
- "strategy"
- "hash"
- "mask"
must_not_contain:
- "plaintext"
severity_classification: critical
validation:
schema_check: true
keyword_match_threshold: 0.85
# ---------------------------------------------------------------------------
# CATEGORY: GDPR/CCPA Compliance
# ---------------------------------------------------------------------------
- id: tc005_gdpr_compliance_check
description: "Verify GDPR compliance in test data handling"
category: compliance
priority: critical
input:
compliance_checks:
- requirement: "No real PII in test environments"
status: checked
result: passed
- requirement: "Consent tracking for EU users"
status: checked
result: passed
- requirement: "Data retention limits (90 days)"
status: checked
result: passed
- requirement: "Right to be forgotten policy"
status: checked
result: passed
- requirement: "Data portability available"
status: checked
result: passed
context:
regulation: GDPR
scope: EU
expected_output:
must_contain:
- "GDPR"
- "compliance"
- "passed"
must_not_contain:
- "failed"
severity_classification: critical
validation:
schema_check: true
keyword_match_threshold: 0.85
- id: tc006_ccpa_compliance_check
description: "Verify CCPA compliance for California users"
category: compliance
priority: critical
input:
compliance_checks:
- requirement: "Privacy policy accessible"
status: checked
result: passed
- requirement: "Opt-out mechanism available"
status: checked
result: passed
- requirement: "Sale of data disclosed"
status: checked
result: passed
- requirement: "Data minimization applied"
status: checked
result: passed
context:
regulation: CCPA
scope: California
expected_output:
must_contain:
- "CCPA"
- "compliance"
- "passed"
must_not_contain:
- "violation"
severity_classification: critical
validation:
schema_check: true
keyword_match_threshold: 0.85
# ---------------------------------------------------------------------------
# CATEGORY: Data Isolation and Cleanup
# ---------------------------------------------------------------------------
- id: tc007_per_test_data_isolation
description: "Verify each test gets isolated, independent data"
category: isolation
priority: critical
input:
test_execution:
- test_id: "test_001"
data_namespace: "test_001_namespace"
created_records: 10
isolated: true
- test_id: "test_002"
data_namespace: "test_002_namespace"
created_records: 8
isolated: true
- test_id: "test_003"
data_namespace: "test_003_namespace"
created_records: 15
isolated: true
cross_contamination: false
context:
isolation_level: "per_test"
expected_output:
must_contain:
- "isolation"
- "independent"
- "namespace"
must_not_contain:
- "shared"
- "contamination"
severity_classification: critical
validation:
schema_check: true
keyword_match_threshold: 0.8
- id: tc008_data_cleanup_verification
description: "Verify complete cleanup after test execution"
category: isolation
priority: critical
input:
cleanup_verification:
- test_id: "test_001"
records_created: 10
records_remaining: 0
cleanup_status: successful
- test_id: "test_002"
records_created: 8
records_remaining: 0
cleanup_status: successful
- test_id: "test_003"
records_created: 15
records_remaining: 0
cleanup_status: successful
orphaned_records: 0
context:
cleanup_strategy: "per_test_transaction_rollback"
expected_output:
must_contain:
- "cleanup"
- "successful"
- "0 remaining"
must_not_contain:
- "orphaned"
- "left behind"
severity_classification: high
validation:
schema_check: true
keyword_match_threshold: 0.8
# ---------------------------------------------------------------------------
# CATEGORY: Batch Data Generation
# ---------------------------------------------------------------------------
- id: tc009_high_volume_batch_generation
description: "Generate large volumes of test data efficiently"
category: batch_generation
priority: high
input:
batch_request:
records_to_generate: 50000
entity_type: transaction
generation_method: bulk_insert
performance_target_seconds: 30
context:
use_case: "performance_testing"
database: postgresql
expected_output:
must_contain:
- "batch"
- "50000"
- "records"
- "generated"
must_not_contain:
- "timeout"
severity_classification: info
validation:
schema_check: true
keyword_match_threshold: 0.75
- id: tc010_data_factory_pattern
description: "Use factory pattern for consistent test data creation"
category: batch_generation
priority: high
input:
factories_defined:
- factory: UserFactory
fields: ["name", "email", "created_at"]
default_values: true
custom_builders: true
- factory: OrderFactory
fields: ["user_id", "total", "status"]
relationships: ["user_id -> User"]
default_values: true
context:
pattern: "factory_method"
expected_output:
must_contain:
- "factory"
- "pattern"
- "defined"
must_not_contain:
- "error"
severity_classification: info
validation:
schema_check: true
keyword_match_threshold: 0.75
# =============================================================================
# SUCCESS CRITERIA
# =============================================================================
success_criteria:
pass_rate: 0.85
critical_pass_rate: 1.0
avg_reasoning_quality: 0.75
max_execution_time_ms: 300000
cross_model_variance: 0.15
# =============================================================================
# METADATA
# =============================================================================
metadata:
author: "qe-test-data-architect"
created: "2026-02-02"
last_updated: "2026-02-02"
coverage_target: >
Test data management including synthetic data generation with faker,
PII detection and anonymization, GDPR/CCPA compliance, per-test data
isolation with cleanup, batch generation (50k+ records), and factory
patterns. 10 test cases covering all aspects with 85% pass rate and
100% critical pass rate for compliance.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://agentic-qe.dev/schemas/test-data-management-output.json",
"title": "AQE Test Data Management Skill Output Schema",
"description": "Schema for test data generation, management, and privacy compliance output.",
"type": "object",
"required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
"properties": {
"skillName": {
"type": "string",
"const": "test-data-management",
"description": "Skill identifier"
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
},
"timestamp": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?$"
},
"status": {
"type": "string",
"enum": ["success", "partial", "failed", "skipped"]
},
"trustTier": {
"type": "integer",
"const": 3
},
"output": {
"type": "object",
"required": ["summary", "dataGeneration", "privacyCompliance", "metrics"],
"properties": {
"summary": {
"type": "string",
"minLength": 10,
"maxLength": 2000
},
"score": {
"$ref": "#/$defs/dataManagementScore"
},
"dataGeneration": {
"$ref": "#/$defs/dataGeneration",
"description": "Data generation results"
},
"privacyCompliance": {
"$ref": "#/$defs/privacyCompliance",
"description": "Privacy/GDPR compliance status"
},
"dataQuality": {
"$ref": "#/$defs/dataQuality",
"description": "Data quality assessment"
},
"schemas": {
"type": "array",
"items": {
"$ref": "#/$defs/schemaResult"
},
"description": "Schema validation results"
},
"findings": {
"type": "array",
"items": {
"$ref": "#/$defs/dataFinding"
},
"maxItems": 500
},
"recommendations": {
"type": "array",
"items": {
"$ref": "#/$defs/recommendation"
},
"maxItems": 100
},
"metrics": {
"$ref": "#/$defs/dataMetrics"
},
"artifacts": {
"type": "array",
"items": {
"$ref": "#/$defs/artifact"
},
"maxItems": 50
}
}
},
"metadata": {
"type": "object",
"properties": {
"executionTimeMs": { "type": "integer", "minimum": 0 },
"toolsUsed": {
"type": "array",
"items": {
"type": "string",
"enum": ["faker", "factory-bot", "test-containers", "anonymizer", "synthetic-data-vault"]
}
},
"agentId": { "type": "string", "pattern": "^qe-[a-z][a-z0-9-]*$" },
"targetDatabase": { "type": "string" }
}
},
"validation": {
"type": "object",
"properties": {
"schemaValid": { "type": "boolean" },
"contentValid": { "type": "boolean" },
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
}
},
"learning": {
"type": "object",
"properties": {
"patternsDetected": { "type": "array", "items": { "type": "string" } },
"reward": { "type": "number", "minimum": 0, "maximum": 1 }
}
}
},
"$defs": {
"dataManagementScore": {
"type": "object",
"required": ["value", "max"],
"properties": {
"value": { "type": "number", "minimum": 0, "maximum": 100 },
"max": { "type": "number", "const": 100 },
"grade": { "type": "string", "pattern": "^[A-F][+-]?$" },
"privacyScore": { "type": "number", "minimum": 0, "maximum": 100 }
}
},
"dataGeneration": {
"type": "object",
"properties": {
"strategy": {
"type": "string",
"enum": ["synthetic", "anonymized", "subset", "mock", "hybrid"],
"description": "Data generation strategy"
},
"recordsGenerated": { "type": "integer", "minimum": 0 },
"throughput": {
"type": "number",
"description": "Records per second"
},
"tables": {
"type": "array",
"items": {
"$ref": "#/$defs/tableGeneration"
}
},
"referentialIntegrity": { "type": "boolean" },
"seed": { "type": "integer", "description": "Random seed for reproducibility" }
}
},
"tableGeneration": {
"type": "object",
"required": ["name", "recordCount"],
"properties": {
"name": { "type": "string" },
"recordCount": { "type": "integer", "minimum": 0 },
"constraints": {
"type": "object",
"additionalProperties": true
},
"status": { "type": "string", "enum": ["success", "partial", "failed"] }
}
},
"privacyCompliance": {
"type": "object",
"properties": {
"gdprCompliant": { "type": "boolean" },
"ccpaCompliant": { "type": "boolean" },
"piiDetected": {
"type": "array",
"items": {
"$ref": "#/$defs/piiField"
},
"description": "PII fields detected"
},
"piiHandling": {
"type": "object",
"properties": {
"masked": { "type": "integer" },
"hashed": { "type": "integer" },
"tokenized": { "type": "integer" },
"removed": { "type": "integer" }
}
},
"dataRetention": {
"type": "object",
"properties": {
"policy": { "type": "string" },
"expirationDays": { "type": "integer" }
}
},
"auditLog": { "type": "boolean" }
}
},
"piiField": {
"type": "object",
"required": ["field", "piiType"],
"properties": {
"field": { "type": "string" },
"piiType": {
"type": "string",
"enum": ["email", "phone", "ssn", "address", "name", "dob", "financial", "health", "other"]
},
"handling": {
"type": "string",
"enum": ["masked", "hashed", "tokenized", "removed", "synthetic"]
},
"location": { "type": "string" }
}
},
"dataQuality": {
"type": "object",
"properties": {
"completeness": { "type": "number", "minimum": 0, "maximum": 100 },
"uniqueness": { "type": "number", "minimum": 0, "maximum": 100 },
"validity": { "type": "number", "minimum": 0, "maximum": 100 },
"consistency": { "type": "number", "minimum": 0, "maximum": 100 },
"overallScore": { "type": "number", "minimum": 0, "maximum": 100 },
"issues": {
"type": "array",
"items": { "type": "string" }
}
}
},
"schemaResult": {
"type": "object",
"required": ["schema", "status"],
"properties": {
"schema": { "type": "string" },
"status": { "type": "string", "enum": ["valid", "invalid", "partial"] },
"recordsValidated": { "type": "integer" },
"validationErrors": { "type": "integer" }
}
},
"dataFinding": {
"type": "object",
"required": ["id", "title", "severity", "category"],
"properties": {
"id": { "type": "string", "pattern": "^DATA-\\d{3,6}$" },
"title": { "type": "string", "minLength": 5, "maxLength": 200 },
"description": { "type": "string", "maxLength": 2000 },
"severity": { "type": "string", "enum": ["critical", "high", "medium", "low", "info"] },
"category": {
"type": "string",
"enum": ["privacy", "quality", "schema", "integrity", "performance", "compliance"]
},
"affectedTables": { "type": "array", "items": { "type": "string" } },
"remediation": { "type": "string" }
}
},
"dataMetrics": {
"type": "object",
"properties": {
"totalRecords": { "type": "integer", "minimum": 0 },
"tablesProcessed": { "type": "integer", "minimum": 0 },
"piiFieldsHandled": { "type": "integer", "minimum": 0 },
"dataQualityScore": { "type": "number", "minimum": 0, "maximum": 100 },
"generationTimeMs": { "type": "integer", "minimum": 0 },
"throughputPerSec": { "type": "number", "minimum": 0 }
}
},
"recommendation": {
"type": "object",
"required": ["id", "title", "priority"],
"properties": {
"id": { "type": "string", "pattern": "^REC-\\d{3,6}$" },
"title": { "type": "string" },
"description": { "type": "string" },
"priority": { "type": "string", "enum": ["critical", "high", "medium", "low"] },
"effort": { "type": "string", "enum": ["trivial", "low", "medium", "high", "major"] }
}
},
"artifact": {
"type": "object",
"required": ["type", "path"],
"properties": {
"type": { "type": "string", "enum": ["data", "report", "schema", "log", "config"] },
"path": { "type": "string" },
"format": { "type": "string", "enum": ["json", "csv", "sql", "yaml", "html"] }
}
}
}
}
{
"skillName": "test-data-management",
"skillVersion": "1.0.0",
"requiredTools": [
"jq"
],
"optionalTools": [
"faker",
"ajv",
"jsonschema",
"python3"
],
"schemaPath": "schemas/output.json",
"requiredFields": [
"skillName",
"status",
"output",
"output.dataGeneration",
"output.privacyCompliance",
"output.metrics"
],
"requiredNonEmptyFields": [
"output.summary"
],
"mustContainTerms": [
"data"
],
"mustNotContainTerms": [
"TODO",
"placeholder",
"FIXME"
],
"enumValidations": {
".status": [
"success",
"partial",
"failed",
"skipped"
]
}
}
Related skills
FAQ
What does test-data-management do?
test-data-management is a Claude Code skill for testing & qa.
When should I use test-data-management?
When you need to helps with testing & qa tasks., or when test-data-management is a claude code skill for testing & qa.
What are the main capabilities?
test-data-management; Testing & QA; AI-coding skill.