From ralph
Install Matt Pocock / Geoffrey Huntley's Ralph Wiggum agentic loop into a project. Drops ralph/{once,afk,notify}.sh, PROMPT.md, AGENT.md, fix_plan.md, progress.md, specs/README.md, plus .gitignore entries and package.json scripts (ralph, ralph:once). Use this skill whenever the user asks to install/set-up/add Ralph, the ralph wiggum loop, or an AFK agentic loop, or when they mention wanting an autonomous coding loop with claude/codex CLI bypassing permissions, or porting a Ralph setup to another repo.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ralph:install-ralphThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Install the Ralph Wiggum agentic loop (claude or codex) into the user's
Install the Ralph Wiggum agentic loop (claude or codex) into the user's current project.
The plugin already has a /ralph:install slash command that does the work.
The right behavior is usually to invoke that command directly:
Tell the user: "Running /ralph:install into the current project."
Then run: bash "${CLAUDE_PLUGIN_ROOT}/scripts/install.sh"
${CLAUDE_PLUGIN_ROOT} resolves to this plugin's root when running inside
Claude Code.
ralph/ and specs/ directories.ralph/once.sh, ralph/afk.sh, ralph/notify.sh,
ralph/README.md. chmod +x the scripts.PROMPT.md, AGENT.md, fix_plan.md, progress.md,
specs/README.md (with TODO markers the user fills in).ralph/.state/ and tmp/ to .gitignore (creates it if missing)."ralph": "ralph/afk.sh" and "ralph:once": "ralph/once.sh" to
package.json scripts (creates a minimal one if missing).--branch NAME — branch Ralph commits on. Default ralph/work.--base NAME — base branch the draft PR targets. Default main.--force — overwrite existing files. By default, existing files are
skipped (the install is idempotent).Tell the user the four things they need to fill in:
AGENT.md — replace the TODO blocks with their build/test/lint commands.fix_plan.md — replace the example items with real work (or GitHub
issue references like #7).specs/*.md — write 1-4 short specs describing the end state.PROMPT.md — usually fine as-is; tune if their workflow differs.Then suggest: bun run ralph:once to kick the tires (HITL), then
bun run ralph to go AFK.
Ralph runs the agent CLI with permission bypasses, by design — no Docker
sandbox, no acceptEdits. The user has explicitly opted into this.
claude -p "$(cat PROMPT.md)" --dangerously-skip-permissionscodex exec --dangerously-bypass-approvals-and-sandbox "$(cat PROMPT.md)"If the user expresses concern about safety, point them at the article's
recommendation to use docker sandbox run claude instead. The skill itself
does not install the safer mode.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub ctrlshiftbryan/ctrlshiftbryan-skills --plugin ralph