mcpField
R
ralph

ralph

github.com/kv0906Agent 工作流1843 次安装3 周前更新
代码仓库

关于 ralph

ralph 是一种让 AI 编码 Agent 按 PRD 分轮开发的技能。它可生成项目文件、跟踪故事进度,并通过迭代上限和检查结果控制执行。

主要功能

  1. 01生成循环、PRD 和进度文件
  2. 02交互式创建自定义 PRD
  3. 03通过命令运行编码循环
  4. 04跟踪故事和迭代进度
  5. 05设置迭代上限并要求检查通过

适用场景

  1. 01搭建迭代式编码项目
  2. 02将功能计划拆分为可测试故事
  3. 03让 Agent 按优先级逐项开发
  4. 04跟踪 PRD 完成进度

安装

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

$npx skills add https://github.com/kv0906/cc-skills --skill ralph

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
templates/
prd.json
progress.txt
ralph-loop.sh
README-RALPH.md

详细介绍

Ralph Wiggum 循环技能

一种自主 AI 编码模式,让 Agent 在每次迭代中使用干净的上下文运行,开发由 PRD 驱动的功能,同时保持 CI 通过。

命令

命令操作
/ralph显示帮助菜单
/ralph setup创建 Ralph 基础文件
/ralph init交互式构建自定义 PRD
/ralph run执行自主循环

/ralph setup

在当前目录中创建所有 Ralph 文件。

步骤:

  1. 从此技能的 templates/ 文件夹读取并复制模板:

  2. 将脚本设为可执行:chmod +x ralph-loop.sh

  3. 检测项目上下文并进行自定义:

    • 检查是否存在 package.json → 确定包管理器(pnpm/npm/yarn)
    • 检查是否存在 tsconfig.json → 确认是否为 TypeScript 项目
    • 相应地更新 ralph-loop.sh 中的测试命令
  4. 显示完成消息和后续步骤


/ralph init

引导用户通过交互方式创建自定义 PRD。

要询问的问题:

  1. 项目名称?
  2. 想要构建哪些功能?(收集 3-5 条用户故事)
  3. 对于每条故事:
    • 标题?
    • 描述?
    • 验收标准?(3-5 条具体、可测试的标准)

输出: 根据用户输入生成 prd.json。如果其他 Ralph 文件不存在,则询问是否创建。


/ralph run

执行 Ralph 循环。

运行前检查:

  1. 确认 ralph-loop.sh 存在
  2. 确认 prd.json 存在
  3. 显示摘要:
    • 用户故事总数
    • 未完成的故事(其中 passes: false)
    • 已配置的最大迭代次数
  4. 请求确认
  5. 执行:./ralph-loop.sh

/ralph(无参数)

显示帮助菜单:

Ralph Wiggum Loop - Autonomous AI Coding

Commands:
  /ralph setup  - Create Ralph infrastructure in this directory
  /ralph init   - Create a new PRD from scratch
  /ralph run    - Run the Ralph loop

What would you like to do?

核心原则

  1. 每次迭代重新开始 - 使用全新的上下文,不带任何负担
  2. 一次处理一个功能 - 防止范围蔓延
  3. CI 必须保持通过 - 每次提交都要通过测试和类型检查
  4. 跟踪进度 - 每次迭代都追加内容到 progress.txt
  5. 明确的停止条件 - 所有故事通过后输出 <promise>COMPLETE</promise>
  6. 安全限制 - 设置最大迭代次数,防止无限循环

PRD 质量检查清单

好的用户故事应当:

  • ✅ 具体且范围明确(可在一次迭代中完成)
  • ✅ 验收标准清晰(可测试、无歧义)
  • ✅ 优先级恰当(1 = 最高)
  • ✅ 初始值为 "passes": false

不好的用户故事包括:

  • ❌ 过于模糊(“构建 UI”)
  • ❌ 规模过大(涉及多个系统)
  • ❌ 标准不明确(“让它更好看”)

评论

支持 Markdown