--- name: GudaSpec: Plan description: Analyze requirements and design implementation plan structure with test strategy selection. category: GudaSpec tags: [gudaspec, plan, structure, multi-model, tdd] argument-hint: [requirement.md path] --- ## Purpose 分析需求文档,设计计划结构,选择测试策略。产出计划结构草案供review阶段确认和细化。 ## Core Principles 1. **Read Everything First** — 完整读取所有引用文件后再分析 2. **Verify Before Plan** — 验证约束仍然有效 3. **Structure Before Detail** — 先确认结构,再写细节 4. **Test Strategy Early** — 在结构阶段就决定测试策略 ## Guardrails - If project lacks `gudaspec/` directory, prompt user to run `/gudaspec:init`. - **MUST** read requirement.md and ALL referenced files completely. - **MUST** verify constraints against current codebase. - **MUST** get user confirmation on plan structure before proceeding. - **NEVER** write detailed implementation steps in this phase. - Keep context under 50K tokens. --- ## Steps ### Step 0: Load Requirement Document **With parameter:** ``` /gudaspec:plan gudaspec/research//requirement.md ``` Read the file and all files mentioned in it. **Without parameter:** ``` 请提供需求文档路径: /gudaspec:plan gudaspec/research//requirement.md ``` ### Step 1: Context Gathering & Verification 1. **Extract from requirement.md:** - 约束集(硬约束 + 软约束) - 技术决策 - 集成点 - 成功标准 - 实施边界 2. **Read all referenced source files** 3. **Verify constraints still valid:** ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔍 约束验证 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | 约束ID | 状态 | 说明 | |--------|------|------| | HC-I-1 | ✅ 有效 | 代码未变更 | | HC-I-2 | ⚠️ 变化 | 文件已移动到新位置 | | SC-E-1 | ✅ 有效 | 外部API仍适用 | ``` 4. **Present understanding for confirmation** Use `AskUserQuestions` to confirm understanding. ### Step 2: Multi-Model Analysis **Invoke `mcp__codex__codex`:** ``` Analyze this requirement for implementation planning: [paste key constraints and decisions] Identify: 1. Implementation risks 2. Dependency order between components 3. Edge cases to address 4. Suggested phase boundaries ``` **Invoke `mcp__gemini__gemini`:** ``` Analyze this requirement for implementation planning: [paste key constraints and decisions] Identify: 1. UI/UX implementation considerations 2. Component structure recommendations 3. State management implications 4. Testing challenges for frontend ``` **Present synthesized findings:** ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔍 多模型分析结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【风险识别】 • 【依赖顺序建议】 1. 2. 3. 【建议的Phase边界】 • Phase 1 与 Phase 2 在 处分界 • 原因: ``` ### Step 3: Test Strategy Selection ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🧪 测试策略选择 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 请选择本次实施的测试策略: ┌─────────────────────────────────────────────────────────────┐ │ Level 0: 标准验证模式 │ ├─────────────────────────────────────────────────────────────┤ │ • 使用Success Criteria命令验证 │ │ • 不生成测试代码 │ │ • 适合: 简单修复、配置变更、原型探索 │ │ • 验证方式: 运行现有测试 + 手动检查 │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ Level 1: TDD模式 ⭐推荐 │ ├─────────────────────────────────────────────────────────────┤ │ • 先写测试,再写实现 (Red-Green-Refactor) │ │ • 生成测试骨架代码 │ │ • 适合: 标准功能开发、API开发、业务逻辑 │ │ • 验证方式: 测试从红变绿 + 手动检查 │ │ │ │ 【TDD如何帮助AI开发】 │ │ • 失败测试为AI提供精确的任务定义 │ │ • 防止AI"幻觉"——测试会立即暴露错误 │ │ • 每个小步骤都有验证,错误不会累积 │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ Level 2: TDD + Property Testing │ ├─────────────────────────────────────────────────────────────┤ │ • 包含Level 1全部内容 │ │ • 额外定义Property不变量 │ │ • 随机输入发现边界情况 │ │ • 适合: 关键业务逻辑、安全功能、数据处理 │ │ • 验证方式: 测试通过 + Property验证 + 手动检查 │ │ │ │ 【Property Testing示例】 │ │ • "密码永不出现在日志中" — 随机测试1000种输入 │ │ • "加密后解密等于原文" — 验证往返一致性 │ └─────────────────────────────────────────────────────────────┘ 基于您的需求特点,我建议: Level 原因: ``` Use `AskUserQuestions`: ``` question: "选择测试策略Level" options: [ "Level 0: 标准验证(简单任务)", "Level 1: TDD模式(推荐)", "Level 2: TDD + Property Testing(关键逻辑)", "不确定,请解释更多" ] ``` ### Step 4: Design Plan Structure ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📐 计划结构设计 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【实施策略概述】 <1-2句话描述整体策略> 【Phase划分】 ┌─────────────────────────────────────────────────────────────┐ │ Phase 1: <名称> │ ├─────────────────────────────────────────────────────────────┤ │ 目标: <完成什么> │ │ 涉及: <模块/文件范围> │ │ 依赖: 无 │ │ 预计: ~个文件变更 │ │ 测试: │ └─────────────────────────────────────────────────────────────┘ │ │ 完成 + 验证通过 ▼ ┌─────────────────────────────────────────────────────────────┐ │ Phase 2: <名称> │ ├─────────────────────────────────────────────────────────────┤ │ 目标: <完成什么> │ │ 涉及: <模块/文件范围> │ │ 依赖: Phase 1 │ │ 预计: ~个文件变更 │ │ 测试: │ └─────────────────────────────────────────────────────────────┘ │ │ 完成 + 验证通过 ▼ ┌─────────────────────────────────────────────────────────────┐ │ Phase 3: <名称> │ ├─────────────────────────────────────────────────────────────┤ │ 目标: <完成什么> │ │ 涉及: <模块/文件范围> │ │ 依赖: Phase 2 │ │ 预计: ~个文件变更 │ │ 测试: │ └─────────────────────────────────────────────────────────────┘ 【明确不包含】 • ❌ <排除项1> — 原因: • ❌ <排除项2> — 原因: 【风险预判】 | 风险 | 严重度 | 缓解策略 | |------|--------|----------| | | 高/中/低 | | ``` Use `AskUserQuestions`: ``` question: "计划结构是否合适?" options: [ "合适,保存并继续", "需要调整Phase划分", "需要调整范围边界", "风险评估需要修改" ] ``` ### Step 5: Save Structure Document Save to: `gudaspec/plans//structure.md` ```markdown --- requirement_id: created: planner: claude status: structure-approved test_level: <0|1|2> requirement_ref: gudaspec/research//requirement.md git_commit: branch: --- # Plan Structure: ## 实施策略 ## 约束验证结果 | 约束ID | 状态 | 说明 | |--------|------|------| ... ## 多模型分析摘要 ### 风险 ... ### 依赖顺序 ... ## 测试策略 Level: <0|1|2> 原因: ## Phase结构 ### Phase 1: - 目标: - 涉及: - 依赖: - 预计变更: ### Phase 2: ... ## 不包含 - ❌ ... ## 风险预判 | 风险 | 严重度 | 缓解策略 | ... ## 下一步 /clear → /gudaspec:plan-review ``` ### Step 6: Completion Output ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✅ 计划结构已保存 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 需求ID: 结构文档: gudaspec/plans//structure.md 结构摘要: ┌─────────────────────────────────────────┐ │ Phase数量: [N] │ │ 测试策略: Level [X] │ │ 预计文件变更: [Y] 个 │ │ 风险等级: 高/中/低 │ └─────────────────────────────────────────┘ 📋 下一步操作: 1. 输入 /clear 清空当前上下文 2. 输入 /gudaspec:plan-review plan-review阶段将: • 确认每个Phase的详细内容 • 生成具体的代码变更说明 • 生成测试规格(Level 1-2) • 最终批准计划 ``` --- ## Exit Criteria - [ ] Requirement document fully read and understood - [ ] All referenced files read - [ ] Constraints verified against current code - [ ] Multi-model analysis completed - [ ] Test strategy level selected - [ ] Plan structure designed and approved - [ ] Structure document saved - [ ] User directed to /gudaspec:plan-review