- Rewrite hooks.json to Cursor format (version 1, lowercase event
names, flat structure, loop_limit: null)
- Replace Claude Code stop hook output (decision/block/reason) with
Cursor's followup_message API
- Add afterAgentResponse hook to detect completion promise without
depending on transcript format
- Use CURSOR_PROJECT_DIR env var for reliable state file paths
- Remove setup script; ralph-loop skill now instructs the agent to
create the state file directly
- Update cancel-ralph skill to clean up done flag file
Co-authored-by: Cursor <cursoragent@cursor.com>
Port of the Ralph Wiggum technique from Claude Code to Cursor.
Runs Cursor in a self-referential loop, feeding the same prompt
back after every turn until a completion condition is met.
Components:
- Stop hook that intercepts session exit and re-injects the prompt
- Setup script for initializing loop state
- Skills for starting, cancelling, and explaining the loop
Co-authored-by: Cursor <cursoragent@cursor.com>