
ralph-loop-workflow
Run a coding agent in an autonomous loop via a /ralph command, gated by a preflight check that every CLI is installed, linked, and authenticated. Use when driving long-running autonomous development from a wide, outcome-focused prompt.
- Installs
- 633
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/andrelandgraf/fullstackrecipes --skill ralph-loop-workflow- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads ralph-loop-workflow automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Ralph Loop Workflow
Run a coding agent in an autonomous loop that breaks a wide prompt into tasks and builds, tests, and ships each one.
Prerequisites
Complete these setup recipes first:
- AI Coding Agent Configuration
- Code Health, Linting & Formatting
- Testing
The Loop
Ralph maximizes how long the agent runs without human intervention. The goal is not a file format — it is keeping the agent able to plan, build, and verify on its own. The durable record of intent lives in the artifacts the agent produces: tests (executable acceptance criteria), user-facing docs, and a changelog for published libraries.
input prompt
-> preflight check (CLIs installed, linked, authenticated)
-> agent harness managed todo list (first-principles task breakdown)
-> code + user-facing docs + changelog + tests
-> verification (typecheck, fmt, fallow, browser, tests, deploy, prod check)
-> iterate
Give the agent a wide, outcome-focused prompt and let its own harness manage the todo list — there is no separate user-story file to author or check off.
If no prompt is given, STOP and ask the user: "What outcome do you want the Ralph loop to drive toward? Give me a wide, outcome-focused prompt and I'll break it into tasks." Wait for their answer before continuing.
Run the preflight check once. If anything is missing or unauthenticated, report the exact fix commands and STOP — the loop does not start until everything is green. Then each iteration:
- Read the current state of the codebase and any prior progress.
- Break remaining work into tasks with first-principles thinking.
- Pick the highest-priority task.
- Implement it through the dev workflow: write tests, build, generate and migrate DB schema if needed, format.
- Verify: typecheck, build, tests, and browser interaction at
http://localhost:3000. - Debug and fix until verification passes.
- Update user-facing docs and the changelog for any published artifacts.
- Commit with a descriptive message and move to the next task.
Keep the dev server running (bun run dev). The agent works against a test database, so it can migrate freely. The loop ends when no tasks remain and all verification passes.
What the Agent Needs
Nothing Ralph-specific to install — the loop depends on three things being in place:
- Context — how to work in this codebase (patterns, dev workflow, conventions), via
AGENTS.md, configured MCP servers, and installed skills. - Tools — to provision resources, run migrations, pull logs, and inspect deployments, via the project's MCP servers and CLIs. Give the agent the same tools you use.
- Verification — what extends autonomous runway. The agent must check its own work locally and in production:
- Code health —
bun run typecheck,bun run fmt,bun run fallow - Tests —
bun run testagainst an isolated database branch (Playwright, integration, unit) - Browser —
agent-browserto interact with the running app like a user - Logs & deploys — pull deployment and runtime logs to confirm changes shipped and work in production
- Code health —
When verification is trustworthy and self-serve, the agent catches and fixes its own regressions without a human in the loop.
Preflight Check
Confirm the agent has everything before the first iteration, rather than discovering a missing credential halfway through. Don't assume a fixed list — infer the active infrastructure from the codebase, then check each tool:
- Discover the infra in use. Read the MCP config (
.cursor/mcp.json), thebetter-envconfigSchemadeclarations, andpackage.jsonscripts. Each configured service implies a CLI or token: Neon (DATABASE_URL), Vercel, Resend, Sentry, GitHub, Better Auth, etc. - For each tool, verify install + link + auth with a non-destructive command.
- Report a checklist with a fix command for every red item.
Example checks (run only the ones the codebase uses):
agent-browser -v # browser automation
vercel --version && vercel whoami && vercel project ls # installed + linked + auth
neonctl me # Neon CLI authenticated
sentry-cli info # token present and valid
gh auth status # GitHub CLI for PRs, logs
bun run env:validate # env vars match the schema
Stop if anything is red:
Preflight check
[ok] agent-browser v1.4.2
[ok] vercel linked to acme/app, logged in as andre
[fail] neon not authenticated
[fail] DATABASE_URL not set in .env.local
[ok] gh authenticated
2 issues block the loop. Run these, then re-run /ralph:
neonctl auth # opens browser for OAuth
bun run env:pull # pull DATABASE_URL from Vercel
For interactive OAuth (Vercel, Neon, GitHub), give the user the exact command to run themselves — don't attempt a browser login on their behalf. For anything fixable non-interactively (pulling env vars, setting a token), offer to run it. Start the loop only once every item is green.
Steering the Loop
Keep the prompt wide and outcome-focused, then let the agent decompose it. Add direction by sharpening inputs, not micromanaging steps:
- Sharper prompt — state the outcome and constraints, not the steps.
- Stronger tests — failing tests are the most reliable signal that more work remains.
- Better tools — when the agent keeps getting stuck, it usually lacks a tool (an MCP server, CLI, or log access), not instructions.
Background & References
- Ralph - Geoffrey Huntley - Original concept and implementation
- Effective Harnesses for Long-Running Agents - Anthropic - Engineering patterns for agent loops
- Matt Pocock on Ralph - Video walkthrough
FAQ
What does the ralph-loop-workflow skill do?
Run a coding agent in an autonomous loop via a /ralph command, gated by a preflight check that every CLI is installed, linked, and authenticated. Use when driving long-running autonomous development from a wide, outcome-focused prompt.
How do I install ralph-loop-workflow?
Run npx skills add https://github.com/andrelandgraf/fullstackrecipes --skill ralph-loop-workflow in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ralph-loop-workflow/ (personal) or .claude/skills/ralph-loop-workflow/ (project).
Which AI agents can use ralph-loop-workflow?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is ralph-loop-workflow safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains ralph-loop-workflow?
It is published by andrelandgraf in andrelandgraf/fullstackrecipes. It has 633 recorded installs.
More from andrelandgraf/fullstackrecipes
ralph-loop
andrelandgraf/fullstackrecipes
Complete setup for automated agent-driven development. Define features as user stories with testable acceptance criteria, then run AI agents in a loop until all stories pass.
observability-monitoring
andrelandgraf/fullstackrecipes
Open the skill to read its SKILL.md instructions.
stripe-subscriptions
andrelandgraf/fullstackrecipes
Open the skill to read its SKILL.md instructions.
og-image-generation
andrelandgraf/fullstackrecipes
Open the skill to read its SKILL.md instructions.
shiki-code-blocks
andrelandgraf/fullstackrecipes
Open the skill to read its SKILL.md instructions.
use-fullstackrecipes
andrelandgraf/fullstackrecipes
Open the skill to read its SKILL.md instructions.
Popular productivity & automation skills
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
lark-doc
open.feishu.cn
飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。
lark-base
open.feishu.cn
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。
lark-drive
open.feishu.cn
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-shared
open.feishu.cn
Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.
lark-im
open.feishu.cn
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。