迁移工作流Skill migrate

这个技能提供了一个结构化的迁移工作流,用于安全地将软件系统从旧版本或平台迁移到新版本或平台。它包括研究目标、分析当前状态、制定计划、实施更改和审查结果的五个阶段,确保迁移过程可控且风险最小化。关键词:迁移、工作流、框架升级、语言迁移、基础设施变更、DevOps、安全迁移、分阶段计划。

DevOps 0 次安装 0 次浏览 更新于 3/14/2026

name: 迁移 description: 迁移工作流 - 研究 → 分析 → 计划 → 实施 → 审查

/migrate - 迁移工作流

安全地进行框架、语言和基础设施的迁移。

何时使用

  • “迁移到 X”
  • “升级框架”
  • “从 X 移动到 Y”
  • “升级 Python/Node/等”
  • “迁移数据库”
  • 框架版本升级
  • 语言迁移
  • 基础设施变更

工作流概述

┌──────────┐    ┌──────────┐    ┌────────────┐    ┌──────────┐    ┌───────────┐
│  研究    │───▶│  分析    │───▶│   计划     │───▶│  实施    │───▶│   审查    │
│  oracle  │    │ phoenix  │    │ plan-agent │    │  kraken  │    │ surveyor  │
└──────────┘    └──────────┘    └────────────┘    └──────────┘    └───────────┘
  Research       Analyze          Plan             Implement       Review
  研究目标       分析当前状态     制定迁移计划     实施更改        审查迁移结果

代理序列

# 代理 角色 输出
1 oracle 研究目标框架/版本 研究报告
2 phoenix 分析当前代码库以评估迁移影响 影响分析
3 plan-agent 创建分阶段迁移计划 迁移计划
4 kraken 实施迁移更改 代码更改
5 surveyor 审查迁移的完整性 迁移审查报告

为什么需要额外阶段?

迁移是高风险操作:

  • 版本间的破坏性变更
  • 依赖冲突
  • 数据格式变化
  • API 弃用

额外的研究和审查阶段可以及早发现问题。

执行步骤

阶段 1: 研究目标

Task(
  subagent_type="oracle",
  prompt="""
  研究迁移目标: [TARGET]

  调查内容:
  - 从当前版本的破坏性变更
  - 新 API 和模式
  - 我们使用的已弃用功能
  - 官方文档中的迁移指南
  - 常见陷阱和解决方案

  输出: 迁移研究报告
  """
)

阶段 2: 分析当前状态

Task(
  subagent_type="phoenix",
  prompt="""
  分析代码库以进行迁移: [FROM] → [TO]

  识别:
  - 使用已弃用 API 的文件
  - 依赖冲突
  - 需要更新的模式
  - 受影响区域的测试覆盖率
  - 风险区域(关键路径)

  输出: 带受影响文件的影响分析
  """
)

阶段 3: 计划迁移

Task(
  subagent_type="plan-agent",
  prompt="""
  创建迁移计划: [FROM] → [TO]

  研究: [来自 oracle]
  影响: [来自 phoenix]

  计划应:
  - 分阶段(如果可能)
  - 每个阶段独立可测试
  - 包括回滚策略
  - 优先确保关键路径的稳定性

  输出: 分阶段迁移计划
  """
)

阶段 4: 实施

Task(
  subagent_type="kraken",
  prompt="""
  实施迁移阶段: [PHASE_N]

  计划: [来自 plan-agent]

  要求:
  - 严格按照计划执行
  - 每次更改后运行测试
  - 记录任何偏差
  - 如果测试失败则停止

  输出: 完成的阶段及测试结果
  """
)

阶段 5: 审查迁移

Task(
  subagent_type="surveyor",
  prompt="""
  审查迁移: [FROM] → [TO]

  检查:
  - 所有已弃用 API 是否已替换
  - 无剩余的兼容性垫片
  - 测试通过
  - 性能可接受
  - 无安全回归

  输出: 迁移审查报告
  """
)

迁移类型

框架升级

用户: /migrate React 17 → 18
→ 完整工作流,处理钩子和并发模式变更

语言版本

用户: /migrate Python 3.9 → 3.12
→ 关注新语法和移除的功能

数据库迁移

用户: /migrate MongoDB → PostgreSQL
→ 模式设计、数据转换、查询重写

基础设施

用户: /migrate AWS → GCP
→ 服务映射、配置翻译

示例

用户: /migrate 从 Express 迁移到 Fastify

Claude: 开始 /migrate 工作流: Express → Fastify

阶段 1: 研究 Fastify...
[启动 oracle]
关键差异:
- 基于模式的验证(相对于中间件)
- 插件架构
- 原生异步/等待
- 不同的中间件模式

阶段 2: 分析当前 Express 使用情况...
[启动 phoenix]
影响分析:
- 23 个路由文件需要更新
- 8 个中间件需要转换
- 3 个插件需要 Fastify 等效物
- 测试覆盖率: 78%

阶段 3: 创建迁移计划...
[启动 plan-agent]

迁移计划: Express → Fastify
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

阶段 1: 设置与核心
- 在 Express 旁边添加 Fastify
- 迁移核心服务器设置
- 并行运行两者

阶段 2: 路由(按领域)
- 迁移认证路由
- 迁移用户路由
- 迁移产品路由
- ...

阶段 3: 中间件
- 转换错误处理程序
- 转换认证中间件
- 转换日志记录

阶段 4: 清理
- 移除 Express
- 移除兼容层
- 最终测试

回滚: 在阶段 4 完成前保留 Express

阶段 4: 实施阶段 1...
[启动 kraken]
✅ Fastify 服务器与 Express 并行运行
✅ 核心路由已迁移
✅ 测试通过

[继续其他阶段...]

阶段 5: 审查迁移...
[启动 surveyor]
✅ 所有 Express 代码已移除
✅ 23/23 路由已迁移
✅ 性能提升(快 2.1 倍)
✅ 无安全回归

迁移完成! Express → Fastify

增量迁移

对于大型代码库,一次运行一个阶段:

用户: /migrate React 17 → 18 --phase 1
[仅运行阶段 1]

用户: /migrate React 17 → 18 --phase 2
[运行阶段 2,读取先前交接]

标志

  • --phase N: 仅运行特定阶段
  • --dry-run: 计划而不实施
  • --rollback: 执行回滚计划
  • --parallel: 新旧并行运行(绞杀者模式)