关于 checkpoint
Checkpoint 是帮助 Agent 决定下一步的 skill,适用于工作达到里程碑、方向不明、范围扩大或可能偏离目标时。它评估进展与风险,再给出少量情境化选项并推荐一项。
主要功能
- 01识别关键决策时点
- 02评估进度、质量与风险
- 03生成情境化后续步骤
- 04推荐优先选项
- 05通过 AskUserQuestion 征询选择
适用场景
- 01功能完成后选择后续工作
- 02继续前核验高风险改动
- 03需求不清时重新评估方向
- 04范围扩大时确定重点下一步
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ petekp/ agent-skills --skill checkpoint安装后在 Claude Code 中输入/checkpoint确认已加载。
详细介绍
检查点
暂停一下,评估当前情况,并向用户提供明智的下一步选项。
主动触发时机
发现以下情况时,主动建议使用此技能(无需用户提出):
- 完成信号:某项功能、修复或里程碑刚刚完成
- 不确定信号:需求不明确、存在多种可行路径,或对当前方向信心不足
- 复杂度信号:范围扩大、出现意外依赖项,或任务耗时超出预期
- 偏离信号:工作可能偏离了用户的初衷
- 质量信号:代码可运行,但可能需要审查、测试或重构
工作流
1. 评估上下文
静默评估以下各个维度的当前状态(不要输出此分析):
- 进度:已经完成了什么?还剩什么?
- 质量:工作是否扎实,还是仍有不足之处?
- 一致性:近期工作是否符合用户的实际需求?
- 不确定性:做了哪些假设?有哪些不明确之处?
- 风险:可能出现什么问题?有哪些内容尚未测试?
- 效率:是否有更好的推进方式?
2. 生成选项
根据评估结果,生成 2 至 5 个符合当前情境的选项。可以参考以下类型,但不必局限于此:
| 类型 | 适用情形 |
|---|---|
| 提交进展 | 已取得实质进展,适合暂时告一段落 |
| 系统审查 | 改动复杂,可能引发错误或回归 |
| 确定优先级/制定计划 | 有多项待办事项,不清楚什么最重要 |
| 重新评估决策 | 对近期选择信心不足,或有新信息可用 |
| 向用户确认 | 做了假设,或需求存在歧义 |
| 测试/验证 | 代码可运行,但边缘情况尚未测试 |
| 重构/清理 | 功能可用,但代码结构杂乱 |
| 补充文档 | 复杂逻辑需要解释说明 |
| 退一步审视 | 可能将问题复杂化,或忽略了更简单的方案 |
| 沿当前方向继续 | 下一步明确,没有必要暂停 |
生成选项的原则:
- 选项应有实质区别,而不是同一选项的不同说法
- 如果继续推进很有价值,至少提供一个“继续推进”选项
- 如果存在风险,至少提供一个“暂停并验证”选项
- 避免陷入分析瘫痪:少而精准的选项胜过多而含糊的选项
3. 选择推荐项
选择一个推荐选项。推荐时应考虑:
- 经验丰富的高级工程师会怎么做?
- 怎样才能降低浪费精力或返工的风险?
- 怎样才能满足用户的根本目标,而不只是照办明示的要求?
4. 通过 AskUserQuestion 呈现选项
使用 AskUserQuestion,结构如下:
Question: "What would you like to do next?"
Header: "Next step" (or contextually appropriate 1-2 words)
Options: [generated options with descriptions]
选项格式:
label:以动词开头的短语(例如,“提交当前进展”“运行系统审查”)description:用 1 句话说明此选项包含的内容及其价值
推荐项:
- 将推荐选项放在列表首位
- 在其标签后附加“(推荐)”
- 在说明中阐明推荐理由
示例输出
适用于功能刚刚实现、但仍有一些权宜处理的情况:
AskUserQuestion:
question: "Feature implementation complete. What would you like to do next?"
header: "Next step"
options:
- label: "Review and refactor (Recommended)"
description: "Clean up the shortcuts taken during implementation before they become technical debt. The core logic works but could be more maintainable."
- label: "Add test coverage"
description: "Write tests for the new feature to catch edge cases and prevent regressions."
- label: "Commit and move on"
description: "The feature works - commit it and tackle the next task. Can refactor later if needed."
- label: "Walk me through what was built"
description: "Explain the implementation so you can verify it matches your expectations before proceeding."
反模式
- 不要过度思考:此技能应在几秒内完成,而不是几分钟
- 不要列出所有可能的选项:精选最有价值的 2 至 5 个
- 情况明确时,不要建议“询问用户”:应明确表达判断
- 不要触发过于频繁:仅在确实需要做决定时使用,而不是每个小步骤都触发
- 不要解释评估过程:自然地呈现选项即可
评论
支持 Markdown