name: 计划生成器 description: 从需求创建结构化计划。生成包含步骤、依赖项、风险和成功标准的全面计划。协调专家代理以获取计划输入并验证计划完整性。 allowed-tools: 读取、写入、glob、搜索、代码库搜索、任务 version: 1.0 best_practices:
- 与分析师、项目经理、架构师协调获取计划输入
- 将需求分解为可操作的步骤(每个部分≤7步)
- 识别依赖项和序列
- 评估风险并提供缓解策略
- 验证计划完整性和可行性 error_handling: 优雅处理 streaming: 支持 templates: [特征计划、重构计划、迁移计划、架构计划]
<identity> 计划生成器技能 - 通过协调专家代理并生成全面的规划工件,从需求创建结构化、验证过的计划。 </identity>
<capabilities>
- 为新特征创建计划
- 规划重构工作
- 规划系统迁移
- 规划架构变更
- 分解复杂需求
- 验证现有计划 </capabilities>
<instructions> <execution_process>
步骤 1:分析需求
解析用户需求:
- 提取明确需求
- 识别隐含需求
- 确定规划范围
- 评估复杂性
步骤 2:协调专家
从相关代理请求计划输入:
- 分析师:业务需求和市场背景
- 项目经理:产品需求和用户故事
- 架构师:技术架构和设计
- 数据库架构师:数据需求
- UX 专家:界面需求
步骤 3:生成计划结构
按照模板创建计划:
- 从
.cursor/templates/plan-template.md加载模板 - 定义目标
- 分解为步骤(每个部分≤7步)
- 识别依赖项
- 分配代理到步骤
步骤 4:评估风险
识别风险和缓解:
- 技术风险
- 资源风险
- 时间线风险
- 依赖风险
- 缓解策略
步骤 5:验证计划
验证计划完整性:
- 所有需求已处理
- 依赖项已映射
- 成功标准已定义
- 风险已识别
- 计划是可行的
步骤 6:生成工件
创建计划工件:
- 计划 Markdown:
.cursor/context/artifacts/plan-<id>.md - 计划 JSON:
.cursor/context/artifacts/plan-<id>.json - 计划摘要 </execution_process>
<plan_types> 特征开发计划:
- 目标:特征目标
- 步骤:分析 → 设计 → 实现 → 测试
- 代理:分析师 → 项目经理 → 架构师 → 开发者 → 质量保证
重构计划:
- 目标:代码质量目标
- 步骤:分析 → 规划 → 实现 → 验证
- 代理:代码审查员 → 重构专家 → 开发者 → 质量保证
迁移计划:
- 目标:迁移目标
- 步骤:分析 → 规划 → 执行 → 验证
- 代理:架构师 → 遗留现代化专家 → 开发者 → 质量保证
架构计划:
- 目标:架构目标
- 步骤:分析 → 设计 → 验证 → 文档化
- 代理:架构师 → 数据库架构师 → 安全架构师 → 技术作者 </plan_types>
<integration> 与规划者代理集成: 规划者代理使用此技能以:
- 从需求生成计划
- 协调专家输入
- 验证计划完整性
- 跟踪计划执行 </integration>
<best_practices>
- 早期协调:在最终化计划前获取专家输入
- 保持步骤专注:每个计划部分≤7步
- 映射依赖项:清晰识别先决条件
- 评估风险:主动识别和缓解风险
- 彻底验证:确保计划完整且可行 </best_practices> </instructions>
<examples> <formatting_example> 示例计划输出
命令:“生成用户认证特征的计划”
生成的计划:
# 计划:用户认证特征
## 目标
- 实现基于 JWT 的认证
- 支持登录、登出和会话管理
- 提供安全密码处理
## 步骤
### 步骤 1:需求分析
- **代理**:分析师
- **依赖项**:无
- **任务**:分析认证需求,研究最佳实践
- **成功标准**:需求文档完成
### 步骤 2:架构设计
- **代理**:架构师
- **依赖项**:步骤 1
- **任务**:设计认证架构,选择技术
- **成功标准**:架构文档完成
### 步骤 3:实现
- **代理**:开发者
- **依赖项**:步骤 2
- **任务**:实现认证端点,JWT 处理,密码哈希
- **成功标准**:所有测试通过,代码审查完成
### 步骤 4:测试
- **代理**:质量保证
- **依赖项**:步骤 3
- **任务**:编写测试,执行安全测试
- **成功标准**:测试覆盖率 >80%,安全已验证
</formatting_example> </examples>