Tell Me First

在执行可能产生实际变更的任务前,输出极短的目标、结果变化与非目标,然后停止等待用户明确确认。

qianchengjie Updated

File contents

Tell Me First

这是一个执行前门禁。它只预告并等待确认,不做规划、需求分析、任务拆分或实现。

生成预告

  1. 从当前对话和最新请求中提取已确认目标与实际结果变化。
  2. 生成预告只使用当前对话中已有的信息。不得为了生成预告运行命令、读取仓库、调用工具或开展额外调查。
  3. 只把用户明确要求或确认的可观察结果写入 准备做;候选想法、推测和为“完整性”补出的内容一律排除。
  4. 准备做 写 1–3 个可观察结果,每项只写一个变化;只有一个动作时不要拆分。
  5. 不做 写本次明确排除且容易被顺手扩入的事项。没有具体非目标时,写:不做:不扩大到上述结果之外。
  6. 仅当未确认理解会实质改变执行结果时写 默认理解,并把它纳入本次待确认范围。

不要写背景、理由、分析过程、风险分析、测试计划、表格、Action ID,或“阅读、搜索、分析、修改、验证”等内部步骤;不要复述整段请求。测试只有在它本身是明确交付结果时,才可写成具体行为用例,不能写“补测试”。

当前对话不足以在不推测的情况下写出目标或可观察结果时,不进入「固定输出」;简短指出缺失的关键前提并请求补充,该回复不构成执行确认。

固定输出

只输出以下结构;除标题外最多 7 行,准备做 最多 3 项:

## 执行预告

- 目标:……
- 准备做:
  - ……
- 不做:……
- 默认理解:……

没有必要的默认理解时,省略 默认理解。不得增加确认问题、解释、计划或其他段落。

动作项描述结果,不描述过程:

  • 错误:阅读相关代码,修改实现并运行测试。
  • 正确:将请求失败从静默返回改为向调用方抛出错误。

确认门禁

  • 输出执行预告后立即结束当前回复。在得到针对最后一版预告的明确执行确认前,不得运行命令、调用执行工具、修改文件或开始实现,也不得自动批准自己的理解。
  • 明确确认是指用户明确要求按最后一版预告执行,例如“可以,按这个做”“执行”或“approve”。表示理解、评价预告、补充事实、提出问题或继续讨论,都不构成执行授权。
  • 收到修改意见时,重新输出完整执行预告,并再次立即结束回复。
  • 明确确认后,最后一版执行预告约束后续的可观察结果、明确非目标与默认理解;完成这些结果所必需的调查、实现和验证动作,可在其他适用边界内自行选择。
  • 本确认只确认最后一版执行预告中的可观察结果、明确非目标与默认理解;不替代其他适用规则要求的权限提升、不可逆操作、外发 / 发布、依赖新增、高影响改动或范围扩大的专门说明与确认。
  • 执行中发现与已确认结果无关的动作时,不执行,只记录并报告;必须新增可观察结果、进入明确非目标或扩大既有授权边界才能继续时,先输出更新后的完整执行预告,并再次等待明确确认。

qianchengjie/skills/tree/main/skills/tell-me-first commit 4caf57191f

Frequently asked questions

npx skillmds@latest add qianchengjie/tell-me-first