# Skill Contract Lock

> 只要选择或调用了一个或多个其他 Skill，就使用本技能；它让原始 SKILL.md 及其强制参考始终保持最高权威，并逐条核对当前证据，阻止未验证要求进入下一阶段或交付。

- Skill: `w5711112/skill-contract-lock` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds@latest add w5711112/skill-contract-lock`
- Raw SKILL.md: https://api.skillmd.com/api/skills/w5711112/skill-contract-lock/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: w5711112 (https://skillmd.com/u/w5711112)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/w5711112/skill-contract-lock

---


# 原始 Skill 权威锁

## 1. 何时使用

只要本轮选择或调用了其他 Skill，就同时使用本锁一次；不要递归调用本锁。

简单问答、单步解释和不生成文件的只读分析只在对话内核验。只有任务同时满足“多步骤”和“会创建、修改、导出或交付产物”时，才在当前任务根创建 `.skill-contract/contract.json`。

本锁不改变系统、开发者和用户指令的优先级，只约束 Skill 工作流内部如何保持原始要求的权威。

## 2. 唯一权威来源

在任务动作前，由主执行者完整读取每个已选 Skill 的 `SKILL.md`，并完整读取其中明确标为必读、强制或 required 的全部参考文件。读到文件结尾，记录绝对路径和 SHA-256；不要用代理总结、旧任务记忆、节选或测试代替本次读取。

原始 `SKILL.md` 与这些强制参考是 Skill 要求的唯一权威来源。下列材料一律是 `record_only`：

- 合同、计划、摘要、任务清单、检查表和 `artifact.md`；
- 索引、映射、阶段包、迁移记录和审查报告；
- 测试、夹具、错误码、测试名称和通过数量；
- 从模板、旧项目、旧对话或历史任务复制出的材料。

派生材料只能定位或记录原文已经存在的要求，不能新增、删除、合并、弱化、改写或替代要求。派生材料与原文冲突时，立即以原文为准，并使冲突材料及其下游证据失效。

`authority-index.json` 若被某个原始 Skill 引用，只能作为定位工具；没有索引也不能阻止正常工作或交付。无论有没有索引，每个阶段和最终审计都要回到原始来源。

## 3. 当前任务范围

输入、输出和工作路径只从本轮用户明确授权的当前任务根解析。不要沿用旧题目、旧合同、历史输出或其他工作区路径。

把用户明确排除的路径记入排除项；不要读取、递归枚举、全文搜索、预览、哈希扫描、缓存恢复或让代理转读这些路径。

合同记录实际观察的路径。任务根、授权根、排除项、输入清单或交付目标变化后，先重新核验范围，再继续工作。

## 4. 原文要求台账

对每条适用或可能适用的原始要求建立点对点记录：

- 唯一要求编号；
- 原始来源路径、来源哈希和精确原文锚点；
- 锚点原文与锚点哈希；
- 负责落实的阶段；
- `applicable`、`not_applicable` 或 `pending`；
- 直接依赖关系和当前证据编号。

解释可以放在 `non_authoritative_note`，但验证器不得从备注、计划、清单或测试中创造要求。

适用性必须依据原始条件和当前任务事实。事实不足时保持 `pending`，不得猜成适用或不适用。需要用户确认且会改变模型、写作或交付结果时，在专业表述之外增加一段通俗说明，再取得当前任务中的确认。

条件不适用不等于跳过。例如：只有在题目存在附件数据且原始 Skill 要求检查相应数据问题时，才进行数据检查或清洗；没有附件时，不要编造“数据清洗”章节、过程或数据血缘，并保留“无附件”和“正式产物未虚构清洗”的两类证据。

## 5. 证据回执

中央锁只登记四类通用回执：

1. `automated_check`：原始 Skill 规定或允许的专业命令、测试或审计；
2. `artifact_inspection`：对实际产物的结构、渲染、语义或内容检查；
3. `user_decision`：原始 Skill 或任务明确要求的用户裁决；
4. `negative_branch`：不适用事实与对应负面义务检查。

每份回执都必须绑定要求编号、当前来源哈希、实际目标路径、目标哈希、检查记录路径、记录哈希和结论。负分支还要分别绑定事实记录和产物检查记录。

原始 Skill 负责定义并执行专业判断。例如 DOCX 公式对象、图表血缘、渲染页面、数学结果或论文逻辑链怎样才算合格，必须按提出该要求的原始 Skill 及其强制参考验证。中央锁只核对这次验证是否真实发生、对应哪条原文、绑定哪个当前产物和哈希。

中央锁不得自行实现或扩大任何办公文件、图形、图片、程序语言或数学模型的专业语义解析规则；专业工具无法可靠判断时，把要求保持为 `pending`，使用原始 Skill 允许的真实渲染、人工复核或用户确认路线。

文件存在、说明非空、自报 `pass`、测试总数或清单全勾选都不能单独证明要求完成。

## 6. 阶段执行与门禁

多步骤产物任务按所选 Skill 规定的实际流程执行。每个阶段固定做六步：

1. 重新打开本阶段涉及的原始章节并核对来源哈希；
2. 从原文台账取得本阶段要求，发现遗漏时回原文补录；
3. 根据当前事实解析适用性，必要时附加通俗说明并取得裁决；
4. 按原始 Skill 的专业方法完成工作；
5. 将专业检查结果绑定为当前证据回执；
6. 所有到期要求通过门禁后再进入下一阶段。

阶段门禁只机械检查：来源已读且哈希当前、锚点仍匹配、适用性不为 `pending`、证据指向当前目标、上游依赖已验证、路径未越权。任何到期要求未验证时停止推进。

详细阶段映射与门禁见 [阶段门禁](references/stage-gates.md)。合同字段见 [合同结构](references/contract-schema.md)。冲突和失效规则见 [权威、冲突与失效](references/authority-and-conflicts.md)。这三份文件是本 Skill 的强制参考，必须完整读取。

## 7. 变化与失效

发生以下变化时，用直接依赖图使受影响要求及全部下游回到待验证状态，并删除旧回执引用：

- 原始 Skill、强制参考或原文锚点变化；
- 用户裁决改变语义、范围、适用性或目标；
- 输入、模型、代码、结果、图表或正文变化；
- 证据文件删除、替换、哈希变化或验证方法被证明不可靠；
- 任务根、授权路径、排除项或交付目标变化。

失效传播只清除旧状态和证据，不改写原文要求。不要保留旧的 `verified` 结论。

## 8. 预产物与交付

创建或实质修改产物前运行：

```text
python -X utf8 scripts/validate_contract.py CONTRACT_JSON --phase pre_artifact
```

交付前从每个原始 Skill 和强制参考开始做一次正向审计：

`原文要求 → 当前适用性 → 实际落实位置 → 当前证据 → 当前成果`

正向审计必须发现台账遗漏，绑定当前来源与成果哈希，且只能证明原文已落实，不能补造新要求。随后运行：

```text
python -X utf8 scripts/validate_contract.py CONTRACT_JSON --phase delivery
```

任一要求仍为 `pending`、失败、失效、越权、冲突或缺少当前证据时，停止产物创建或交付，并说明具体缺口。

## 9. 停止条件

出现以下任一情况立即停止当前阶段：

- 原始 Skill 或强制参考没有完整读取；
- 原始来源之间存在无法按指令优先级消解的冲突；
- 来源、锚点、证据或目标哈希发生未解释变化；
- 需要访问未授权或明确排除的路径；
- 适用性仍为 `pending`；
- 到期要求缺少真实、当前且可复核的证据。

不要为绕过停止条件修改清单、测试、合同或错误码。

