Communitygithub.com

ritamgh/claude-skills

在创建、审查或修订重要的实施方案之前,自动应用证据合约。将计划主张与仓库证据绑定,标记假设为已观察/推断/未知,识别受影响的文件和依赖关系,并为每个计划项提供可执行的成功检查。

claude-skills 是什么?

该技能用于确保AI生成的实施方案基于仓库中的实际证据,而非凭空猜测。它适用于架构计划、功能计划、缺陷修复、重构、迁移等非平凡的实施方案任务。技能会强制AI执行一个包含六个步骤的系统化工作流程:明确意图、收集最小证据、分类主张、解决未知因素、生成受证据约束的计划、以及运行计划检查门。支持Claude Code等AI编码代理,并可通过`/evidence-contract`命令手动调用。输出格式包括证据合约摘要、结构化计划项以及完成门检查清单,帮助开发者和AI用户避免生成不可验证的计划,确保每一步都有可执行的成功检查。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ritamgh/claude-skills/tree/HEAD/skills/evidence-contract

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

证据合约

创建可测试且基于实际仓库(而非合理猜测)的计划。

激活

当任务需要非平凡的实施方案或方案审查时,自动应用此技能。不要等待用户显式调用。

对于目标、行为和验证已经显而易见的琐碎更改,跳过完整合约。改为陈述简单的检查。

此技能仅用于规划。除非用户还要求您执行该计划,否则不要编辑实现文件。

工作流程

1. 确定意图和成功标准

用一句话重述期望结果。从请求中提取具体的验收行为。如果措辞模糊,先调查仓库再询问用户。仅在调查后仍存在重大不同结果时才询问用户。

2. 收集最低限度的充分证据

在提出架构或命名受影响的文件之前:

  1. 当存在时,读取 PROJECT_CONTEXT.md。
  2. 通过定向搜索定位功能入口点。
  3. 读取最小的相关实现、配置和测试文件集。
  4. 追溯重要的调用者、依赖关系、持久化边界和公共接口。
  5. 记录文档与代码之间的矛盾。将代码和可执行行为视为更强证据。

当定向证据足够时,避免广泛的仓库扫描。

3. 分类每一个实质性主张

在内部使用这些标签,并在有用时暴露它们:

  • 已观察:直接由文件、符号、命令结果、测试或运行时观察支持。
  • 推断:由已观察证据强烈暗示但未直接证明。
  • 未知:尚未确定的关键信息。

绝不要将推断或未知的主张当作事实呈现。对于重要的已观察主张,包括代码位置或工具观察。不要编造文件路径、API、依赖关系或现有行为。

4. 解决阻塞性未知因素

调查可能改变架构、范围、数据流、兼容性或验收行为的未知因素。如果未知因素无法在本地解决:

  • 明确陈述它,
  • 解释为什么重要,
  • 提出最安全的有限假设,以及
  • 仅当继续可能导致错误结果时才询问用户。

5. 生成受证据约束的计划

每个非平凡计划项必须包括:

  1. 变更:最小的连贯实现步骤。
  2. 证据:证明该步骤合理的已观察仓库事实,附上相关路径或符号。
  3. 影响范围:可能变更的文件、接口、数据、调用者、依赖关系或工作流。
  4. 成功检查:可执行的测试、构建、lint、运行时或验收观察。
  5. 风险或假设:仅当重要时,标记为推断或未知。

优先选择将一个需求映射到一个可观察检查的计划。对于缺陷修复和兼容性敏感变更,包含回归覆盖。

6. 运行计划门

在呈现计划之前,验证:

  • 每个请求的结果至少映射到一个计划项。
  • 每个计划项都有证据和具体的成功检查。
  • 命名的文件和符号是观察到的,而非猜测的。
  • 重要假设是可见且分类的。
  • 依赖关系和集成边界已覆盖。
  • 计划使用满足请求的最小变更。
  • 没有添加推测性功能或无关的重构。

如果门检查失败,在返回计划之前进行调查或修改。

输出格式

除非任务复杂,否则保持结果简洁。

## 证据合约
- 已观察:`path/to/file` 确立 ...
- 推断:... 因为 ...
- 未知:...;有限假设或所需决策 ...

## 计划
1. **变更** ...
   - 证据:...
   - 影响范围:...
   - 验证:...
   - 风险/假设:...

## 完成门
- [ ] 需求到检查的映射完整
- [ ] 没有未标记的假设
- [ ] 验收检查可执行

省略空的推断或未知部分。对于小型计划,将每个项压缩为单行,同时保留证据和验证。

反模式

不要:

  • 仅根据文件名生成计划,
  • 使用“可能”、“大概”或“应该”而不标记推断,
  • 声称测试通过而不运行它们,
  • 用模拟检查替代可用的真实验收路径,
  • 用可从仓库回答的问题困扰用户,
  • 将合约变成琐碎更改的文书工作,
  • 仅仅因为计划完成就开始实现。

相关技能