用途
Work Intake 是所有工作请求的入口点。每一个工作请求都经过 intake 处理,该技能负责确定范围、收集需求,并将其路由到合适的工作流。其核心原则是:没有工作小到不值得跟踪,也没有工作大到无法拆解。
开始时需声明:“I'm using work-intake to understand and scope this request before beginning.”
主要能力
第 0 步:项目看板就绪(关卡)
在任何工作 intake 之前,验证项目看板基础设施是否就绪。这是一个关卡,未通过则不得进入澄清性问题环节。
检查内容包括:
- GITHUB_PROJECT_NUM 是否设置(若未设置但存在 GITHUB_PROJECT,则从中派生)
- GH_PROJECT_OWNER 是否设置(可从 GITHUB_OWNER、GITHUB_PROJECT 或 git remote 派生)
- 项目是否可访问
- 必需字段(Status、Priority、Type 或 Issue Type)是否存在
若关卡失败,需配置缺失的环境变量、必要时创建项目看板、添加必需字段,然后重新运行就绪检查。关联技能:project-board-enforcement。
第 1 步:澄清性问题
在评估范围之前先理解请求。不要询问能从仓库中回答的问题,应先检查 README.md、FEATURES.md、BRANDING.md、docs/、Storybook、现有路由/页面、现有 GitHub issues 及项目看板条目。
核心问题包括:
- “你想达成什么目标?”(理解目标而非仅任务)
- “成功是什么样的?”(定义验收标准)
- “谁/什么会受影响?”(识别影响范围)
- “有什么我应该知道的约束?”(时间、技术、兼容性)
- “这是更大计划的一部分吗?”(关联现有计划)
对于不明确的请求,还有发现性问题,用于揭示用户旅程、现状、已尝试过的方案、是否有先例参考等。
第 2 步:范围评估
根据以下标准评估请求:未知项数量、交付物数量、涉及代码区域、依赖关系、持续时间、准则数量。
范围矩阵将工作分为四类:
- Trivial(微小):无未知项,1 个交付物,1-2 个文件,无依赖,<1 个会话,1-2 条准则
- Small(小):少量可回答的未知项,2-5 个交付物,3-10 个文件,仅内部依赖,1-3 个会话,3-5 条准则
- Large(大):许多需要研究的未知项,6-20 个交付物,10+ 个文件,外部服务依赖,1-2 周,6-15 条准则
- Massive(庞大):需要研究 spike 的大量未知项,20+ 个交付物,多个系统,新基础设施,数周到数月,15+ 条准则
范围决策规则:
- 无未知项且交付物 ≤2 → TRIVIAL:直接使用 issue-prerequisite
- 少量未知项且交付物 ≤5 → SMALL:使用 issue-prerequisite,可能还需 issue-decomposition
- 许多未知项或交付物 >5 → LARGE:使用 epic-management 并配合研究 spike
- 大量未知项或交付物 >20 或需要新基础设施 → MASSIVE:使用 initiative-architecture
第 3 步:路由到合适的工作流
- Trivial:创建单个 issue,路由到 issue-prerequisite
- Small:创建父 issue,必要时分解为 2-3 个子 issue,路由到 issue-prerequisite → 可能 issue-decomposition
- Large:识别未知项,创建 epic 结构,路由到 epic-management(会按需创建研究 spike)
- Massive:开始 initiative 架构,路由到 initiative-architecture
可恢复性检查点
在路由之前,将 intake 评估记录到记忆中(使用 mcp__memory__create_entities),包括请求原文、范围、未知项、路由目标和状态。
使用方式
该技能作为一个入口技能,当用户提出任何工作请求时触发。它首先执行项目看板就绪检查(关卡),然后通过澄清性问题了解需求,接着进行范围评估,最后根据评估结果路由到相应的下游技能。
适用场景
- 用户提出任何类型的工作请求时,作为统一入口
- 需要对请求进行范围评估和分级时
- 需要将请求路由到合适的规划工作流时
限制
- 第 0 步是硬性关卡,若项目看板未就绪(如 GITHUB_PROJECT_NUM 未设置或项目不可访问),则无法继续后续流程
- 澄清性问题需先检查仓库已有信息,避免询问可自行回答的问题
- 该技能本身不执行具体实现,只负责分流和路由
- 依赖 GitHub 项目看板基础设施
- 需要配置相应环境变量(GITHUB_PROJECT_NUM、GH_PROJECT_OWNER)