# Tell Me First

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

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

---


# Tell Me First

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

## 生成预告

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

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

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

## 固定输出

只输出以下结构；除标题外最多 7 行，`准备做` 最多 3 项：

```md
## 执行预告

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

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

动作项描述结果，不描述过程：

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

## 确认门禁

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

