关于 grace-plan
grace-plan 是 GRACE 工作流技能,可将一个已批准的活动 GraceChangeSpec 转为草稿或经明确批准的可执行 GraceChangePlan。它指导规划,不实现源代码,也不修改已批准计划或项目状态。
主要功能
- 01验证已批准的变更规格
- 02运行活动基线 lint 预检
- 03依据 XML 模板创建计划
- 04定义范围、断言与任务
- 05检查任务依赖是否成环
- 06保护已批准计划与项目状态
适用场景
- 01规划已批准的 GRACE 变更
- 02指定可检查的基线与目标条件
- 03在实现前定义任务依赖
- 04检查过期状态与并行安全警告
MCP 相关
此技能为 GRACE 工作流生成 GraceChangePlan 文件。它会运行 GRACE lint,并可建议在批准后检查状态。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ osovv/ grace-marketplace --skill grace-plan安装后在 Claude Code 中输入/grace-plan确认已加载。
附带文件agents/openai.yamlreferences/change-plan-template.xml
详细介绍
<approved_plan_immutability>
- 如果
plan.xml已存在且状态为approved,则在写入前停止。 - 不得就地刷新
BaselineAssertions、TargetAssertions、DurableScope、ObservedWriteScope或任务。 - 创建新的
C-*包,并通过明确的替代引用将旧包标记为已取代。 </approved_plan_immutability>
<must_do>
根据 references/change-plan-template.xml 生成 plan.xml,默认状态为草稿,除非用户明确批准已完成的计划。必须包含匹配的 C-* 包装元素、有意义的意图、非空且可机器检查的基线与目标断言、明确的持久范围和观测写入范围,以及唯一且无环的 T-NNN 任务。没有写入的范围必须使用明确的 <None /> 标记;“none”之类的文字无效。每个任务都必须包含一个 Title、一个列出零个或多个前置任务的 DependsOn 元素(值须为规范的逗号分隔 T-NNN 格式,例如 <DependsOn>T-001, T-002</DependsOn>)、非空的验收标准,以及非空的验证命令。依赖关系必须构成有向无环图:只列出真正的前置任务,绝不可为了表达顺序而将相互独立的任务串成链。指出状态过期和共存警告;遇到不支持的范围 glob 语法时应拒绝,不得自行猜测。
</must_do>
<command_phase_rules>
current是活动基线预检,仅在尚未开始观测写入前有效。baseline是选定的编辑前门禁,target是选定的编辑后证据,final是由grace-execute负责的外层应用/归档门禁。MustPassCommand包含项目级的叶节点证据,例如测试、类型检查、构建、格式检查或包检查。绝不可在其中放入grace lint、grace status或其他 GRACE 生命周期命令。- 绝不可在
TargetAssertions或写入后运行的任务验证中使用--assertions current。应在外部使用选定的目标/最终 lint。 MustPassCommand必须能在参考主机上于其声明的budgetSeconds内完成(未指定时使用全局--command-timeout);应声明实测预算,而不是沿用可能导致命令在门禁中途被终止的默认值。- 如果整个测试套件的运行时间主要耗费在基底设施启动(容器、数据库、浏览器、模拟器)上,应将其放入验收层级,而不是门禁;绝不可同时声明整个测试套件命令及其已重新运行的文件级命令。 </command_phase_rules>
<hard_rules> 不得实现代码、默默批准计划、覆盖已批准的计划,或在规划期间修改当前图/验证产物。语义锚点必须是规范的 XML 标签,绝不可使用属性。 </hard_rules>