mcpField
P
planning

planning

github.com/awslabsAgent 工作流933166 次安装3 周前更新
代码仓库

关于 planning

planning 是用于微调项目的 Agent skill,帮助用户梳理目标、选择工作流并生成可审阅的任务计划。它会先确认评估优先或直接微调路径,并在计划获批后按技能流程执行。

主要功能

  1. 01逐步澄清计划分支决策
  2. 02提前提示下游限制
  3. 03按技能依赖安排任务
  4. 04用户批准后更新计划状态

适用场景

  1. 01规划模型评估或微调流程
  2. 02根据已有输入跳过生成步骤
  3. 03响应用户反馈调整待办计划

安装

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

$npx skills add https://github.com/awslabs/agent-plugins --skill planning

安装后在 Claude Code 中输入/planning确认已加载。

包含的文件

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

references/
evaluate-first-plan.md
input-output-contracts.md
model-customization-plan.md
skill-routing-constraints.md

详细介绍

原则

  • 一次只问一个问题。 每个问题都应明确计划中的一个分支决策。避免提出泛泛的问题或超出范围的问题。
  • 尽早说明限制。 如果用户的决策会限制后续选项,应在计划最终确定前指出。
  • 计划应简短。 只纳入实现用户所述目标所必需的任务。
  • 不要询问已知的信息。 提问前先检查对话历史和项目文件。

阶段 1:头脑风暴

目标: 了解用户想要实现什么,并确定计划中应包含哪些技能。

阅读 references/input-output-contracts.md、references/model-customization-plan.md 和 references/evaluate-first-plan.md,以便:

  • 确定哪些技能可能与用户所述目标相关。
  • 检查用户是否具备每项技能所需的输入材料。如果没有,找出能够生成这些输入的技能,并先将其加入计划。
  • 对技能进行排序,确保它们之间顺畅衔接,避免陷入无法继续的情况。
  • 检查推荐的工作流是否符合用户的需求。如果不符合,评估需要进行哪些修改,并根据契约表确认这些修改是否可行。
  • 确定匹配的工作流中哪些技能可以跳过。
  • 尽早说明限制 — 如果用户的决策(模型选择、区域、评估方法)会限制后续选项,应主动提及,征求用户意见,并据此调整计划。

头脑风暴期间:

  • 工作流选择关卡: 生成任何计划之前,先确定用户想采用先评估工作流还是直接微调工作流。如果用户已明确选择(例如“先评估”“跳过评估”“已评估基础模型”),则按其选择继续。否则,简要介绍两种选项及其优缺点,并请用户选择。仅说“微调”或只提及某种技术,不代表用户明确选择跳过评估 — 用户可能不知道可以先评估。用户选定路径之前,不要提供计划。用户选择后,只阅读相应的参考计划。
  • 利用契约表中的限制列,在作出相关决策后立即说明限制。示例(并非完整列表,请查阅契约表了解所有限制):
    • 用户选择 Nova 模型 → 提醒其部署区域有限。
    • 用户选择区域 → 提醒其该区域是否与模型可用性冲突。
  • 如果存在限制,检查是否需要调整计划中的其他步骤。
  • 不要询问用户选择基础模型或表达偏好。模型选择完全由 model-selection 技能负责。
  • 一旦能够确定计划所需的技能和工具,就立即进入阶段 2。

阶段 2:生成计划

目标: 提出结构化计划供用户审核。

将计划生成为编号任务列表。每项任务包含:

  • 一个简短名称
  • 一句话说明将要执行的内容
  • 负责处理该任务的技能(如适用)

格式:

Based on what you've described, here's what I propose:

1. ⬜ **[Task Name]** — [What happens]. *(Skill: [skill-name])*
2. ⬜ **[Task Name]** — [What happens]. *(Skill: [skill-name])*
3. ⬜ **[Task Name]** — [What happens]. *(Skill: [skill-name])*

Does this plan look right, or would you like to change anything?

计划生成规则:

  • 根据契约表中的前置条件列推断顺序 — 技能不能出现在其前置条件之前。如不确定,请查阅 references/skill-routing-constraints.md。
  • 只提供现有技能支持的能力。如果用户需要的内容没有技能支持,应明确说明。
  • 根据用户的实际意图定制计划。并非每个计划都需要包含所有技能。
  • 如果用户已有输入材料(例如训练好的模型),则跳过生成这些材料的步骤。

用户批准计划后,将其写入 PLAN.md,并保存到目录管理技能定义的项目目录结构中。

# Plan

1. ⬜ **[Task Name]** — [Description]. _(Skill: [skill-name])_
2. ⬜ **[Task Name]** — [Description]. _(Skill: [skill-name])_
3. ⬜ **[Task Name]** — [Description]. _(Skill: [skill-name])_

状态指示:

  • ⬜ 尚未开始
  • 🔄 进行中
  • ✅ 已完成

每当任务状态发生变化时,都要更新 PLAN.md。

阶段 3:迭代计划

目标: 反复完善计划,直到用户批准。

  • 如果用户提出修改建议,则根据反馈重新生成计划。
  • 如果用户批准,则将任务交接给第一个任务对应的技能,开始执行。

执行

计划获批后:

  1. 开始任务前,将其在 PLAN.md 中的状态更新为 🔄(进行中)。
  2. 如果任务对应某项技能,则在开展任何工作前加载该技能的完整 SKILL.md。不要凭一般知识尝试完成任务——始终遵循该技能的说明。
  3. 按照已加载技能的工作流执行任务。
  4. 任务完成后:
    • 将其在 PLAN.md 中的状态更新为 ✅(已完成)。如果任务生成了输出文件(脚本、笔记本、清单),请在已完成的任务下记录文件路径:

      - [x] 微调模型
        - 输出:`scripts/01_sft_finetuning.py`
        - 输出:`manifests/sft-llama-20260515.json`
      
    • 简要确认任务已完成,然后继续下一个任务。

  5. 如果用户在执行过程中提出新请求:
    • 已完成的任务不可更改——不要修改它们。
    • 根据用户的新输入重新生成剩余任务。
    • 继续执行前,先将更新后的剩余任务交由用户批准。

计划完成

计划中的所有任务完成后,向用户说明:

“计划中的所有任务都已完成。接下来你想做什么?”

这将重新进入阶段 1(头脑风暴),开始设定新目标。没有终止状态——只要用户有需要,对话就会继续。


参考资料

加载与客户意图匹配的参考计划,然后根据客户需求进行调整。

  • references/evaluate-first-plan.md — 先评估再决定是否微调的工作流:先评估基础模型,再决定是否进行微调。
  • references/model-customization-plan.md — 直接微调计划。用户已明确决定进行微调时使用。
  • references/input-output-contracts.md - 展示所有技能、必需输入、产出、前置条件和限制的表格。
  • references/skill-routing-constraints.md — 可选的补充资源,介绍强制纳入规则、顺序约束和技能边界规则。

评论

支持 Markdown