SuperAPI AI 工具集

ralph-tui-create-json

编程与开发

查看项目

更新于 10-15 12:48

技能介绍

用途

该技能把 PRD(产品需求文档)转换为 ralph-tui 自主执行所需的 prd.json 格式。输入可以是 Markdown 文件或文本形式的 PRD,输出是符合 ralph-tui 要求、可被 ralph-tui run --prd <path> 加载的任务 JSON。此技能随 ralph-tui 的 JSON 追踪器插件打包;后续的追踪器插件(如 Linear、GitHub Issues 等)会各自打包自己的任务创建技能。

主要能力

  • 从 PRD 的 “Quality Gates” 章节提取质量门禁,并可区分适用于所有故事的通用门禁,以及仅适用于 UI 故事的 UI 门禁。
  • 解析 PRD 中的用户故事,将每个用户故事转换为一条 JSON 记录。
  • 把质量门禁追加到每个故事的验收标准末尾。
  • 通过 dependsOn 数组设置故事之间的依赖关系。
  • 按固定的转换规则生成输出:故事 ID 顺序编号(US-001、US-002 等);priority 依据依赖顺序设定(1 为最高);所有故事初始为 passes: false、notes 为空;branchName 由功能名派生,采用 kebab-case 并加 ralph/ 前缀;验收标准为故事自身标准加质量门禁;UI 故事额外追加 UI 专属门禁(浏览器验证)。

输出格式

输出的 prd.json 结构包含 project、branchName、description 和 userStories 四个字段;每个 userStory 含 id、title、description、acceptanceCriteria、priority、passes、notes、dependsOn。资料给出了完整示例,包括从输入 PRD(含“Task Priority System”示例)到对应输出 prd.json 的转换结果。

使用方式

  1. 先提取质量门禁:在 PRD 中查找 “Quality Gates” 章节,提取通用门禁与 UI 门禁。若 PRD 没有该章节,则询问用户应通过哪些命令,或使用类似 npm run typecheck 的合理默认值。
  2. 按转换规则生成 prd.json。默认输出位置为 ./tasks/prd.json(与 PRD markdown 文件放在一起),也可指定其他路径。
  3. 运行:ralph-tui run --prd ./tasks/prd.json
  4. ralph-tui 的后续行为:加载 prd.json 中的故事;选择优先级最高、passes 为 false 且无阻塞依赖的故事;生成包含故事详情与验收标准的提示词;运行智能体实现该故事;完成后标记 passes: true;重复直到所有故事通过。

适用场景

适合把需求文档拆解为可由智能体逐轮执行的原子任务的开发流程,尤其是与 ralph-tui 配合的自主执行场景。资料强调故事粒度原则:每个故事必须能在一次 ralph-tui 迭代(约一个智能体上下文窗口)内完成,因为 ralph-tui 每轮会启动全新的、没有先前记忆的智能体实例。合适的故事示例包括新增数据库列与迁移、在已有页面增加 UI 组件、为服务端操作更新逻辑、为列表增加筛选下拉框;过大的故事(如“构建整个仪表盘”“添加身份验证”“重构 API”)需要进一步拆分。判断标准:若无法用 2-3 句话描述该改动,就说明它太大了。

依赖与验收标准

使用 dependsOn 指定必须先完成的故事。ralph-tui 会将依赖未完成的故事显示为 “blocked”,在依赖未完成前不选择该故事执行,并在处理该故事时在提示词中包含 “Prerequisites: US-001”。推荐的依赖顺序为:schema/数据库变更(无依赖)→ 后端逻辑(依赖 schema)→ UI 组件(依赖后端)→ 集成/打磨(依赖 UI)。

验收标准应同时包含来自 PRD 的故事专属标准,以及追加在末尾的质量门禁。可验证的标准示例:“Add status column to tasks table with default 'open'”“Filter dropdown has options: All, Open, Closed”“Clicking delete shows confirmation dialog”。应避免模糊标准,如 “Works correctly”“User can do X easily”“Good UX”“Handles edge cases”。

限制

资料未提供该技能的定价、平台支持范围、安装命令或性能数据,这些信息暂未提供。转换规则要求:先提取质量门禁;每个用户故事对应一条 JSON 记录;ID 顺序编号;priority 按依赖顺序;所有故事 passes: false 且 notes 为空;branchName 采用 kebab-case 并加 ralph/ 前缀;验收标准追加质量门禁;UI 故事追加浏览器验证门禁。保存前的检查清单包括:已提取质量门禁(缺失时询问用户)、每个故事可在一次迭代内完成、故事按依赖排序(schema → 后端 → UI)、dependsOn 设置正确、质量门禁已追加到每个故事的验收标准、UI 故事包含浏览器验证(若 Quality Gates 中指定)、验收标准可验证、无循环依赖。