关于 forge
forge 是用于实施已授权变更集并验证验收标准的开发技能。它严格控制范围、保留失败证据,并以实施报告结束,不负责提交或发布。
主要功能
- 01实施已授权的变更集
- 02移除直接替代的旧逻辑
- 03运行必需检查与测试
- 04保留失败证据
- 05报告状态与提交信息
适用场景
- 01实施已批准的缺陷修复或功能
- 02在标记完成前验证验收标准
- 03报告需要重新设计的阻碍
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ venhdev/ skills --skill forge安装后在 Claude Code 中输入/forge确认已加载。
详细介绍
forge — 变更集实施与验证
操作不变量
- 授权范围与干净替换:实施获授权的变更集及必要的级联更改,同时主动移除已被取代的逻辑、无用辅助函数,以及已被解决方案直接取代的过时测试;保留无关的工作,并避免借机重构。
- 忠实遵循既定方向:修正实现中与既定方向不符的错误。如果成功需要大幅改变方向、契约、风险或影响范围,则停止修改,并报告设计需要重新制定,而不是自行选择替代设计。
- 验证完整性:在所有验收标准和必需检查通过前,不得标记为
DONE;保留失败证据和现有改动,不得悄悄回退或弱化断言。 - 环境与机密隔离:绝不检查或修改机密文件(
.env*、*.key、*.pem);运行测试和调用 linter 时,以.agents/dev-environment.md为依据。 - 交付边界:报告实施与验证情况,并提供建议的提交消息;提交、合并和发布不属于此技能的完成范围。
领域准则
输入与准备就绪
接收经过授权的变更集树、验收标准、约束条件,以及支持性解决方案证明或适用的官方参考资料。任务或审计中嵌入的变更集是有效输入;不要求先调用 /changeset。
检查当前检出内容、调用方、契约、基线检查和支持性证据。官方参考资料必须能证明这些机制在当前环境中适用;泛泛的文档链接不能证明集成可行。协调计划涉及的文件,但不要扩大已接受的方向。
编辑前,根据项目规则和验收标准确定必需的验证项。披露无关的基线失败;如果必需检查无法在不修复范围外问题的情况下通过,则报告 UNRESOLVED。保留完整的必需检查集,不得为了达到 DONE 而移除失败的检查。
构建与验证
- 按依赖关系排列
[CREATE]、[MOVE]、[UPDATE]和[DELETE],确保调用方与接口保持一致。 - 修复 bug 时,确定精确的失败基线;开发功能时,在实施前覆盖已约定的验收标准。对于保持行为不变的更改,应使用有意义的现有检查,而不是编造肤浅的测试。
- 实施最小改动,然后运行适用的类型检查、lint、针对性测试和受影响子系统的检查。
- 在范围内持续修复常见的编译器、linter 和测试失败。区分实现错误、无效的设计假设和无关的基线失败。
- 只有在不改变目标之外已约定行为的前提下,才将导入、签名和调用方更新视为小规模级联更改。新增所有权、模式语义或大幅扩大范围都需要重新设计。
- 对于有跟踪的工作,遵循已配置的任务生命周期:编辑前认领符合条件的工作,只有在必需验证完成后才标记为完成。保留依赖门槛;任务跟踪不能替代执行授权。
状态
STAGED:现有变更集已准备就绪,但仍缺少执行授权。IN_PROGRESS:实施正在进行,且没有需要重新设计的阻碍;这是进度状态,不是停止常规修正的理由。DONE:授权范围内的实施、验收标准和所有必需验证均已通过。UNRESOLVED:存在阻止预期结果的障碍,包括设计或证据过时、无法进行必需验证,或更改将超出已约定的方向。
规范输出契约
# Implementation Report: <Scope> · <STAGED | IN_PROGRESS | DONE | UNRESOLVED>
<Short-to-medium conclusion and material delta; repo-relative file pointers.>
Verification: <Executed checks and results; identify blocked or baseline failures.>
Remaining: <Blocker, redesign decision, or unfinished work; omit if none.>
Checkout: <Partial edits retained when unresolved; omit if no partial edits.>
Commit message: <Include only when DONE.>
<type>(<scope>): <observable change>
<Brief implementation detail and why it matters.>
路由
- 未解决的需求阻止实现已约定的结果 →(通过 /clarify)。
- 为实现目标必须改变方向 →(通过 /architect-decision)。
- 方向仍已确定,但文件影响需要重新分阶段 →(通过 /changeset)。
执行协议
- 检查准备情况。如果缺少方向或必需的变更集,则报告
UNRESOLVED,并移交给设计或暂存环节。如果仅缺少授权,则报告STAGED,并停止操作,不做任何编辑。遵守已针对具体范围授予的授权。 - 根据评审标准实施并验证。如果出现重大阻碍,则停止修改,保留证据和部分编辑,并报告
UNRESOLVED;否则继续,直至DONE。 - 提交报告和提交消息。将重新设计排除在原始实施范围之外。
评论
支持 Markdown