# Legacy Production Hotfix

> 历史遗留线上问题安全修复流程。用于前端项目出现生产环境、线上用户、历史旧逻辑、重复逻辑、接口兼容、环境配置、页面配置或多平台差异相关问题时，先做问题定界、旧业务基线、历史考古、同源逻辑扫描、影响面分析，再执行最小风险修复、验证和回滚规划。触发场景包括 hotfix、线上 bug、生产事故、用户反馈异常、只改一处导致其他入口漏改、修复旧项目但担心影响现有业务。

- Skill: `cyz7111/legacy-production-hotfix` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add cyz7111/legacy-production-hotfix`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cyz7111/legacy-production-hotfix/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cyz7111 (https://skillmd.com/u/cyz7111)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/cyz7111/legacy-production-hotfix

---


# 历史遗留线上问题修复

## Overview

使用这个 skill 修复历史遗留前端线上问题。目标是先还原线上事实、历史原因和影响范围，再做最小必要改动，避免因为只看到一个页面或一个接口就破坏其他旧业务路径。

## 修复原则

- 线上优先：先止血和控风险，不做顺手重构。
- 证据优先：关键结论尽量附文件路径、命令输出、git 线索或用户提供的线上现象。
- 旧业务基线优先：先明确哪些行为必须保持不变，再判断什么必须修。
- 同源扫描优先：没查重复逻辑、相同字段、相同配置和相似判断前，不要只改一个位置。
- 最小改动优先：优先修直接问题；需要改公共层时，先列出所有受影响调用方。
- 可回滚优先：修复方案必须说明回滚点和验证路径。
- 不确定性透明：区分已确认事实、代码推断和待确认风险。

## 工作流程

1. 问题定界：
   - 读取 `references/incident-intake.md`。
   - 明确线上现象、影响平台、页面、环境、用户路径、接口、期望行为和紧急程度。
2. 建立旧业务基线：
   - 明确“原来应该保持不变的行为”和“这次必须修复的异常行为”。
   - 如果没有线上证据或用户描述不足，先列待确认项。
3. 历史考古：
   - 读取 `references/legacy-archaeology.md`。
   - 查页面入口、接口调用、环境配置、业务配置、历史兼容逻辑和 git 线索。
4. 同源逻辑扫描：
   - 读取 `references/shared-logic-sweep.md`。
   - 搜索相同接口、字段、配置 key、枚举、状态码、文案、storage key、路由和相似判断。
5. 影响面分析：
   - 读取 `references/frontend-impact-analysis.md`。
   - 将潜在改动映射到页面、接口、配置、公共组件、store、路由、平台和旧业务路径。
6. 制定安全修复策略：
   - 读取 `references/safe-fix-strategy.md`。
   - 判断局部修复、公共层修复、兼容修复或配置开关修复。
7. 修改与验证：
   - 只在用户要求执行修复时改代码。
   - 改完读取 `references/hotfix-verification.md`，运行能覆盖修复的最小验证。
8. 交付结论：
   - 说明修了什么、为什么这样修、验证了什么、剩余风险和回滚方式。

## 高风险门禁

遇到以下情况，先输出风险和确认项，再进入代码修改：

- 改动请求封装、baseURL、鉴权、拦截器、全局错误处理。
- 改动环境配置、构建配置、发布配置、平台配置。
- 改动公共组件、公共 hooks、全局 store、路由守卫、权限判断。
- 涉及支付、登录、停车、充电、券、订单、追缴等关键业务链路。
- 同一业务规则在多个页面或平台重复实现。
- 只能从代码推断问题，缺少线上复现、日志、截图或用户路径。

## 输出格式

修复前优先输出：

```markdown
**线上问题判断**
现象：
影响范围：
期望行为：
优先级：

**证据链**
- 页面入口：
- 接口调用：
- 环境/业务配置：
- 历史线索：

**旧业务基线**
- 必须保持：
- 允许改变：

**同源逻辑扫描**
- 已搜索：
- 发现位置：
- 判断：

**影响面**
- 页面：
- 接口：
- 配置：
- 平台：
- 旧业务路径：

**修复策略**
建议改动：
原因：
回滚点：

**验证清单**
- 
```

修复后输出：

```markdown
**修复结果**
改动文件：
修复逻辑：

**验证结果**
已运行：
未验证：

**风险与回滚**
剩余风险：
回滚方式：
```

## 按需读取 references

- 问题信息不足或需要规范 intake 时，读取 `references/incident-intake.md`。
- 需要追溯历史逻辑、页面、接口、配置或 git 线索时，读取 `references/legacy-archaeology.md`。
- 修改前必须读取 `references/shared-logic-sweep.md`。
- 需要判断影响面时，读取 `references/frontend-impact-analysis.md`。
- 需要选择修复方式时，读取 `references/safe-fix-strategy.md`。
- 修改后必须读取 `references/hotfix-verification.md`。

