关于 ralph-json-create-issues
此 skill 将产品需求文档或计划转换为 Ralph PRD JSON 文件,并按迭代拆分故事、处理依赖及检查验收标准,适用于使用 Ralph 的团队。
主要功能
- 01在指定目录查找计划和 PRD
- 02将工作拆分为单次迭代故事
- 03按依赖关系排列故事
- 04检测跨 PRD 依赖
- 05检查验收标准是否明确
适用场景
- 01将已批准的计划转换为 Ralph JSON
- 02把大型功能拆分为较小故事
- 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。
输入
按以下顺序检查这些位置:
.claude/plans/— 计划模式保存已批准计划的位置。主要来源。plans/— 项目级计划目录。prds/— 并非由计划模式生成的独立 PRD。
如果多个位置都存在文件,列出所有文件并询问要转换哪个。如果只找到一个文件,直接使用。如果所有位置都没有找到文件,请用户提供 PRD/计划文件的路径。
转换规则
用户故事的规模(关键)
每个用户故事必须在一次 Ralph 迭代(一个上下文窗口)内完成。
规模合适:
- 添加一个数据库列
- 创建一个 UI 组件
- 添加一个 API 端点
- 添加表单验证
- 更新一个服务器操作
规模过大(必须拆分):
❌ "Build entire auth system"
✅ "Add login form"
✅ "Add email validation"
✅ "Add auth server action"
依赖排序
用户故事按优先级顺序依次执行:
- 数据库/架构变更
- 后端逻辑
- API 端点
- UI 组件
跨 PRD 依赖(关键)
Ralph 会根据 dependsOn 安排 PRD 的执行顺序。生成 JSON 前:
- 扫描现有 PRD — 读取所有
prds/*.json,了解已有功能 - 检测依赖 — 查找 Markdown PRD 中的引用:
- 显式引用:“参见
elevenlabs-integration.md”、“依赖 morning brief” - 隐式引用:用户故事备注中提及其他功能
- 技术依赖:使用其他 PRD 中定义的表/API
- 显式引用:“参见
- 填充
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": ""
}
]
}
流程
- 扫描现有 PRD — 读取
prds/*.json,了解依赖情况 - 从
.claude/plans/、plans/或prds/读取 PRD/计划 Markdown 文件 - 根据文件名推导功能名称(例如,
auth-flow.md→auth-flow) - 检测依赖 — 检查 Markdown 中是否引用了其他 PRD
- 拆分为规模合适的用户故事,从 US-001 开始
- 按依赖排序(设置优先级)
- 添加明确的验收标准
- 保存至
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