How this skill is triggered — by the user, by Claude, or both
Slash command
/ralph:ralph-initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Initialize Ralph in the current project.
Initialize Ralph in the current project.
This skill sets up Ralph's autonomous development environment in your project by creating the necessary directory structure, copying templates, and configuring tracking files.
When you run /ralph:init, Claude will:
mkdir -p docs/ai/ralph
Creates the Ralph working directory in your project where all Ralph-related files will live.
Copy all 3 templates from the plugin to your project:
# Get the plugin path
PLUGIN_PATH="$(dirname "$(dirname "$(dirname "$0")")")"
# Copy templates and remove .template extension
cp "$PLUGIN_PATH/templates/PROMPT.md.template" docs/ai/ralph/PROMPT.md
cp "$PLUGIN_PATH/templates/fix_plan.md.template" docs/ai/ralph/fix_plan.md
cp "$PLUGIN_PATH/templates/AGENTS.md.template" docs/ai/ralph/AGENTS.md
Templates copied:
PROMPT.md.template → docs/ai/ralph/PROMPT.md - Ralph's iteration instructionsfix_plan.md.template → docs/ai/ralph/fix_plan.md - Task tracking and prioritiesAGENTS.md.template → docs/ai/ralph/AGENTS.md - Build/test instructions and learnings# Create symlink in project root pointing to AGENTS.md
ln -s docs/ai/ralph/AGENTS.md CLAUDE.md
This allows Claude Code to automatically read Ralph's learnings and build/test instructions when starting any conversation in this project.
cat > docs/ai/ralph/status.json << 'EOF'
{
"iteration_count": 0,
"started_at": null,
"status": "initialized",
"last_updated": "YYYY-MM-DDTHH:MM:SSZ"
}
EOF
status.json fields:
iteration_count: Number of completed iterations (starts at 0)started_at: ISO 8601 timestamp when /ralph:start was run (null until started)status: Current state - initialized, running, stopped, complete, resetlast_updated: ISO 8601 timestamp of last status changeAdd Ralph's working directory to .gitignore if not already present:
# Check if docs/ai/ralph/ is already in .gitignore
if ! grep -q "^docs/ai/ralph/" .gitignore 2>/dev/null; then
echo "docs/ai/ralph/" >> .gitignore
fi
This prevents Ralph's iteration files from being committed to version control. Only your actual code changes get committed.
After initialization completes, you can:
Customize your setup (optional):
docs/ai/ralph/PROMPT.md to add project-specific instructionsdocs/ai/ralph/AGENTS.md to add your build/test commandsdocs/ai/ralph/fix_plan.md to add your initial tasksStart autonomous development:
/ralph:start to begin the autonomous iteration loopfix_plan.md and work through them one by oneManual iteration (if you prefer):
/ralph:iterate to execute exactly one iterationAfter running /ralph:init, your project will have:
your-project/
├── docs/ai/ralph/
│ ├── PROMPT.md # Ralph's iteration instructions
│ ├── fix_plan.md # Task list and priorities
│ ├── AGENTS.md # Build/test instructions
│ └── status.json # Iteration tracking
├── CLAUDE.md # Symlink → docs/ai/ralph/AGENTS.md
└── .gitignore # Updated to exclude docs/ai/ralph/
docs/ai/ralph/AGENTS.md instead./ralph:start.npx claudepluginhub stavarengo/ralph-wiggum-loop --plugin ralphGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.