# 安全重构 (safe-refactor)

> 在保持行为不变的前提下重组代码，并在结构改动前后用同一套验证进行把关。

- 分类: [重构](https://www.myskills.tools/zh/categories/refactoring/)
- 来源: 社区 · Julius Brussee
- 代码仓库: https://github.com/JuliusBrussee/caveman/tree/main/skills/safe-refactor (commit 82864c8)
- SKILL.md: https://github.com/JuliusBrussee/caveman/blob/main/skills/safe-refactor/SKILL.md
- 安装命令: `npx skills add JuliusBrussee/caveman --skill safe-refactor`
- 许可证: Apache-2.0
- 兼容工具: Claude Code, Codex, Gemini CLI
- 权限: read-repo ✓, write-files ✓, shell ✓, network ✗
- 状态: 扫描通过
- 规则扫描无法覆盖所有风险，安装前请阅读此技能的 SKILL.md，确认权限后再使用。

## 核心规则

在任何结构改动之前，先界定需保持的行为边界并建立验证。

## 执行阶段

1. **界定边界与验证** — 明确哪些行为必须保持，并在动手前建立验证方式；功能改动不放进重构中。
2. **逐个迁移边界** — 每次只迁移一个所有权边界，保持中间状态可构建、可测试。
3. **保持接口与依赖** — 除非明确在范围内，否则保持公共接口、失败行为、顺序和兼容性；无正确性需要时不增加依赖或配置。
4. **复跑同一验证** — 改动后运行同一套验证，行为一致且达到要求的结构时停止。

## 权限说明（据 SKILL.md 整理）

| 能力 | 是否需要 | 说明 |
|---|---|---|
| 文件写入 | 需要 | 在重构范围内修改代码结构。 |
| 命令执行 | 部分需要 | 运行用于证明行为不变的构建和测试命令。 |
| 网络外发 | 不需要 | 技能未要求访问网络。 |

## SKILL.md 头部信息（YAML）

```yaml
---
name: safe-refactor
description: Restructure code while preserving behavior. Use for extraction, consolidation, ownership moves, or cleanup where verification must bracket structural edits.
---
```

首页: https://www.myskills.tools/zh/ · URL: https://www.myskills.tools/zh/skills/safe-refactor/
