| name | flowpilot-plan |
| description | 依据目标与技能索引生成阶段/任务计划。Generate a phased plan with skill-matched tasks covering all acceptance criteria. |
Lite 模式(无 flowpilot MCP server 时)
本技能优先通过 MCP 工具(goal_card/plan/skills_inventory/session_log/verify/flow_config)操作状态;当会话中这些工具不可用时,进入以下 Lite 规程:
- 读状态:直接读目标项目
.flow/config.json、.flow/goal.json、.flow/plan.json(JSON 信封 {format_version:1, data:...},data 字段结构与 MCP 工具返回一致)。session 日志 Lite 下省略(无滚动/LATEST 视图),进度记录在会话内维护。
- 写状态:按同名文件模板全量重写(保持信封与字段结构不变;先读后写;三个文件 Lite 自己创建与维护)。
- 自我约束(无服务端强制,违反即状态损坏):任务流转表 pending→doing、doing→done/failed/cancelled、failed→doing/cancelled、done/cancelled 终态;任务置 done 前其 acceptance_ids 对应标准必须全部 status=passed;已 passed 的判定不可重判。
- 完整版状态检测:
.flow/skills-index.json 存在即完整版管理 → 只读展示,不写入,提示用户安装完整版插件。
- 角色路径:Lite 下角色文件位于本技能目录
roles/<slug>.md。
- 能力差距:无并发锁/原子写/强制校验——同一项目单会话推进,勿多会话同时写 .flow/。
本节优先于正文「降级(MCP 不可用)」节:Lite 下按本节直读直写三文件,正文降级节不适用。
flowpilot-plan:规划
流程
- 读 goal_card op=get 与 skills_inventory op=query(按任务关键词查询)。
- 路由档处理(flow_config op=get 的 routing):
- scan+match:仅 trust=trusted 的技能可自动写入 matched_skills;trust=unverified 的列出请用户决定
- free:不引用任何技能,matched_skills 留空
- scan+roles+match:在 scan+match 基础上,从插件 roles/ 目录按任务领域选择角色文件,角色 slug 写入 task.role
- kind 说明:skills_inventory 条目带 kind(skill/command/mcp-server/agent)——插件缓存内的 commands、MCP servers、agents 一并盘点为可用组件(trust 恒为 available-unloaded,仅参考列出);仅 kind=skill 进入 matched_skills,其余组件在任务描述中以「kind:name」注明引用
- 拆任务:2-8 个任务。每任务:title(动词开头)、phase、acceptance_ids(非空,全部 AC 被覆盖)、matched_skills、role(可选)。
- plan op=create 落盘;session_log op=append(kind=decision)。
- checkpoints 档:展示计划 + 每条 mechanical 标准将执行的 command_template 清单,请求确认;autonomous 档:展示但不等待。
- verify op=report 的 warnings 出现未覆盖标准 → 补任务或修订标准(goal_card op=update 附 reason)。
约束
- 不创建引用不存在 AC 的任务(server 会拒绝)。
- 纯过程性步骤并入相邻任务,不为它们单开无 AC 的任务。