Scaffolds new or restructures existing projects to Clean Architecture. Use when setting up project structure.
Paths: File paths (references/, ../ln-*) are relative to this skill directory.
ln-720-structure-migrator
Type: L2 Domain Coordinator
Category: 7XX Project Bootstrap
Parent: ln-700-project-bootstrap
Coordinates project restructuring to Clean Architecture. Mode-aware: delegates to workers with appropriate mode parameters based on CREATE/TRANSFORM pipeline.
Purpose & Scope
Aspect
Description
Input
Current project structure + mode (CREATE/TRANSFORM) from ln-700
Output
Restructured project with Clean Architecture
Workers
See Workers table below
Workers
Worker
Role
CREATE mode
TRANSFORM mode
ln-721
Frontend structure
SCAFFOLD (generate starter)
RESTRUCTURE (migrate monolith)
ln-722
Backend generator
RUN (generate backend)
RUN (generate backend)
ln-723
Seed data
GENERATE (from entities)
MIGRATE (from ORM schemas)
ln-724
Artifact cleaner
SKIP (no artifacts)
CONDITIONAL (only if platform detected)
Scope boundaries:
Analyzes current project structure (TRANSFORM) or accepts target config (CREATE)
Generates migration plan or scaffold plan
Delegates to specialized workers via Agent tool
Verifies final result
Workflow
Phase
Name
CREATE mode
TRANSFORM mode
1
Analyze
Receive target stack config
Scan structure, detect framework, map files
2
Plan
Calculate scaffold actions
Calculate moves, identify conflicts
3
Execute
Delegate: ln-721 SCAFFOLD → ln-722 → ln-723 GENERATE
Delegate: ln-724 (conditional) → ln-721 RESTRUCTURE → ln-722 → ln-723 MIGRATE
4
Verify
Check file structure, validate configs
Run builds, check imports, validate structure
Target Structures
Frontend (React)
src/frontend/
├── public/
├── src/
│ ├── components/
│ │ ├── layout/ # AppLayout, Header, Sidebar
│ │ └── ui/ # Reusable UI components
│ ├── contexts/ # React contexts
│ ├── hooks/ # Custom hooks
│ ├── lib/ # Utilities, API clients
│ ├── pages/ # Page components
│ │ └── {Feature}/ # Feature-specific files
│ ├── App.tsx
│ ├── main.tsx
│ └── index.css
├── package.json
├── vite.config.ts
└── tsconfig.json
Backend (.NET Clean Architecture)
src/
├── {Project}.Api/
│ ├── Controllers/
│ ├── DTOs/
│ ├── Middleware/
│ ├── MockData/
│ ├── Extensions/
│ ├── Program.cs
│ └── appsettings.json
├── {Project}.Domain/
│ ├── Entities/
│ ├── Enums/
│ └── Common/
├── {Project}.Services/
│ └── Interfaces/
├── {Project}.Repositories/
│ └── Interfaces/
└── {Project}.Shared/
Delegation Protocol
To ln-724 (Artifact Cleaner)
When to invoke: TRANSFORM mode AND platform artifacts detected (.replit, .stackblitzrc, sandbox.config.json, glitch.json).
Skip conditions: CREATE mode OR no platform config files found.
Context:
projectPath: /project
skipPreview: false
Options:
# ln-724 auto-detects platform, no need to specify
cleanConfigFiles: true
cleanDirectories: true
cleanPackages: true
cleanBuildConfig: true
cleanCodeComments: true
cleanGitignore: true
To ln-721 (Frontend)
Context:
mode: SCAFFOLD | RESTRUCTURE # From pipeline mode
# SCAFFOLD mode:
targetPath: /project/src/frontend
projectName: MyApp
# RESTRUCTURE mode:
sourcePath: /project/client
targetPath: /project/src/frontend
framework: react
features:
- Dashboard
- Settings
- Profile
Options:
# RESTRUCTURE only:
splitMonolithicFiles: true
extractConstants: true
extractTypes: true
createComponentLibrary: true
To ln-722 (Backend)
Context:
projectName: MyApp
targetPath: /project/src
targetFramework: net10.0
features:
- Dashboard
- Users
Options:
createMockData: true
addSwagger: true
addHealthChecks: true
To ln-723 (Seed Data)
Context:
mode: MIGRATE | GENERATE # From pipeline mode
targetFormat: csharp | typescript | python | json | sql
# MIGRATE mode:
sourceORM: auto # Auto-detect (drizzle/prisma/typeorm/efcore/sqlalchemy/django)
sourcePath: /project/references/schema.ts
# GENERATE mode:
entities: # Optional — if empty, starter template used
- name: User
fields: [id, name, email, role, createdAt]
- name: Role
fields: [id, name, description]
targetPath: /project/src/MyApp.Api/MockData
Critical Rules
Orchestrator Pattern: Analyze and delegate via Skill tool, do not execute transformations directly
Mode Awareness: Pass correct mode to all workers — CREATE vs TRANSFORM determines worker behavior
Conditional Workers: ln-724 runs ONLY in TRANSFORM mode when platform artifacts detected; SKIP otherwise
Sequential Workers: Execute in order (ln-724 conditional → ln-721 → ln-722 → ln-723)
Pre-flight Checks: Verify git status clean, target paths available
No Data Loss: Copy before delete, verify before removing source (TRANSFORM mode)
Build Verification: All builds must pass (npm run build, dotnet build)
Rollback Ready: Keep backup branch until verification complete (TRANSFORM mode)
Invocations:
Skill(skill: "ln-724-artifact-cleaner", args: "{projectPath}") # TRANSFORM only, conditional
Skill(skill: "ln-721-frontend-restructure", args: "{projectPath} --mode {SCAFFOLD|RESTRUCTURE}")
Skill(skill: "ln-722-backend-generator", args: "{projectPath}")
Skill(skill: "ln-723-seed-data-generator", args: "{projectPath} --mode {GENERATE|MIGRATE}")
TodoWrite format (mandatory):
- Invoke ln-724-artifact-cleaner (conditional TRANSFORM) (pending)
- Invoke ln-721-frontend-restructure (pending)
- Invoke ln-722-backend-generator (pending)
- Invoke ln-723-seed-data-generator (pending)
- Verify structure and builds (pending)
Worker Invocation (MANDATORY)
Host Skill Invocation: Skill(skill: "...", args: "...") is mandatory delegation.
Claude: call the Skill tool exactly as shown.
Codex: if no Skill tool exists, locate the named skill in available skills, read its SKILL.md, treat args as $ARGUMENTS, execute that skill workflow, then return here with its result/artifact.
Do not inline worker logic or mark the worker complete without executing the target skill.
Phase
Worker
Context
3a
ln-724-artifact-cleaner
Shared (Skill tool) — remove platform artifacts (TRANSFORM only, conditional)
3b
ln-721-frontend-restructure
Shared (Skill tool) — scaffold or restructure frontend
3c
ln-722-backend-generator
Shared (Skill tool) — generate backend project structure
3d
ln-723-seed-data-generator
Shared (Skill tool) — generate or migrate seed data
All workers: Invoke via Skill tool — workers see coordinator context.
Definition of Done
CREATE mode:
Target stack config received from ln-700
ln-721 completed: Frontend scaffolded (SCAFFOLD mode)
ln-722 completed: Backend generated
ln-723 completed: Seed data generated (GENERATE mode)
File structure matches target templates
All configs valid (package.json, tsconfig.json, .csproj)
TRANSFORM mode:
Current structure analyzed and documented
Migration plan generated
ln-724 completed: Platform artifacts removed (if applicable)
ln-721 completed: Frontend restructured (RESTRUCTURE mode)
ln-722 completed: Backend generated
ln-723 completed: Seed data migrated (MIGRATE mode)
Frontend builds successfully (npm run build)
Backend builds successfully (dotnet build)
No orphan files in old locations
All imports resolve correctly
Migration report generated
Risk Mitigation
Risk
Detection
Mitigation
Uncommitted changes
git status not clean
Require clean working directory
Build failure (frontend)
npm run build fails
Rollback, delegate to ln-721 for fix
Build failure (backend)
dotnet build fails
Rollback, delegate to ln-722 for fix
Lost files
Files missing after migration
Restore from backup branch
Import errors
Module not found
Re-run import update phase
Partial migration
Worker fails mid-execution
Atomic: complete all or rollback all
Wrong worker mode
Mode mismatch
Validate mode parameter before delegation
Reference Files
File
Purpose
references/clean_architecture_dotnet.md
.NET project structure template
references/frontend_structure.md
React project structure template
Meta-Analysis
Optional reference: load references/meta_analysis_protocol.md only when the user asks for post-run meta-analysis or protocol-formatted run reflection.
Skill type: execution-orchestrator. When requested, run after all phases complete. Output to chat using the execution-orchestrator format.
Version: 3.0.0
Last Updated: 2026-02-07don't have the plugin yet? install it then click "run inline in claude" again.