| name | ralph-executor |
| description | Detailed Ralph execution guidance. Load when running the Ralph autonomous loop to get step-by-step implementation protocol. |
Ralph Executor Skill
Supplements the Ralph rule with detailed execution protocol. Load this skill when running /ralph-loop.
Pre-Execution Checklist
Before starting any task, verify:
Implementing a Task
- Read the task's
acceptance_criteria — these are your binary exit conditions
- Verify all
dependencies have status == "complete" in prd.json
- Read all relevant existing files before making any edits
- Apply changes incrementally — one logical change at a time
- Run the verification command from
AGENTS.md after each significant change
prd.json Status Transitions
When starting a task:
{ "id": "task-XXX", "status": "in-progress" }
When completing a task:
{ "id": "task-XXX", "status": "complete" }
Only transition to complete after verification passes.
Verification Protocol
Run the test/typecheck/lint command from AGENTS.md.
If it passes:
- Update
prd.json → "complete"
- Append completion entry to
progress.log
- Create git commit
If it fails:
- Read the full error output — do not skim
- Identify root cause, not just the error message location
- Apply one targeted fix
- Re-run verification
- If still failing: append
[ERROR] to progress.log, halt, report to user
Writing to progress.log
Always append (never overwrite). Use exact format:
[2026-01-30 14:22:05] Started task-001: Implement user model
[2026-01-30 14:35:12] Completed task-001: User entity with bcrypt hashing, all tests pass
[2026-01-30 14:35:30] Git commit: feat(auth): implement user model with password hashing
[2026-01-30 14:36:00] [ERROR] task-002: TypeScript type mismatch in auth middleware — halted
Quality Rules
From Arize Research (10-15% SWE-bench improvement):
- Never modify code without first reading and understanding it
- Never apply a workaround that hides an error from the compiler or test runner
- Do not delete or weaken existing tests to make CI pass
- Backwards compatibility is assumed unless the task explicitly states otherwise
- Commit messages must explain WHAT changed, not HOW it was changed
- Error messages must remain technically accurate — never swallow exceptions silently