Back to list
levnikolaevich

ln-723-mockdata-migrator

by levnikolaevich

Greate Claude Code skills collection. Production-ready skills that cover the full delivery workflow — from research and discovery to epic planning, task breakdown, implementation, testing, code review, and quality gates.

52🍴 12📅 Jan 23, 2026

SKILL.md


name: ln-723-mockdata-migrator description: Migrates mock data from Drizzle ORM schemas to C# MockData classes

ln-723-mockdata-migrator

Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-720-structure-migrator

Migrates mock data from ORM schemas to .NET MockData classes with realistic sample data.


Purpose & Scope

AspectDescription
InputORM schema files (Drizzle, Prisma, TypeORM)
OutputC# MockData static classes
Primary ORMDrizzle (others supported)

Scope boundaries:

  • Parses ORM schema definitions
  • Generates C# entities and MockData classes
  • Creates realistic sample data
  • Does not generate database migrations or EF Core configs

Workflow

PhaseNameActionsOutput
1Parse SchemaRead ORM file, extract table definitionsEntity model
2Map TypesApply type mapping rules, detect nullableC# type definitions
3Generate MockDataCreate static class, generate sample dataMockData.cs files
4VerifyCompile check, relationship validationValid C# code

Phase 1: Parse Schema

Extract entity definitions from ORM schema.

StepActionReference
1.1Locate schema file(s)
1.2Identify ORM type (Drizzle/Prisma/TypeORM)Detect by syntax
1.3Extract table definitionsdrizzle_patterns.md
1.4Extract column definitionsdrizzle_patterns.md
1.5Identify constraints (PK, FK, nullable)drizzle_patterns.md
1.6Extract enum definitionsdrizzle_patterns.md

Output: Entity model with columns, types, and constraints.


Phase 2: Map Types

Convert ORM types to C# types.

StepActionReference
2.1Map column types to C#type_mapping.md
2.2Determine nullable statustype_mapping.md
2.3Identify primary keystype_mapping.md
2.4Map foreign keysrelationship_mapping.md
2.5Transform names (snake_case → PascalCase)drizzle_patterns.md

Type mapping summary:

ORM TypeC# TypeNullable Rule
uuidGuidNo (PK), Depends (FK)
varcharstringCheck .notNull()
integerintNo
booleanboolNo
timestampDateTimeDepends

Phase 3: Generate MockData

Create C# MockData class with sample data.

StepActionReference
3.1Create MockData classdata_generation.md
3.2Generate GUIDs for entitiesdata_generation.md
3.3Generate sample data per fielddata_generation.md
3.4Ensure FK relationships validrelationship_mapping.md
3.5Create accessor methodsdata_generation.md

Generation order by dependency:

OrderEntity TypeGenerate After
1Root entities (no FK)First
2First-level childrenParents exist
3Second-level childrenGrandparents exist
NDeepest childrenAll ancestors exist

Phase 4: Verify

Validate generated code.

CheckMethodExpected
Syntax validCompile checkNo errors
FKs validCross-referenceAll FKs point to existing IDs
Types correctType analysisProper C# types
Names follow conventionPattern checkPascalCase

Supported ORM Detection

ORMDetection Pattern
DrizzlepgTable(), mysqlTable(), sqliteTable()
Prismamodel X { syntax
TypeORM@Entity(), @Column() decorators

Entity Transformation Rules

SourceTargetTransformation
Table name (plural, snake)Class name (singular, Pascal)user_profilesUserProfile
Column name (snake)Property name (Pascal)created_atCreatedAt
Enum nameEnum type (Pascal)status_enumStatusEnum
FK columnNavigation propertyuser_idUserId

MockData Class Structure

ComponentPurpose
Private static listHolds immutable mock data
GetAll() methodReturns full list as IEnumerable
GetById(Guid id)Finds single entity by ID
GetBy{FK}Id(Guid id)Filters by foreign key

Sample Data Guidelines

Field TypeSample CountDistribution
Root entities3-5 itemsVaried status/priority
Child entities5-10 itemsDistributed across parents
Leaf entities10-20 itemsRealistic variety

Critical Rules

  • Single Responsibility: Generate only MockData, no database code
  • Idempotent: Can re-run to regenerate
  • Valid Relationships: All FKs must reference existing parent IDs
  • Realistic Data: Use domain-appropriate values, not random strings
  • Generation Order: Parents before children
  • Consistent GUIDs: Use fixed GUIDs for reproducibility

Definition of Done

  • Schema file parsed successfully
  • All tables/entities extracted
  • Type mappings applied correctly
  • MockData class generated per feature/entity group
  • Sample data includes 5-10 items per entity
  • Foreign keys reference valid parent IDs
  • Accessor methods generated (GetAll, GetById)
  • Code compiles without errors

Risk Mitigation

RiskDetectionMitigation
Parse failureException during parseSupport multiple schema formats
Invalid type mappingUnknown ORM typeLog warning, use string as fallback
FK mismatchFK references non-existent IDGenerate parents first, validate after
Name collisionDuplicate class namesPrefix with feature name
Circular referencesSelf-referencing with cyclesLimit depth, validate graph

Reference Files

FilePurpose
references/type_mapping.mdORM to C# type conversion rules
references/drizzle_patterns.mdDrizzle schema parsing patterns
references/data_generation.mdRealistic sample data patterns
references/relationship_mapping.mdFK handling and generation order

Version: 2.0.0 Last Updated: 2026-01-10

Score

Total Score

80/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon