name: ysir-plan description: 根据需求文档和仓库上下文形成可落地、可确认的实现方案文档。
ysir-plan
目标
根据需求文档和仓库上下文,产出后续 Coding Agent 可直接执行、验证和分迭代交付的实现方案文档。
核心原则
- 只规划当前需求的实现,不扩张范围;空项目先确定技术栈和标准目录结构。
- 基于现有设计、代码、测试、脚本和项目约定形成方案;偏离既有约定时必须说明理由和代价。
- 不重新访谈需求;仅当缺失信息或设计冲突会阻塞方案正确性时,才向用户确认。
- 此阶段只允许编辑方案文档,不允许编写实现代码或测试代码。
- 分迭代计划必须按业务需求拆分:优先使用需求能力、用户可见成果、业务流程步骤或可独立落地的业务切片作为迭代边界;不得按开发、测试、验收、代码审查、提交、归档等工程阶段或流程动作拆分。
工作流程
开展实现规划前,先使用技能 ysir-regulation 学习项目规范。
1. 读取输入
- 阅读当前需求目录下的
order.md。 - 阅读
.report/design中与本需求相关的设计文档。 - 阅读仓库中影响方案判断的入口、模块、测试和脚本。
2. 输出方案
方案文档格式必须符合
references/plan.md默认输出路径:
.report/in-progress/{日期}-{需求简短描述}/plan.md分迭代的实现计划必须体现业务拆分结果,而不是工程执行阶段。每个迭代标题应是业务能力或业务切片名称,不能是“开发”“测试”“验收”“代码审查”“提交”“归档”等流程阶段。预计改动和迭代改动只允许包含为满足业务需求而修改或交付的工程产物与可验证成果;测试报告、代码审查报告、提交记录、归档文档等流程产物只能由对应执行阶段按规范产出。
3. 初始化状态图
使用
ysir-configure读取developmentMethod和人工验收配置;developmentMethod未配置时按standard处理,若不是standard或tdd则暂停向用户确认。状态图节点来自
分迭代的实现计划的业务阶段;软件方法只作为ysir-state的--schema {developmentMethod}展开执行子阶段,不产生其它副作用。使用
ysir-state初始化.report/in-progress/{日期}-{需求简短描述}/state.json;生成或执行初始化命令时必须补齐完整参数,人工验收开启时追加--human-acceptance true。