一键导入
openspec-contract-guard
创建、修改、同步或归档 OpenSpec change,且需要建立契约基线、检查 active change 冲突、陈旧 delta 或同步结果时使用。此 Skill 是 Buildr 的 OpenSpec sidebar,不修改外部 openspec-* Skills。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
创建、修改、同步或归档 OpenSpec change,且需要建立契约基线、检查 active change 冲突、陈旧 delta 或同步结果时使用。此 Skill 是 Buildr 的 OpenSpec sidebar,不修改外部 openspec-* Skills。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
在 Buildr workspace 中安装、更新或同步 Buildr、更新或同步 workspace、诊断和维护组织工作资产,用户要求采用内部流程、调整工作方式、修改或替换 Skill 行为,或要求复盘任务、总结可沉淀的 Skill/Rule 时使用;覆盖 Buildr CLI 与产品入口 Skill、组织(Organization/Root)、项目(Project)、服务(Service)、组件(Components)、规则(Rules)、技能(Skills)、命令(Commands)、内置能力(Builtins)、工作能力适配和 Agent runtime 渲染。
用户要求采用内部流程、调整工作方式、修改默认 Skill 行为、创建或替换专业 Skill、卸载可能被编排的 Skill,或 Agent 准备改变 provides、requires、capability contract、binding 及跨 Skill 协作边界时使用;负责从自然语言意图完成影响分析、候选开发、组合验证、安全激活和 runtime 同步,不要求用户理解 capability 术语。
用户表达提交、推送、拉取、pull、合并、merge、rebase、checkout、switch、reset、cherry-pick、revert、stash、发布、删除分支等单项 Git 意图,或 Git 操作存在授权、提交范围、amend、远端改写、工作区转换、分支删除等歧义时使用。用于统一 Git 协作约定和安全默认行为,而不是完整任务结束编排。
非简单 Workspace 任务开始探索、设计、诊断、实现或验证时,持续收集可能影响长期 Rule、Skill、capability Contract 或产品能力的轻量信号;用户要求复盘或沉淀,或 Task Finish 触发 finalize 时也使用。负责 observation、资格审查、人工决定和新任务交接,不保存完整轨迹。
为复杂、长期、跨批次、跨 change、跨服务或团队,或存在交叉依赖和多次用户判断的任务创建、更新和检查只读 HTML 任务看板;管理完整任务、change 关联、交付批次和依赖任务池。用户明确要求任务可视化、任务看板、整体进度、任务全景、长期跟踪,或沿用旧称“任务驾驶舱”时也使用。简单短时任务不机械创建。
用户在 task worktree 中要求“收尾”、完成任务、自动收尾,或要求自动完成已验证 change 的归档、提交、集成、推送和本地清理时使用。
| name | openspec-contract-guard |
| description | 创建、修改、同步或归档 OpenSpec change,且需要建立契约基线、检查 active change 冲突、陈旧 delta 或同步结果时使用。此 Skill 是 Buildr 的 OpenSpec sidebar,不修改外部 openspec-* Skills。 |
| metadata | {"author":"buildr","version":"1.0","supportedOpenSpec":"1.4.1"} |
本 Skill 是 Buildr 自有的 OpenSpec 契约门禁。它通过 buildr openspec 检查 change 与 canonical specs 的关系,不修改外部 openspec-* Skills,也不修改或替换外部 OpenSpec CLI,更不安装外部 CLI。
task-finish 时,执行 pre-sync 和 post-sync 门禁。先从 workspace root、Project registry 和 OpenSpec status 确认 <workspace>、<project> 与 <change>;不得根据当前目录猜测 Project。
在 change artifacts 达到 apply-ready、且 delta specs 已完成后运行:
buildr openspec baseline create <change> --project <project> --target <workspace> --json
buildr openspec check <change> --stage proposal --project <project> --target <workspace> --json
基线位于 change 的 .buildr/contract-baseline.json,记录 touched Requirement 的 canonical facts。普通 check 不会自动创建或刷新基线。
历史 active change 缺少基线时,先向用户报告无法证明原始事实;只有用户确认“以当前 canonical specs 作为采用基线”后,才能运行:
buildr openspec baseline create <change> --project <project> --target <workspace> --adopt-current --json
delta 在基线后新增或改变 touched Requirement 时,先审阅新范围,再显式运行 --update。不得把 stale、incomplete 或 adopted warning 描述为已通过门禁。
在任何 canonical spec sync 前:
buildr openspec check <change> --stage pre-sync --project <project> --target <workspace> --json
只有 ok: true 才能调用外部 OpenSpec sync。pre-sync 会检查 proposal/delta 对齐、baseline 完整性、active change 同 Requirement 冲突、当前 canonical Requirement 是否仍匹配基线,并写入本次同步 receipt。
完成外部 sync 后、archive 前:
buildr openspec check <change> --stage post-sync --project <project> --target <workspace> --json
post-sync 会验证 ADDED、MODIFIED、REMOVED、RENAMED 的结果,并确认 receipt 中未触达的 Requirement 没有被删改。失败时停止 archive、commit、push 和 cleanup;不要手工删除 sidecar 或重新运行 pre-sync 来掩盖已经发生的同步结果。
active_conflict:列出冲突 change 和 Requirement;合并语义、先完成其中一个 change,或重新建立后续 change 基线。baseline_stale:当前 canonical facts 已变化;不要继续 sync,先审阅前序 change 并更新/重建当前 change。baseline_missing 或 baseline_incomplete:补齐显式基线;历史 change 必须得到采用确认。post_sync_*:停止归档与 Git 动作,保留 worktree,报告实际/预期摘要;需要语义选择时请用户决定。用户可见状态必须包含 change、stage、baselineState、conflicts/findings 和 nextActions。外部 openspec-* Skills 继续承担 explore、propose、apply、sync 与 archive 的原有职责。