Skip to content
All Skills

Ln 720 Structure Migrator

Scaffolds new or restructures existing projects to Clean Architecture. Use when setting up project structure.

Software Engineering|v1|Updated 7/14/2026|GitHub source
MCP get_skill({ skillId: "ln-720-structure-migrator-34779a93" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
> **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.

```yaml
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)

```yaml
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)

```yaml
Context:
  projectName: MyApp
  targetPath: /project/src
  targetFramework: net10.0
  features:
    - Dashboard
    - Users
Options:
  createMockData: true
  addSwagger: true
  addHealthChecks: true
```

### To ln-723 (Seed Data)

```yaml
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-07
#agile-workflow#code-review#architecture

Related Skills

More skills in Software Engineering

Accessibility Standards

Comprehensive web accessibility standards based on WCAG 2.2 AA, with 38+ anti-patterns, legal enforcement context (EAA, ADA Title II), WAI-ARIA patterns, and framework-specific fixes for modern web frameworks and libraries.

#github-copilot#accessibilityMIT

Accord

Authoring unified specification packages across Business/Development/Design teams via staged elaboration (L0 Vision → L1 Requirements → L2 Team Detail → L3 Acceptance Criteria). No code. Use when authoring cross-team specs, building L0-L3 packages, or aligning Biz/Dev/Design on a single source of truth.

#broad-capability#developmentMIT

Acquire Codebase Knowledge

Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document this architecture", "onboard me to this repo", or "create codebase docs". Do not trigger for routine feature implementation, bug fixes, or narrow code edits unless the user asks for repository-level discovery.

#github-copilot#documentationMIT

Acreadiness Assess

Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc readiness` and hands off rendering to the @ai-readiness-reporter custom agent. Supports policies (--policy) for org-specific scoring. Use when asked to assess, audit, or score the AI readiness of a repo.

#github-copilot#planningMIT

Acreadiness Generate Instructions

Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS Code) plus optional per-area .instructions.md files with applyTo globs for monorepos. Use after running /acreadiness-assess to close gaps in the AI Tooling pillar.

#github-copilot#skillMIT

Acreadiness Policy

Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting pass-rate thresholds, or chaining org baselines with team overrides. Use when the user asks about strict mode, AI-only scoring, custom weights, CI gating, or wants org-wide standardisation.

#github-copilot#planningMIT