用途
migrate 是一个迁移工作流技能,用于框架、语言和基础设施的安全迁移。当用户提出“迁移到 X”“升级框架”“从 X 移到 Y”“升级 Python/Node 等”“迁移数据库”等需求,或涉及框架版本升级、语言迁移、基础设施变更时使用。
主要能力
该技能采用五阶段工作流,由五个子代理依次执行:
- oracle:研究目标框架/版本,输出研究报告。
- phoenix:分析当前代码库的迁移影响,输出影响分析。
- plan-agent:创建分阶段迁移计划,输出迁移计划。
- kraken:实施迁移变更,输出代码变更。
- surveyor:审查迁移完整性,输出迁移审查报告。
工作流示意:oracle(研究目标)→ phoenix(分析现状)→ plan-agent(制定计划)→ kraken(实施变更)→ surveyor(审查迁移)。
之所以设置额外关卡,是因为迁移属于高风险操作,涉及版本间的破坏性变更、依赖冲突、数据格式变化、API 弃用等问题,额外的研究与审查阶段可尽早发现问题。
使用方式
各阶段通过 Task 调用对应子代理执行,提示词中需填入迁移目标、当前状态、研究结果、影响分析、阶段编号等信息。
- 阶段 1:研究目标——调用 oracle,调查当前版本的破坏性变更、新 API 与模式、正在使用的已弃用功能、官方迁移指南、常见陷阱与解决方案,输出迁移研究报告。
- 阶段 2:分析现状——调用 phoenix,识别使用已弃用 API 的文件、依赖冲突、需要更新的模式、受影响区域的测试覆盖率、风险区域(关键路径),输出带受影响文件的影响分析。
- 阶段 3:制定计划——调用 plan-agent,基于研究与影响分析制定计划,要求分阶段(尽可能增量)、每阶段可独立测试、包含回滚策略、优先保证关键路径稳定,输出分阶段迁移计划。
- 阶段 4:实施——调用 kraken,按计划实施指定阶段,要求严格遵循计划、每次变更后运行测试、记录任何偏差、测试失败即停止,输出完成阶段及测试结果。
- 阶段 5:审查——调用 surveyor,检查所有已弃用 API 是否替换、是否残留兼容垫片、测试是否通过、性能是否可接受、是否存在安全回归,输出迁移审查报告。
适用场景
- 框架升级:如 /migrate React 17 → 18,完整工作流处理 hooks/并发模式变更。
- 语言版本迁移:如 /migrate Python 3.9 → 3.12,聚焦新语法与已移除特性。
- 数据库迁移:如 /migrate MongoDB → PostgreSQL,涉及模式设计、数据转换、查询重写。
- 基础设施迁移:如 /migrate AWS → GCP,涉及服务映射与配置转换。
示例:/migrate from Express to Fastify 会依次执行研究 Fastify 关键差异、分析当前 Express 使用情况(如 23 个路由文件、8 个中间件、3 个插件、测试覆盖率 78%)、创建分阶段计划(设置与核心、按域迁移路由、中间件转换、清理)、实施并审查,最终完成迁移。
增量迁移与标志
对于大型代码库,可一次运行一个阶段:/migrate React 17 → 18 --phase 1,随后 --phase 2 会读取上一次的交接信息。
支持的标志:
--phase N:仅运行指定阶段。--dry-run:只做计划,不实施。--rollback:执行回滚计划。--parallel:新旧并行运行(绞杀者模式)。
限制
资料未提供该技能的安装方式、依赖要求、支持的平台或收费信息。