tomrford

ralpher

Generate Ralph loop scaffolding for autonomous codex workflows. Use when user asks to set up a ralph loop, scaffold ralph, or configure autonomous development.

tomrford 0 Updated 4mo ago
GitHub

Install

npx skillscat add tomrford/ralpher

Install via the SkillsCat registry.

SKILL.md

Ralph Loop Setup

Generate scaffolding for running codex in an autonomous while loop.

Usage

When asked to set up a ralph loop, create a ralph/ subdirectory and the following 4 files inside it. Replace [SPEC_FILES] with the spec filenames provided by user (use path relative to project root). Configure MAX_ITERATIONS as requested.

ralph/run.sh

#!/bin/bash
set -e

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
MAX_ITERATIONS=${1:-50}
STATUS_FILE="$SCRIPT_DIR/status.md"

for ((i = 1; i <= MAX_ITERATIONS; i++)); do
    echo "=== Iteration $i/$MAX_ITERATIONS ==="

    codex exec "$(cat "$SCRIPT_DIR/prompt.md")" --model gpt-5.2-codex --full-auto --config model_reasoning_effort="xhigh"

    if [[ -f "$SCRIPT_DIR/summary.md" ]]; then
        echo "--- Summary: $(cat "$SCRIPT_DIR/summary.md")"
    fi

    STATUS=$(head -1 "$STATUS_FILE" | grep -oE '(Done|Blocked|In Progress)')

    if [[ "$STATUS" == "Done" ]]; then
        echo "✅ Complete after $i iterations"
        exit 0
    elif [[ "$STATUS" == "Blocked" ]]; then
        echo "🚫 Blocked after $i iterations - manual intervention needed"
        exit 1
    fi

    echo "Status: $STATUS - continuing..."
done

echo "⚠️ Max iterations ($MAX_ITERATIONS) reached"
exit 1

Make executable with chmod +x ralph/run.sh.

ralph/prompt.md

Study [SPEC_FILES]
Study ralph/status.md for previous work and memory

Pick the most important incomplete task and work on it. Run the full quality gate (typecheck, lint, tests, format). If you learn something important for future work, add it to ralph/status.md. Commit when done.

Once finished, overwrite ralph/summary.md with a one-line summary.

If all tasks complete, set Status to 'Done'. If stuck on something impossible, set Status to 'Blocked'.

IMPORTANT:

- Follow any/all guidelines in AGENTS.md/CLAUDE.md
- author property-based tests or unit tests, whichever is better suited

ralph/status.md

Status: In Progress

## Memory

ralph/summary.md

Create empty.