--- name: start-task description: 为任何角色创建独立线程并开始工作 model: inherit color: green --- # 统一任务启动命令 此命令为任何 AI Agent 角色创建独立的工作线程。 ## 使用方法 ```bash /start-task <角色> "任务标题" [--desc "描述"] ``` ### 支持的角色 | 角色代码 | 角色名称 | 标签 | |---------|---------|------| | `pm` | 产品经理 | product, pm | | `fe` | 前端开发 | frontend, fe | | `be` | 后端开发 | backend, be | | `qa` | 测试工程师 | qa, testing | | `ops` | DevOps工程师 | devops, ops | | `tl` | 技术负责人 | tech-lead, tl | ## 执行流程 ### 第1步:解析参数并创建线程 - `<角色>`: 从支持列表中识别角色 - `"任务标题"`: 提取任务标题作为线程标题 - `--desc`: 可选的详细描述 调用 `mcp__thread-manager__create_thread`: ```javascript { title: "[角色名称] - [任务标题]", description: 描述(如果提供), tags: 角色对应的标签, switchTo: true } ``` ### 第2步:简洁通知 **只输出一行**: ``` ✨ 已创建[角色]线程:"[标题]" (ID: [前8位]) ``` ### 第3步:立即开始工作 ⭐ **最重要** **不要停止!立即切换到对应角色并开始工作**: 1. 根据角色读取对应的 agent prompt - `pm` → `.claude/agents/product_manager.md` - `be` → `.claude/agents/backend_dev.md` - `fe` → `.claude/agents/frontend_dev.md` - `qa` → `.claude/agents/qa_engineer.md` - `ops` → `.claude/agents/devops_engineer.md` - `tl` → `.claude/agents/tech_leader.md` 2. 以该角色的身份和能力工作 3. 输出完整的工作成果(需求文档/代码/测试等) 4. 就像用户直接调用了 `/[角色] [任务]` 一样 ## 使用示例 ### 产品经理任务 ```bash 用户: /start-task pm "设计用户认证系统" Claude: ✨ 已创建产品线程:"产品经理 - 设计用户认证系统" (ID: abc12345) --- ## 产品需求分析 - 用户认证系统 ### 执行摘要 ... [立即开始完整的产品分析工作] ``` ### 后端开发任务 ```bash 用户: /start-task be "实现JWT认证API" --desc "支持access token和refresh token" Claude: ✨ 已创建后端线程:"后端开发 - 实现JWT认证API" (ID: def67890) --- ## 后端技术方案 - JWT认证API ### 技术选型 ... [立即开始完整的后端开发工作] ``` ### 前端开发任务 ```bash 用户: /start-task fe "开发登录表单组件" Claude: ✨ 已创建前端线程:"前端开发 - 开发登录表单组件" (ID: ghi24680) --- ## 前端组件设计 - 登录表单 ### 组件结构 ... [立即开始完整的前端开发工作] ``` ## 工作流示例 ### 完整产品开发流程 ```bash # 第1步:产品经理创建需求线程 用户: /start-task pm "用户认证系统需求分析" Claude: [创建线程并返回启动命令] 用户: exit $ clt abc123 用户在新会话: /pm "开始进行用户认证系统的需求分析" 产品经理: [在独立线程中进行需求分析...] # 第2步:后端开发创建实现线程 用户: exit # 退出产品经理线程 $ claude # 回到主会话 用户: /start-task be "实现JWT认证API" Claude: [创建新线程] 用户: exit $ clt def456 用户在新会话: /be "根据产品需求实现JWT认证API" 后端开发: [在独立线程中开发...] # 第3步:前端开发创建UI线程 用户: /start-task fe "开发登录UI组件" Claude: [创建新线程] 用户: exit $ clt ghi789 用户在新会话: /fe "开发与后端API对接的登录表单" 前端开发: [在独立线程中开发...] # 第4步:QA测试 用户: /start-task qa "测试用户认证功能" Claude: [创建新线程] 用户: exit $ clt jkl012 用户在新会话: /qa "执行用户认证的完整测试" QA工程师: [在独立线程中测试...] ``` ## 实现细节 ```javascript // 伪代码示例 function handleStartTask(role, title, description) { // 1. 角色映射 const roleMapping = { 'pm': { name: '产品经理', tags: ['product', 'pm'] }, 'fe': { name: '前端开发', tags: ['frontend', 'fe'] }, 'be': { name: '后端开发', tags: ['backend', 'be'] }, 'qa': { name: 'QA工程师', tags: ['qa', 'testing'] }, 'ops': { name: 'DevOps工程师', tags: ['devops', 'ops'] }, 'tl': { name: '技术负责人', tags: ['tech-lead', 'tl'] } }; const roleInfo = roleMapping[role]; if (!roleInfo) { return "❌ 不支持的角色。支持的角色: pm, fe, be, qa, ops, tl"; } // 2. 创建线程 const result = mcp__thread-manager__create_thread({ title: `${roleInfo.name} - ${title}`, description: description || `${roleInfo.name}任务 - ${title}`, tags: roleInfo.tags }); // 3. 返回结果 return result.message; // 直接返回 thread-manager 的格式化消息 } ``` ## 与角色快捷命令的对比 | 命令方式 | 线程隔离 | Git分支 | 适用场景 | |---------|---------|---------|---------| | `/pm "任务"` | ❌ 当前会话 | ❌ 当前分支 | 快速咨询、小任务 | | `/pm-start "任务"` | ✅ 独立线程 | ✅ 独立分支 | 产品经理专用,完整任务 | | `/start-task pm "任务"` | ✅ 独立线程 | ✅ 独立分支 | 通用方式,所有角色 | ## 最佳实践 ### 1. 任务命名规范 ```bash # 好的命名 /start-task pm "设计用户认证系统" /start-task be "实现JWT token刷新机制" /start-task fe "开发响应式导航栏组件" # 避免的命名 /start-task pm "做点事" # 太模糊 /start-task be "fix" # 不够描述性 ``` ### 2. 使用标签组织 ```bash # 通过标签过滤线程 /threads --tags backend /threads --tags product,high-priority ``` ### 3. 清晰的描述 ```bash /start-task be "实现支付API" --desc "集成支付宝和微信支付,支持订单创建、查询、退款" ``` ### 4. 并行工作 ```bash # 终端1: 后端开发 $ clt abc123 /be "开发API..." # 终端2: 前端开发 $ clt def456 /fe "开发UI..." # 终端3: 测试 $ clt ghi789 /qa "执行测试..." ``` ## 注意事项 - ✅ 此命令只创建线程,不执行实际工作 - ✅ 需要在新会话中调用对应的角色命令(如 `/pm`, `/be`) - ✅ 每个线程有独立的对话历史和 Git 分支 - ✅ 可以同时在多个终端中并行工作 - ⚠️ 创建线程后需要执行 `exit` + `claude --session-id xxx` 完全隔离上下文