feat(ralph): add ralph-cancel skill for cancelling active Ralph loop - #574
Conversation
…provement Skill for improving a file (prompt, config, template) toward reference quality through repeated single-change A/B testing. Each iteration makes exactly one change, tests it against reference examples via parallel generation + judge evaluation, and adopts only what works. Key design decisions: - One change per iteration (bundled changes hide what helped/hurt) - Dynamic next-change based on judge feedback (not pre-planned list) - Same inputs every iteration for valid comparison - Adopt on TIE (change that doesn't hurt is worth keeping) - Stop after 2+ consecutive rejections (rethink approach)
Replace eval-specific iterative-eval with a general-purpose iterate skill. Works for any incremental improvement: prompts, code, configs, docs — anything where you can verify whether a change helped. Key design: - One change per iteration (clear signal) - Pluggable verification (test, build, judge, user, metric, composite) - Feedback-driven next change (not pre-planned) - Stop on 2+ consecutive rejections BREAKING CHANGE: removes iterative-eval skill
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds skill documentation Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Skill
participant FS as "FileSystem (.ralph/state/...)"
participant RalphLoop as "Ralph Loop (Stop hook)"
User->>Skill: invoke ralph-cancel
Skill->>FS: check `ralph-state.json` exists
alt not found
Skill->>User: "No active Ralph loop found."
else found
Skill->>FS: read `ralph-state.json`
alt active: false
Skill->>User: "Ralph loop is already inactive."
else active: true
Skill->>FS: write `cancel-signal-state.json` (empty {})
Skill->>FS: update `ralph-state.json` (set active: false)
Skill->>User: "Ralph loop cancelled."
Note right of RalphLoop: On next iteration, Stop hook reads cancel-signal and exits
RalphLoop->>FS: read `cancel-signal-state.json`
RalphLoop->>RalphLoop: exit cleanly
end
end
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
# [12.0.0](v11.0.0...v12.0.0) (2026-03-25) ### Features * **ralph:** add ralph-cancel skill for cancelling active Ralph loop ([#574](#574)) ([25f7fc4](25f7fc4)) ### BREAKING CHANGES * **ralph:** removes iterative-eval skill * feat(ralph): add ralph-cancel skill for cancelling active Ralph loop
Summary
Active Ralph 루프를 취소하는
ralph-cancelskill을 추가합니다. 실행 중인 Ralph 루프를 안전하게 종료할 수 있는 메커니즘을 제공합니다.Changes
plugins/ralph/skills/ralph-cancel/SKILL.md추가: Ralph 루프 취소 로직을 담은 새 skill.ralph/state/ralph-state.json존재 및 활성 상태 확인cancel-signal-state.json작성으로 취소 신호 전달ralph-state.json의active플래그를false로 업데이트Tests
Summary by CodeRabbit
New Features
Documentation