skills-catalog/ln-720-structure-migrator/SKILL.md
Scaffolds new or restructures existing projects to Clean Architecture. Use when setting up project structure.
npx skillsauth add levnikolaevich/claude-code-skills ln-720-structure-migratorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. Ifshared/is missing, fetch files via WebFetch fromhttps://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}.
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.
| Aspect | Description | |--------|-------------| | Input | Current project structure + mode (CREATE/TRANSFORM) from ln-700 | | Output | Restructured project with Clean Architecture | | Workers | See Workers table below |
| 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:
| 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 |
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
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/
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
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
Context:
projectName: MyApp
targetPath: /project/src
targetFramework: net10.0
features:
- Dashboard
- Users
Options:
createMockData: true
addSwagger: true
addHealthChecks: true
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/shared/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
npm run build, dotnet build)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)
| 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.
CREATE mode:
TRANSFORM mode:
npm run build)dotnet build)| 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 |
| File | Purpose |
|------|---------|
| references/clean_architecture_dotnet.md | .NET project structure template |
| references/frontend_structure.md | React project structure template |
MANDATORY READ: Load shared/references/meta_analysis_protocol.md
Skill type: execution-orchestrator. Run after all phases complete. Output to chat using the execution-orchestrator format.
Version: 3.0.0 Last Updated: 2026-02-07
testing
Checks runtime lifecycle and config validation: bootstrap, shutdown, probes, cleanup, env sync, and fail-fast startup. Use for runtime readiness.
testing
Checks races, deadlocks, async hazards, TOCTOU, blocking I/O, and shared resource contention. Use when auditing concurrency correctness.
testing
Checks diagnosability through structured logs, metrics, traces, correlation IDs, and useful log levels. Use when auditing incident visibility.
development
Finds code that can be safely deleted: unreachable, unused, obsolete compatibility, and commented-out code. Use when pruning dead code.