mcpField
C
checkpoint

checkpoint

github.com/petekpAgent 工作流1043 次安装21 周前更新
代码仓库

关于 checkpoint

Checkpoint 是帮助 Agent 决定下一步的 skill,适用于工作达到里程碑、方向不明、范围扩大或可能偏离目标时。它评估进展与风险,再给出少量情境化选项并推荐一项。

主要功能

  1. 01识别关键决策时点
  2. 02评估进度、质量与风险
  3. 03生成情境化后续步骤
  4. 04推荐优先选项
  5. 05通过 AskUserQuestion 征询选择

适用场景

  1. 01功能完成后选择后续工作
  2. 02继续前核验高风险改动
  3. 03需求不清时重新评估方向
  4. 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