关于 changeset
changeset 是用于规划已确定软件方案所影响文件的技能。它检查相关代码和约定,梳理必要修改及连带影响,并输出待执行的变更集,不会修改文件。
主要功能
- 01追踪调用方与依赖
- 02识别直接和间接连带影响
- 03规划创建、移动、更新和删除
- 04标记过时或冲突的方案
- 05生成待执行的文件树
适用场景
- 01实现前梳理代码变更
- 02查找受方案影响的测试
- 03检查实施计划是否过时
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ venhdev/ zenforge --skill changeset安装后在 Claude Code 中输入/changeset确认已加载。
详细介绍
changeset — 文件影响与级联规划
领域准则
输入与边界
接收已确定的方向或方案,包括结果、约束和可用证据。结合当前检出内容和约束性契约进行核实;规划过程保持只读,并保留提供的方向。
追踪直接和间接调用方、实现、导入、架构及测试。仅检查目标和关键级联项;排除外观性改动、推测性文件,以及不受影响且向后兼容的调用方。清理已被取代的逻辑:明确安排移除无用辅助函数、过时分支,以及因方案而失效的测试。如果输入计划已过时或自相矛盾,应停止,而不是悄然重新设计。
文件操作
[CREATE]:方案要求的新文件。[MOVE]:迁移或重命名,包括受影响的引用。[UPDATE]:现有逻辑、契约、测试或必要的级联项。[DELETE]:方案要求移除的过时文件。
状态
STAGED:变更集树列明了已确定方向所需的具体操作和必要级联项。UNRESOLVED:方向缺失、过时或存在冲突,无法可靠制定变更集;说明阻碍因素和所需决策。
规范输出契约
# Changeset: <Scope> · STAGED
Basis: <Settled solution and supporting proof/reference.>
Acceptance: <Observable criteria and constraints to carry downstream.>
```text
|-- <subsystem>/
| |-- <file>
| | `-- [UPDATE] <Load-bearing change and invariant>.
| `-- <new-file>
| `-- [CREATE] <Required component or regression check>.
`-- <deep/path/to/caller>
`-- [UPDATE] <Necessary cascade>.
Summary: <N> files affected (<C> created, <U> updated, <M> moved, <D> deleted).
```
对于 UNRESOLVED,将树替换为简洁的阻碍因素、证据和所需的重新设计决策;不要编造文件操作。
路由
- 过时的计划暴露出尚未解决的需求 →(通过 /clarify)。
- 过时的计划需要新的设计方向 →(通过 /architect-decision)。
- 已授权实施受支持的变更集 →(通过 /forge)。
- 调用方希望将任务拆解为可验证的分段 →(通过 /split-tasks)。
- 调用方希望将待办事项持久化或进行问题追踪 →(通过 /track-tasks)。
执行协议
- 检查提供的方向以及当前代码/契约。如果计划已过时或存在根本性矛盾,则停止并报告
UNRESOLVED,并说明所需的重新设计决策。 - 构建包含文件操作、直接级联项、验收标准和证据来源的树。合并冗余目录,同时保留文件层级。
- 提交
STAGED并停止,不进行文件系统更改。其他地方生成的内嵌变更集也遵循相同的交接要求,无需调用此技能。
评论
支持 Markdown