mcpField
R
ralph-json-create-issues

ralph-json-create-issues

github.com/richtaborAgent 工作流7348 次安装29 周前更新
代码仓库

关于 ralph-json-create-issues

此 skill 将产品需求文档或计划转换为 Ralph PRD JSON 文件,并按迭代拆分故事、处理依赖及检查验收标准,适用于使用 Ralph 的团队。

主要功能

  1. 01在指定目录查找计划和 PRD
  2. 02将工作拆分为单次迭代故事
  3. 03按依赖关系排列故事
  4. 04检测跨 PRD 依赖
  5. 05检查验收标准是否明确

适用场景

  1. 01将已批准的计划转换为 Ralph JSON
  2. 02把大型功能拆分为较小故事
  3. 03安排依赖现有 PRD 的工作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/richtabor/agent-skills --skill ralph-json-create-issues

安装后在 Claude Code 中输入/ralph-json-create-issues确认已加载。

详细介绍

创建 PRD JSON

将产品需求文档或计划文件转换为 Ralph 使用的 JSON。

输入

按以下顺序检查这些位置:

  1. .claude/plans/ — 计划模式保存已批准计划的位置。主要来源。
  2. plans/ — 项目级计划目录。
  3. prds/ — 并非由计划模式生成的独立 PRD。

如果多个位置都存在文件,列出所有文件并询问要转换哪个。如果只找到一个文件,直接使用。如果所有位置都没有找到文件,请用户提供 PRD/计划文件的路径。

转换规则

用户故事的规模(关键)

每个用户故事必须在一次 Ralph 迭代(一个上下文窗口)内完成。

规模合适:

  • 添加一个数据库列
  • 创建一个 UI 组件
  • 添加一个 API 端点
  • 添加表单验证
  • 更新一个服务器操作

规模过大(必须拆分):

❌ "Build entire auth system"
✅ "Add login form"
✅ "Add email validation"
✅ "Add auth server action"
依赖排序

用户故事按优先级顺序依次执行:

  1. 数据库/架构变更
  2. 后端逻辑
  3. API 端点
  4. UI 组件
跨 PRD 依赖(关键)

Ralph 会根据 dependsOn 安排 PRD 的执行顺序。生成 JSON 前:

  1. 扫描现有 PRD — 读取所有 prds/*.json,了解已有功能
  2. 检测依赖 — 查找 Markdown PRD 中的引用:
    • 显式引用:“参见 elevenlabs-integration.md”、“依赖 morning brief”
    • 隐式引用:用户故事备注中提及其他功能
    • 技术依赖:使用其他 PRD 中定义的表/API
  3. 填充 dependsOn — 使用 PRD 名称组成的数组(不带 .json 扩展名)

依赖检测示例:

# In evening-ritual.md:
"See `elevenlabs-integration.md` for shared infrastructure"
→ dependsOn: ["elevenlabs-integration"]

"Depends on morning brief feature for regeneration"
→ dependsOn: ["elevenlabs-integration", "morning-brief"]

如果未检测到依赖:

"dependsOn": []
验收标准(关键)

必须明确且可验证:

良好示例:

- Email/password fields present
- Validates email format
- Shows error on invalid input
- Typecheck passes
- Verify at localhost:3000/login

不佳示例:

- Users can log in (vague)
- Works correctly (vague)
- Good UX (subjective)

每个用户故事都必须包含:

  • “Typecheck passes”
  • “Lint passes”

UI 用户故事必须包含:

  • “Verify at localhost:3000/[path]”

输出格式

生成 prds/[feature-name].json:

{
  "projectName": "Feature Name",
  "branchName": "ralph/feature-name",
  "description": "Brief description",
  "dependsOn": ["other-feature", "another-feature"],
  "status": "pending",
  "completedAt": null,
  "userStories": [
    {
      "id": "US-001",
      "title": "Add login form",
      "description": "As a user, I want to see a login form so I can authenticate",
      "acceptanceCriteria": [
        "Email/password fields present",
        "Form submits on enter",
        "Typecheck passes",
        "Lint passes",
        "Verify at localhost:3000/login"
      ],
      "priority": 1,
      "passes": false,
      "notes": ""
    }
  ]
}

流程

  1. 扫描现有 PRD — 读取 prds/*.json,了解依赖情况
  2. 从 .claude/plans/、plans/ 或 prds/ 读取 PRD/计划 Markdown 文件
  3. 根据文件名推导功能名称(例如,auth-flow.md → auth-flow)
  4. 检测依赖 — 检查 Markdown 中是否引用了其他 PRD
  5. 拆分为规模合适的用户故事,从 US-001 开始
  6. 按依赖排序(设置优先级)
  7. 添加明确的验收标准
  8. 保存至 prds/[feature-name].json

保存前检查清单

保存前,确认:

  • 每个用户故事都能在一次迭代内完成
  • 用户故事按依赖排序
  • 所有标准都包含 “Typecheck passes”
  • UI 用户故事包含 “Verify at localhost:3000/...”
  • 没有含糊的标准(“有效”、“良好”、“正确”)
  • 用户故事 ID 连续递增(US-001、US-002……)
  • 已填充 dependsOn(无依赖时使用空数组)
  • 依赖项引用现有 PRD 名称(不带扩展名)

转换后

Created prds/[feature-name].json with [N] stories
Dependencies: [list or "none"]
Branch: ralph/[feature-name]

Run: /ralph-json-start-loop

评论

支持 Markdown