SuperAPI AI 工具集

prd-to-kandev-tasks

智能体与模型

查看项目

更新于 10-15 08:11

技能介绍

用途

当一份 PRD、规格说明、路线图条目或功能简介需要转化为可执行的 Kandev 任务时使用本技能。目标是创建一张任务图,使被指派的智能体无需了解隐藏上下文即可执行。

前置条件

  • 已获得包含所需产品工作的 PRD 文本、文件路径或任务描述。
  • 能在创建任务前检查当前项目文件夹。
  • 具备 Kandev MCP 工具或 $KANDEV_CLI。优先使用 MCP,因为它支持丰富的任务描述、仓库、工作流 ID、阻塞项和自动启动控制。

工作流程

  1. 从文件夹中发现项目。
  2. 从 PRD 中提取需求与风险。
  3. 在创建任何内容前先草拟任务图。
  4. 依据质量门槛校验每个任务简介。
  5. 按规则使用 MCP 或 CLI 提交。
  6. 留下简洁的交接评论或计划摘要,包含已创建的任务 ID 与未决问题。

第 1 步:发现项目

检查足够的本地证据,使任务简介自包含:

  • 先阅读项目说明:AGENTS.md、CLAUDE.md、.agents/、.opencode/ 或等价文件。
  • 阅读高信号文档:README*、docs/specs/INDEX.md、附近的规格说明、ADR 和现有计划。
  • 从清单文件识别技术栈与命令:package.json、pnpm-workspace.yaml、go.mod、Cargo.toml、pyproject.toml、Makefile、mise.toml、CI 文件。
  • 用 git status --short 检查当前仓库状态;不要规划会覆盖无关本地更改的任务。
  • 在可用时使用 Kandev 发现能力:列出工作区、工作流、工作流步骤、仓库、智能体、执行器配置和相关任务。

当你能回答以下问题时停止发现:正在更改哪个仓库、使用什么技术栈、用什么测试验证、适用哪些约定、每个切片应由哪些智能体负责。

第 2 步:提取 PRD

创建简洁的工作摘要,包含:

  • 目标与用户可见结果。
  • 非目标与明确排除项。
  • 用户、角色、权限和受影响的界面。
  • 验收标准与成功指标。
  • 技术约束:API、模式、迁移、后台作业、安全、性能、兼容性、发布。
  • 依赖与顺序约束。
  • 真正阻塞执行的未决问题。

仅当答案影响外部接口、持久化数据、迁移、破坏性操作、法律/安全策略或不可逆产品决策时,最多提出一个打包的澄清问题。对于常规实现选择,选择合理默认值并记录在相关任务中。

第 3 步:构建任务图

不要创建扁平清单。创建具有明确关系的任务:

  • 仅当无法从现有证据界定实现范围时,才创建发现或探针任务。
  • 实现任务应适合一个连贯的智能体会话和一次可审查的差异。
  • 当回滚或顺序重要时,将迁移或数据任务与 UI/API 工作分开。
  • 当测试、QA、审查、文档和发布是真实交付物时,为其创建任务。
  • 仅对真正的阻塞项创建人工决策任务。
  • 对不得并行运行的工作,通过 blocked_by 或顺序子任务排序建立依赖边。

优先选择更少、更强的任务,而非许多模糊的微任务。当两个任务需要不同仓库、不同负责人、不同验证命令,或一个可独立运行而另一个需等待时,进行拆分。

第 4 步:编写每个任务简介

使用 references/task-blueprint.md 中的必需简介格式。每个任务描述必须包含:

  • 被指派智能体否则不会知道的上下文。
  • 目标与具体交付物。
  • 可能要检查的文件或代码区域。
  • 约束与已做出的决策。
  • 分步执行指导。
  • 验收标准。
  • 验证命令。
  • 依赖、阻塞项和预期交接输出。

在 MCP 创建的任务中,描述就是子智能体的启动提示。绝不要依赖你的私有推理、当前聊天历史或仅有标题的任务。

第 5 步:创建前校验

若任何门槛失败,拒绝并修订任务图:

  • 没有任务缺少验收标准。
  • 没有自动启动的任务具有空泛或通用描述。
  • 没有任务只说“实现此 PRD”“修复 bug”“添加测试”或“更新文档”。
  • 没有任务仅为减少任务数量而跨越无关交付物。
  • 当并行执行可能冲突时,没有依赖是隐式的。
  • 没有任务需要你尚未解析或有意省略的仓库、工作流、智能体或执行器 ID。
  • 没有任务要求智能体做出你本可事先一次性询问的人工/产品决策。
  • 没有任务依赖本地未提交更改,除非简介明确标识该风险。

使用 MCP 提交

当 create_task_kandev 可用时使用 MCP。

  • 在任务模式下,使用 parent_id: "self" 分解当前任务。
  • 对于外部顶层任务创建,省略 parent_id 并提供 repository_id、repository_url 或 local_path。
  • 在创建任务前解析模糊的 workspace_id、workflow_id、workflow_step_id、仓库、智能体配置和执行器配置。
  • 将完整任务简介作为 description 传入。
  • 对积压/暂存任务或需要先人工批准时使用 start_agent: false。
  • 创建具有已知阻塞项的任务时,使用 blocked_by 建立依赖边。
  • 对有序的兄弟阶段使用 default_child_ordering: "sequential",仅当任务可安全并发运行时使用 "parallel"。
  • 对跨仓库工作使用显式 repository 或 branch 字段;否则让子任务继承父仓库上下文。

常见 MCP 创建结构:

{ "parent_id": "self", "title": "Implement account invite API", "description": "<full task brief from references/task-blueprint.md>", "repository_id": "<repo-id-if-needed>", "workflow_id": "<workflow-id-if-needed>", "workflow_step_id": "<start-step-if-needed>", "agent_profile_id": "<worker-or-specialist-profile-if-needed>", "executor_profile_id": "<executor-profile-if-needed>", "start_agent": true, "blocked_by": ["<blocking-task-id>"], "default_child_ordering": "sequential" }

使用 CLI 提交

当作为 Kandev 办公智能体运行且 MCP 变更工具不可用时使用 CLI。

$KANDEV_CLI kandev agents list $KANDEV_CLI kandev task create --title "Implement account invite API"
--parent "$KANDEV_TASK_ID" --assignee "<agent-id>" --blocked-by "<task-id>"

CLI 注意事项:当前单数 task create 命令支持 title、parent、assignee、priority 和 blocked-by。如果你的 CLI 不支持丰富描述,不要创建自动启动的仅有标题的实现工作。优先使用 MCP、原生办公运行时操作,或创建规划/评论交接并明确说明丰富任务创建被 CLI 界面阻塞。

始终在状态变更前发布进度:

$KANDEV_CLI kandev comment add --body "Created PRD task graph: <task IDs and sequencing>. Remaining question: <none or one blocker>."

阻塞项策略

  • 前置发现以避免委托不确定性。
  • 自行做出常规技术决策并写入任务简介。
  • 仅在需要时,将产品/API/模式问题打包为一个人类决策任务。
  • 如果任务被另一任务阻塞,在智能体启动前用 blocked_by 或顺序子任务排序编码。
  • 如果发现提交界面无法承载足够上下文,停止并将此报告为阻塞项,而不是启动模糊任务。

示例

参见 references/examples.md,包含:

  • 顺利路径的 PRD 分解。
  • 带人工决策任务的受控排序。
  • 模糊任务反模式与修正后的任务简介。

最终输出

报告:

  • 已创建的任务图,包括任务 ID、负责人和依赖。
  • 使用的提交方法:MCP、CLI 或阻塞回退。
  • 已创建的验证或审查任务。
  • 任何未决问题、为何阻塞以及谁负责回答。