关于 ln-720-structure-migrator
ln-720-structure-migrator 负责协调项目脚手架搭建或迁移至 Clean Architecture,面向项目引导工作流。它按 CREATE 或 TRANSFORM 模式委派前端、后端、种子数据及按需清理任务,并验证结果。
主要功能
- 01CREATE 与 TRANSFORM 模式
- 02分析并规划项目结构
- 03委派给专门的工作技能
- 04验证最终结构与构建
适用场景
- 01搭建 React 和 .NET 项目脚手架
- 02将现有项目迁移至 Clean Architecture
- 03生成或迁移种子数据
- 04重构后检查构建与导入
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-720-structure-migrator安装后在 Claude Code 中输入/ln-720-structure-migrator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/clean_architecture_dotnet.mdfrontend_structure.mdmeta_analysis_protocol.md详细介绍
**路径:**文件路径(
references/、../ln-*)相对于此技能目录。
ln-720-structure-migrator
**类型:**L2 领域协调器 **类别:**7XX 项目引导 **上级:**ln-700-project-bootstrap
协调项目重构,使其符合 Clean Architecture。支持模式感知:根据 CREATE/TRANSFORM 流程,使用适当的模式参数委派给工作器。
目的与范围
| 方面 | 说明 |
|---|---|
| 输入 | 当前项目结构 + 来自 ln-700 的模式(CREATE/TRANSFORM) |
| 输出 | 重构后的 Clean Architecture 项目 |
| 工作器 | 参见下方的工作器表格 |
工作器
| 工作器 | 职责 | CREATE 模式 | TRANSFORM 模式 |
|---|---|---|---|
| ln-721 | 前端结构 | SCAFFOLD(生成初始框架) | RESTRUCTURE(迁移单体应用) |
| ln-722 | 后端生成器 | RUN(生成后端) | RUN(生成后端) |
| ln-723 | 种子数据 | GENERATE(根据实体生成) | MIGRATE(根据 ORM 架构迁移) |
| ln-724 | 工件清理器 | 跳过(无工件) | 有条件执行(仅在检测到平台时) |
范围边界:
- 分析当前项目结构(TRANSFORM),或接受目标配置(CREATE)
- 生成迁移计划或初始框架计划
- 通过 Agent 工具委派给专用工作器
- 验证最终结果
工作流
| 阶段 | 名称 | CREATE 模式 | TRANSFORM 模式 |
|---|---|---|---|
| 1 | 分析 | 接收目标技术栈配置 | 扫描结构、检测框架、映射文件 |
| 2 | 规划 | 计算初始框架操作 | 计算移动操作、识别冲突 |
| 3 | 执行 | 委派:ln-721 SCAFFOLD → ln-722 → ln-723 GENERATE | 委派:ln-724(有条件)→ ln-721 RESTRUCTURE → ln-722 → ln-723 MIGRATE |
| 4 | 验证 | 检查文件结构、验证配置 | 运行构建、检查导入、验证结构 |
目标结构
前端(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
后端(.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/
委派协议
委派给 ln-724(工件清理器)
**调用条件:**处于 TRANSFORM 模式,且检测到平台工件(.replit、.stackblitzrc、sandbox.config.json、glitch.json)。
**跳过条件:**处于 CREATE 模式,或未找到平台配置文件。
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
委派给 ln-721(前端)
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
委派给 ln-722(后端)
Context:
projectName: MyApp
targetPath: /project/src
targetFramework: net10.0
features:
- Dashboard
- Users
Options:
createMockData: true
addSwagger: true
addHealthChecks: true
委派给 ln-723(种子数据)
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
关键规则
- **协调器模式:**分析并通过 Skill 工具委派,不要直接执行转换
- **模式感知:**向所有工作器传递正确的模式——CREATE 与 TRANSFORM 决定工作器的行为
- **条件工作器:**仅在 TRANSFORM 模式且检测到平台工件时运行 ln-724;否则跳过
- **顺序执行工作器:**按顺序执行(ln-724 有条件执行 → ln-721 → ln-722 → ln-723)
- **预检:**确认 git 状态干净,目标路径可用
- **不得丢失数据:**先复制再删除,移除源文件前先验证(TRANSFORM 模式)
- **构建验证:**所有构建都必须通过(
npm run build、dotnet build) - **确保可回滚:**验证完成前保留备份分支(TRANSFORM 模式)
调用:
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 格式(必填):
- 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 调用(MANDATORY)
Host Skill 调用: 必须通过 Skill(skill: "...", args: "...") 委派。
- Claude:严格按所示方式调用 Skill 工具。
- Codex:如果没有 Skill 工具,请在可用技能中找到指定技能,读取其
SKILL.md,将args作为$ARGUMENTS,执行该技能的工作流,然后带着结果/产物返回此处。 - 不要内联执行工作逻辑,也不要在未执行目标技能的情况下将 Worker 标记为完成。
| 阶段 | Worker | 上下文 |
|---|---|---|
| 3a | ln-724-artifact-cleaner | 共享(Skill 工具)——移除平台产物(仅限 TRANSFORM,视情况执行) |
| 3b | ln-721-frontend-restructure | 共享(Skill 工具)——搭建或重构前端 |
| 3c | ln-722-backend-generator | 共享(Skill 工具)——生成后端项目结构 |
| 3d | ln-723-seed-data-generator | 共享(Skill 工具)——生成或迁移种子数据 |
所有 Worker: 通过 Skill 工具调用——Worker 可查看协调器上下文。
完成定义
CREATE 模式:
- 已收到来自 ln-700 的目标技术栈配置
- ln-721 已完成:前端已搭建(SCAFFOLD 模式)
- ln-722 已完成:后端已生成
- ln-723 已完成:种子数据已生成(GENERATE 模式)
- 文件结构符合目标模板
- 所有配置均有效(package.json、tsconfig.json、.csproj)
TRANSFORM 模式:
- 已分析并记录当前结构
- 已生成迁移计划
- ln-724 已完成:平台产物已移除(如适用)
- ln-721 已完成:前端已重构(RESTRUCTURE 模式)
- ln-722 已完成:后端已生成
- ln-723 已完成:种子数据已迁移(MIGRATE 模式)
- 前端构建成功(
npm run build) - 后端构建成功(
dotnet build) - 旧位置中没有孤立文件
- 所有导入均已正确解析
- 已生成迁移报告
风险缓解
| 风险 | 检测方式 | 缓解措施 |
|---|---|---|
| 未提交的更改 | git status 不干净 | 要求工作目录保持干净 |
| 构建失败(前端) | npm run build 失败 | 回滚,委派 ln-721 修复 |
| 构建失败(后端) | dotnet build 失败 | 回滚,委派 ln-722 修复 |
| 文件丢失 | 迁移后文件缺失 | 从备份分支恢复 |
| 导入错误 | 找不到模块 | 重新运行导入更新阶段 |
| 部分迁移 | Worker 执行中途失败 | 原子操作:全部完成或全部回滚 |
| Worker 模式错误 | 模式不匹配 | 委派前验证模式参数 |
参考文件
| 文件 | 用途 |
|---|---|
references/clean_architecture_dotnet.md | .NET 项目结构模板 |
references/frontend_structure.md | React 项目结构模板 |
元分析
可选参考:仅当用户要求运行后元分析或采用协议格式的运行复盘时,才加载 references/meta_analysis_protocol.md。
技能类型:execution-orchestrator。收到请求时,在所有阶段完成后运行。使用 execution-orchestrator 格式在聊天中输出。
版本: 3.0.0
最后更新: 2026-02-07