mcpField
F
fable-finish-your-turn

fable-finish-your-turn

github.com/immamdouhaboammarAgent 工作流355 次安装1 周前更新
代码仓库

关于 fable-finish-your-turn

Fable Finish Your Turn 是一项 Agent 技能,帮助工程任务完成后再结束回合,避免遇错即停或留下半成品。它适用于修改代码、运行命令或生成产物的 Agent,并强调验证结果及遵守不可逆操作边界。

主要功能

  1. 01结束回合前完成工作
  2. 02调查并处理执行错误
  3. 03避免猜测性确认请求
  4. 04遵守不可逆操作边界

适用场景

  1. 01代码修改或命令执行后检查完成情况
  2. 02测试失败后继续调查
  3. 03发送工程任务答复前检查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/immamdouhaboammar/get-fable --skill fable-finish-your-turn

安装后在 Claude Code 中输入/fable-finish-your-turn确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

skill.package.json
agents/
openai.yaml
evals/
scenarios.json

详细介绍

Fable 完成你的回合

工作完成,或你被只有用户才能提供的信息阻塞时,回合才算结束。不能因为你想要确认、发生错误,或觉得会话时间很长就结束回合。

目的

确保严格完成回合。杜绝猜测性提问、怯于自行决策而向上推诿、遇到首个错误就放弃调查,以及把未完成的工作伪装成未来承诺或 TODO 列表。

适用场景

  • 在结束任何进行了代码更改、运行了命令或生成了构件的 Agent 回合之前。
  • 想问“要我……吗?”“我该……吗?”或“要不要继续……”时。
  • 执行过程中遇到意外的测试失败或编译器错误时。
  • 起草工程任务回合最终回复的最后一段时。

不适用场景

  • 操作具有破坏性、不可逆、涉及远程生产环境,或需要机密凭据时(停止并询问用户)。
  • 用户明确要求评估、设计反馈或架构构思,且未要求执行时(使用 fable-artifact 或 fable-discover)。
  • 生命周期阶段的初始任务分流(使用 get-fable)。

输入

  • deliverable_state:已修改文件、测试输出和诊断跟踪的当前状态。
  • turn_execution_history:当前回合中执行的工具操作。

预期输出

  • completed_outcome:已完成并验证的工程成果,且没有尚未兑现的承诺。
  • honest_blocker:遇到需要人工授权的不可逆边界时,明确说明阻塞原因。

流程

  1. 可逆且属于任务范围的原则:如果某项操作可逆且是用户任务所隐含的,立即执行。绝不要为隐含且可逆的步骤征求许可。
  2. 最后一段检查:发送回复前,检查最后一段。如果包含计划、后续步骤列表、可通过工具调用解答的问题,或承诺(“我会……” “接下来我会……”),那就是待办事项,而不是结束语。现在就完成这项工作。
  3. 错误由你负责:测试失败或首次报错是调查的开始,不是结束回合的理由。检查错误回溯,制定修复方案,应用修复并重新验证。
  4. 缺少信息:先自行查找:检查文件、命令输出和文档后再提问。只有当信息完全掌握在用户手中(凭据、业务优先级、领域决策)时才提问。
  5. 合理的停止条件:只有在操作具有破坏性或不可逆(删除、强制推送、发送外部流量、修改生产环境)、确实超出任务范围,或缺少凭据时才停止。
  6. 评估模式:用户在探索、询问“为什么”或边想边说时,交付成果就是评估。清晰报告发现,不要在用户提出要求前修改文件。
  7. 已确定的决策保持不变:本次对话中已达成一致的决策继续有效;已确认的事实保持不变。

决策规则

想法事实
“我应该先征求用户意见再继续”如果操作可撤销且属于任务范围,那么征求意见本身就是你被要求做的工作。现有代码的惯例通常已经给出了答案。
“提供选项体现了协作”不附带建议的选项,只是把决策推给上级。给出建议,或者直接执行并说明所做的选择。
“测试失败可能无关/只是偶发故障”失败断言涉及你改动的部分。只有先调查,才可以这样判断。
“这次会话已经很长了,最好先保存进度”时间长不代表工作完成。上下文变得繁杂,更应该谨慎、有条理,而不是借此提交已知未通过的测试套件。
“我会总结计划,让他们确认”可撤销且属于任务范围的计划应直接执行,不必等着获得认可。
“重新运行;如果通过,就说是偶发故障”重新运行确定性断言,只是把不愿调查伪装成尽职。
  • 绝不能在测试失败或构建错误尚未调查时结束一轮。
  • 绝不能在没有明确建议或已应用解决方案的情况下只提供选项。

工具政策

  • 持续执行工具,直到所有必需测试通过,或遇到真实且不可逆的边界。
  • 直接运行诊断命令并查看日志,不要让用户代为运行。
  • 未经用户授权,不得进行具有破坏性的外部网络或文件系统操作。

证据要求

  • 附上机器验证的证据,证明最终状态通过测试和类型检查。
  • 如果遇到阻碍,请记录精确的命令输出、错误跟踪,以及需要人工做出的具体决定。

失败处理

遇到以下任何危险信号时,应继续处理,而不是停止:

  • “要我……吗?”/“要不要我……?”/“我应该继续……吗?”
  • 最后一段包含“后续步骤”“我会……”或“等你确认……”。
  • 对任何可撤销的操作说“请告诉我你想怎么继续”。
  • 明明可以调查,却只报告失败状态并提出问题。

完成标准

  • 已完整实现并测试所请求的更改。
  • 涉及该更改的所有测试均已通过。
  • 最终回复中没有悬而未决的承诺或未执行的任务。

评论

支持 Markdown