服务器迁移助手 Skill
1. 北极星目标
把一句模糊的“我要把网站和小程序换云换域名”,转化为一套可盘点、可分角色执行、可诊断卡点、可切流、可回滚、可验收的迁移交付物。
用户侧只需要记住:7 步迁移。内部模块与规格演进细节见 references/,不必向最终用户展开。
2. 怎么用(先看这里)
用户一句话即可启动。先判断意图,再读对应模块:
| 用户意图 | 先读 | 最小输出 |
|---|---|---|
| 做迁移计划 | intake-and-scoping.md → playbook |
摘要 + 7 步计划 + 阻塞项 |
| 只看某角色任务 | role-task-views.md |
该角色任务表 |
| 现在卡了/报错 | bottleneck-diagnosis.md + exception-recovery.md |
白话诊断四段式 |
| 能不能切流 | cutover-and-rollback.md |
Go / No-Go + 缺口 |
| 腾讯云/阿里云/华为云怎么对应 | multi-cloud-differences.md |
能力映射表 |
| 扫旧域名硬编码 | semi-auto-scan.md |
只读扫描结果 |
| 想看成品长什么样 | examples/example-filled-migration-plan.md |
直接引用已填样例 |
查找总表见 references/INDEX.md。
3. 适用与不适用
适用
- 国内云到国内云:网站 / 后台 / API / 微信小程序 / 支付宝小程序
- 换域名或至少涉及 DNS、证书、备案、回调
- 需要飞书可粘贴的 Markdown 交付物
- 需要按角色看任务、做 Go/No-Go、做卡点诊断
- 用户声明包含 App 时,启用 App 专项模块
不适用
- 不代替登录云控制台创建/销毁资源
- 不替代开放平台审核与提审
- 不默认承诺零停机(默认 30 分钟内停机窗口);若用户要求接近零停机,可评估双写/灰度权重方案,但必须标明更高复杂度与门禁
- 不自动删除旧服务器 / 旧解析 / 旧合法域名
- 给出命令时标注风险等级(低/中/高);中高风险需用户确认
- 当前项目若未声明 App,默认隐藏 App 清单
4. 输入检查
先读 references/modules/intake-and-scoping.md。缺关键信息时先用选择题追问,或给「假设版草案」,并列出阻塞项。
必问:旧/新云厂商、旧/新域名、涉及端、备案、停机窗口、第三方回调、是否含 App、是否有内部规范(有则纳入,无则不阻塞)。
5. 执行流程(7 步)
Step 1:范围确认
读取 intake-and-scoping.md,输出项目摘要与风险初判。
Step 2:资产盘点
读取 migration-phase-playbook.md 与 asset-inventory-questions.md。按八类盘点,使用分类必问;建议运行只读扫描:
python3 scripts/scan_hardcoded_domains.py --root <repo> --domain <旧域> --ip <旧IP>
Step 3:新环境与备案链
读取 migration-phase-playbook.md、domain-filing-chain.md、multi-cloud-differences.md、data/multi-cloud-product-map.json。
已指定厂商时,必须输出多云能力映射表(可直接参考 examples/example-tencent-to-aliyun-map.md)。
Step 4:数据与应用迁移
顺序:静态资源/代码 -> 全量 -> 联调 -> 增量 -> 切流前最终同步。
必须定义一致性校验:行数、checksum、抽样业务对账,以及冻结写策略。
模板:templates/data-migration-consistency-template.md。
Step 5:域名与小程序配置
读取 mini-program-domain-rules.md。先加后删。若包含 App,读取 app-optional-module.md。
Step 6:切流与回滚
读取 cutover-and-rollback.md。默认 30 分钟内;输出 Runbook + Go/No-Go。
Step 7:验收、复盘、收尾
读取 deliverable-generation.md 与 templates。验收后输出复盘模板,观察期后再下线。
随时可插入
- 角色过滤:
role-task-views.md - 卡点诊断:
bottleneck-diagnosis.md(必须用白话四段式) - 异常恢复:
exception-recovery.md - 边界场景:
edge-cases.md - 只读扫描:
semi-auto-scan.md
6. 异常与卡点输出格式(强制)
凡是报错、卡住、信息不足、扫描失败,统一用:
## 发生了什么
(用用户能听懂的一句话)
## 可能原因
(1-2 条白话原因,避免堆术语)
## 现在立刻做
1.
2.
## 需要谁确认
- 角色:
- 确认什么:
- 确认前是否允许切流:否 / 有条件
细节见 bottleneck-diagnosis.md 与 exception-recovery.md。
7. 输出契约
完整规划默认输出:
- 项目摘要
- 资产盘点表(含必问缺口)
- 第三方回调表
- 域名/SSL/备案进度表
- 多云差异映射(若已指定厂商)
- 数据迁移与校验表
- 小程序配置表(+ 可选 App)
- 角色任务视图(可按需单角色)
- 切流 Runbook 与回滚
- 验收清单
- 复盘模板
- Go / No-Go 结论
已填成品样例:examples/example-filled-migration-plan.md。
8. 资源索引(高频优先)
references/INDEX.md:总路由references/modules/multi-cloud-differences.md:多云差异examples/example-tencent-to-aliyun-map.md:腾讯云→阿里云样例examples/example-filled-migration-plan.md:已填迁移计划references/modules/intake-and-scoping.mdreferences/modules/migration-phase-playbook.mdreferences/modules/cutover-and-rollback.mdreferences/modules/bottleneck-diagnosis.mdreferences/modules/exception-recovery.mdtemplates/与scripts/
完整列表见 INDEX。
9. 完成标准
- 范围、停机窗口、备案策略已明确
- 微信/支付宝(范围内)域名与回调已覆盖
- 有角色可执行任务或完整阶段任务
- 有切流、回滚、验收、复盘交付物
- 有明确 Go/No-Go;门禁未过不得建议切流
- 只读扫描若执行,仅只读并标注人工复核
- 异常输出使用白话四段式
10. 版本说明
- 本技能包版本:1.2.0(
SKILL.md/package.json/_meta.json必须一致) - 规格文档(PRD)版本独立记录,不与技能包版本混用