Community研究与数据分析github.com

anombyte93/prd-taskmaster

阶段三:智能模式选择与用户交接。检测已安装的能力,推荐一个执行模式(A/B/C),将任务执行工作流追加到CLAUDE.md,并提供结构化的AskUserQuestion多选项选择器。

prd-taskmaster 是什么?

prd-taskmaster 流水线的阶段三(交接阶段)负责在检测到用户环境中的各项能力后,智能推荐并执行最合适的任务模式。该技能会调用 detect_capabilities() 检测 superpowers、ralph-loop、task-master-ai 等插件,根据检测结果从模式 A(纯计划)、B(TaskMaster 自动执行)、C(计划+循环)中选择一个,并给出推荐理由。同时,它会将标准化的任务执行工作流以幂等方式追加到 CLAUDE.md 文件中,确保用户在任何后续会话中都能遵循正确的操作步骤。该技能支持 Claude Code、Cursor 等主流平台,其核心交互机制是通过 AskUserQuestion 多选项选择器让用户最终确认模式选择,从而完成从计划生成到任务执行的平稳交接。当检测到 atlas-launcher 许可时,模式 D(Atlas Fleet)可被选择并分发并行会话执行。

兼容平台✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/anombyte93/prd-taskmaster/tree/HEAD/skills/handoff

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

阶段三:交接

声明式阶段技能。由 prd-taskmaster 编排器在 current_phase 为 HANDOFF 时调用。用户切勿直接调用。

唯一规则:检测用户拥有什么,推荐一个模式,给用户一个结构化选择,然后分发所选模式。只有在 tier=premium 时模式 D 才可执行;否则为锁定预告。

进入门控

  1. 调用 mcp__plugin_prd_go__check_gate(phase="HANDOFF", evidence={}) 进行诊断。

    check_gate 是一个退出门控:它需要 user_mode_choice 和 plan_file_exists—— 两者均由 HANDOFF 本身产生,即用于推进的证据,而非进入的证据。首次进入时两者都不存在,因此这里预期会得到 gate_passed: false——状态机的合法转换已保证只有合法进入。

    • 首次进入(尚无证据):记录结果并继续执行流程。
    • 重新进入:如果门控报告违规,报告违规并停止——这可以防止重新运行已完成的阶段或从 GENERATE 跳过。
  2. 读取 GENERATE 的输出——.taskmaster/docs/prd.md、.taskmaster/tasks/tasks.json、.taskmaster/reports/task-complexity-report.json。如果缺少任何文件,报告并停止。门控本应捕获此问题,但这是双重保险。

交接检查清单

在运行流程之前,将以下内容复制到你的响应中:

交接检查清单:
- [ ] 检测到能力(层级 + 每个能力的标志)
- [ ] 推荐模式:___(理由:___)
- [ ] 显示摘要(规范位置、任务数、能力)
- [ ] 已将 CLAUDE.md 任务工作流追加(幂等)
- [ ] 已显示 AskUserQuestion 模式选择器(如果钩子被阻止,则使用文本回退)
- [ ] 用户选择已分发(模式 A / B / C,或层级为 premium 时的 D)
- [ ] 可选地发出复盘框架(静默容忍)
- [ ] 交接完成

步骤 1:检测能力

MCP(首选):mcp__plugin_prd_go__detect_capabilities()

CLI 回退:python3 script.py detect-capabilities

返回一个 tier 字段("free" 或 "premium")以及每个能力的标志。 关键信号:

能力启用内容
superpowers 插件模式 A、C(头脑风暴、计划、子代理)
task-master-ai(CLI 或 MCP)模式 B(原生自动执行循环)
ralph-loop 插件模式 C(迭代执行循环)
atlas-launcher MCP(已许可)模式 D — Atlas Fleet(tier=premium)
atlas-loop / atlas-cdd 技能传统模式 D 种子——已被 atlas-launcher 检测取代
研究模型(task-master 或 MCP)每个任务的深度研究
Playwright MCP层级 S 浏览器验证

模式 D(Atlas Fleet)仅在 tier: "premium" 时解锁——即由 detect_atlas_launcher() 检测到已许可的 atlas-launcher MCP 注册。本地 atlas-loop/atlas-cdd 技能不会解锁它。请参阅步骤 2 和下面的模式 D 部分。

步骤 2:推荐一个模式

决策逻辑(第一个匹配获胜):

  • 存在 superpowers + ralph-loop → 模式 C(推荐免费)
  • 仅 superpowers → 模式 A(仅限计划,手动驱动)
  • 仅 task-master-ai → 模式 B(原生自动执行)
  • 回退 → 模式 A

外部工具模式(E–J:Cursor、RooCode、Codex、Gemini、CodeRabbit、Aider) 通过 alternative_modes 字段作为替代方案提供,而非主要推荐。仅当 tier == "premium" 且任务图可并行化(>= 2 个独立的依赖链——检查 fleet-waves 输出:任何波次中 >= 2 个块)时,才推荐模式 D。Premium + 串行图:推荐最佳免费模式并说明原因(“你的任务形成单一依赖链——验证循环是此处的正确工具”);Fleet 仍可选,但非默认。免费层级:模式 D 是锁定的 Atlas Pro 预告,无论安装了哪些本地插件,都不可选择。

模式 A:仅计划(手动)

推荐:仅计划
  superpowers:writing-plans 创建你的实施计划
  计划引用 tasks.json 中的 TaskMaster 任务 ID
  你手动驱动执行

模式 B:TaskMaster 自动执行(模式 B — 仅限 TaskMaster 后端)

推荐:TaskMaster 自动执行
  MCP:  mcp__task-master-ai__next_task -> implement -> set_task_status(id, "done")(模式 B — 仅限 TaskMaster 后端)
  CLI:  task-master next -> implement -> task-master set-status --id N --status done(模式 B — 仅限 TaskMaster 后端)
  原生 TaskMaster 执行循环(无需外部编排器)

模式 C:计划 + Ralph 循环(推荐免费)

推荐:计划 + Ralph 循环
  superpowers:writing-plans → 引用 tasks.json ID 的实施计划
  ralph-loop 包装每个任务:
    next_task → set_task_status("in-progress") → 自信度 < 80% 时进行研究
    → subagent-driven-development → 执行门控(层级 A+ 证据)
    → 事后自信度检查 → 记录到 .claude/verification-log.md
    → set_task_status("done") → TodoWrite → 重复
  完成:疑虑代理在承诺满足之前审查验证日志。

模式 D:Atlas Fleet(在 tier=premium 时可选择;免费时 🔒 锁定预告)

🔒 Atlas Fleet                                          Atlas Pro · $29/月
  跨 Claude、Codex 和 Gemini 的并行多会话执行:
    你的任务图被分割为隔离 git 工作树的依赖波次
    检查器门控合并到一个集成分支,一个最终 PR
    持久收件箱结果收集(已验证,非叙述)
    每个任务一个 CDD 证据卡;最后发出一个 SHIP_CHECK_OK
    离开,回来时看到证明。

  解锁:https://atlas-ai.au/pro   (以上免费模式永久免费)

当 tier == "premium"(检测到已许可的 atlas-launcher):模式 D 是真实可选的模式——分发它将调用 /prd:execute-fleet(波次编排器技能)。显示解锁卡片:

▸ Atlas Fleet                     ★ Pro · 许可证已激活
  <N> 波次 · 基于你的依赖图估算 · 可离开

当 tier == "free":模式 D 是锁定的预告——不可选择,永不执行。如果用户在锁定时选择了它,请回复:

“Atlas Fleet 是 Atlas Pro($29/月)的一部分。在此项目上,它会将你的任务分割为跨隔离工作树的并行波次,带有检查器门控合并和一个最终 PR。请在 https://atlas-ai.au/pro 解锁——你的规范和任务已保存。与此同时,其他所有内容永久免费:请从下面选择一个免费模式。”

然后重新调用模式选择器(AskUserQuestion),并从选项中移除模式 D。

替代模式 E–J(外部 AI 工具)

当检测到这些工具时,detect_capabilities 返回 alternative_modes。用户可以选择它们中的任何一个,而不是模式 A–D。所有这些都是围绕相同 .taskmaster/tasks/tasks.json 的工具无关封装。

模式工具调用方式
ECursor Composercursor --open .taskmaster/tasks/tasks.json,在 Composer 中 @-引用
FRooCodeVS Code 命令面板 → RooCode: Run tasks.json
GCodex CLI`python3 script.py next-task
HGemini CLIgemini --file .taskmaster/tasks/tasks.json implement next(通过 Google 免费)
ICodeRabbit通过 A–H 实施,打开 PR,CodeRabbit 审查每个任务。可与其他模式组合。
JAideraider --read .taskmaster/tasks/tasks.json — 结对编程风格

步骤 3:将任务工作流追加到 CLAUDE.md

使用确定性子命令——不要进行原始读取+编辑。此路径是幂等的,在修改现有文件时会创建带时间戳的备份,并使用 HTML 注释哨兵确保重新运行时无操作。

  1. 工作流内容每次运行相同——将其写入临时文件:

    ## 任务执行工作流(prd-taskmaster)
    
    实施任务时,首选后端操作:
    1. `python3 script.py next-task` — 获取下一个就绪任务
    2. `python3 script.py set-status --id <id> --status in-progress` — 注意连字符;下划线会被拒绝
    3. 实施任务(遵循链接到此任务的计划步骤)
    4. `python3 script.py set-status --id <id> --status done` — 标记完成
    5. 使用进度更新 TodoWrite
    6. 从步骤 1 重复
    
    有效状态:`pending`、`in-progress`、`done`、`review`、`blocked`、`deferred`、`cancelled`。
    
    ### 进度跟踪
    - 在每个任务之前和之后更新 TodoWrite
    - 未更新 TodoWrite 则无法进行下一个任务
    - TodoWrite = 用户可见性。TaskMaster = 真相来源。
    
  2. 运行追加命令。无需计划模式预览——子命令本身是幂等的(HTML 注释哨兵控制写入),因此信息通过步骤 4 摘要和步骤 5 的 AskUserQuestion 选项在分发之前呈现给用户:

    python3 $SKILL_DIR/script.py append-workflow \
      --target ./CLAUDE.md \
      --content-file /tmp/pdtm-workflow-section.md
    

    JSON 响应报告以下之一:

    • action: "created" — 之前没有 CLAUDE.md,创建了包含标记的新文件
    • action: "skipped"(原因:markers_present)— 已连接,无操作
    • action: "appended" — 现有 CLAUDE.md 除了追加的标记块外未被修改;backup_path 指向 CLAUDE.md.prd-taskmaster-backup-<ts>

    如果用户在写入前想要预览,将计划内容展示在 AskUserQuestion 选项中,或作为步骤 4 摘要中的信息段落——描述将要写入的内容,无需调用任何计划对话框工具。

步骤 4:显示摘要

渲染交接面板并打印:MCP render_status(phase="HANDOFF") → 打印 rendered;CLI python3 script.py status --phase HANDOFF。(回退——在模式选择器前发出一个紧凑块,以便用户拥有完整上下文:)

规范已生成:.taskmaster/docs/prd.md
验证:<评级>(<分数>/<最大值>)
任务:<计数> 个任务已解析,含依赖关系(参见 .taskmaster/tasks/tasks.json)
复杂度:已通过 TaskMaster 分析(.taskmaster/reports/task-complexity-report.json)
研究:<已展开|已跳过>

能力:
  [✓] TaskMaster(MCP|CLI)
  [✓|○] Playwright(浏览器验证)
  [✓|○] 研究提供者
  [✓|○] Ralph-loop 插件
  [✓|○] Atlas Fleet(premium:可选择 · free:已锁定)

步骤 5:强制使用 AskUserQuestion 进行模式选择

HANDOFF 是用户自主选择的时刻。文本推荐是可跳过的;工具调用则不是。你必须在此步骤中调用 AskUserQuestion。这是严格执行的——纯文本回退是错误,而非捷径。

AskUserQuestion 给用户一个明确、结构化、机器可读的选择。这是持久的交接记录。用户的选择被程序性地记录,下游步骤直接基于它进行分发——无需解析自然语言确认,无需歧义。

顺序

  1. 发出交接摘要,包括:

    • PRD 路径 + 验证评级
    • 任务数 + 复杂度细分
    • 推荐模式(A/B/C)+ 一行原因
    • 可用替代模式(检测到时的 E–J,折叠在“使用其他工具…”下)
    • 模式 D 🔒 Atlas Fleet 预告,包含 Atlas Pro 价格和 /pro URL
    • 针对推荐模式的“下一步”描述(例如对于模式 B:“运行 task-master next”并附上第一个就绪任务 ID(模式 B — 仅限 TaskMaster 后端))
  2. 调用 AskUserQuestion,使用一个多选项问题列出每个可用的执行模式。使用面向用户的名称(括号内的内部 ID 仅供此技能使用——永远不会显示给用户):

    • 计划与驱动(模式 A)— 获取计划,自行实施
    • 自动执行(模式 B)— TaskMaster 的原生循环,较轻的验证
    • 验证循环(模式 C)— 证据门控的单会话循环(存在 superpowers + 循环运行器时推荐)
    • 🔒 Atlas Fleet(模式 D)— Atlas Pro $29/月,并行多会话
    • “使用其他工具…”— 展开适用的替代方案 E–J
    • “在决定前给我更多详情”— 循环回步骤 4 摘要

    将推荐模式标记为默认(仅当 tier=premium 且图可并行化时,Atlas Fleet 才可为默认)。在锁定(免费层级)时选择 Atlas Fleet 会返回升级响应(参见步骤 2 的模式 D 块),并仅使用免费模式(以及任何适用的替代方案)重新提示。

  3. 分发所选模式:

    • 模式 A 交接:使用规范路径 .taskmaster/docs/prd.md 调用 superpowers:writing-plans

    • 模式 B 交接(模式 B — 仅限 TaskMaster 后端):显示 task-master next 命令 + 来自 .taskmaster/tasks/tasks.json 的第一个就绪任务 ID

    • 模式 C 交接:写入 .claude/atlas-loop-prompt.md,描述任务执行契约,然后使用条件调用 /goal:

      “SHIP_CHECK_OK 已由 .atlas-ai/ship-check.py 发出,并且 .taskmaster/tasks/tasks.json 中的所有任务都显示 status=done,并且此会话中已调用 /sync”

      /goal 会话持续进行,直到 Haiku 评估器验证该条件。每次迭代运行执行任务的 13 步循环,并在第 13 步后检查条件。/sync 必须在发出 SHIP_CHECK_OK 之前作为最后一步执行(根据执行任务终止规则)。(已于 2026-06-04 从 /ralph-loop:ralph-loop 迁移——Claude Code 的内置 /goal 评估器从结构上解决了 2026-06-03 审计中发现的控制器不同角色的三重验证腐败问题。)

    • 模式 D 交接(tier=premium):调用 /prd:execute-fleet——它拥有波次循环、工作者分发、验证、合并和 SHIP_CHECK_OK 终止。(免费层级:仅升级响应,重新提示)

钩子被阻止时的回退(优雅降级)

如果 PreToolUse:AskUserQuestion 被钩子阻止(自动化 / 编排器 / fleet 会话),回退到保留相同语义的文本选项表——标签、描述、模式 D 锁定预告和重新提示逻辑。

相关技能