Skip to content

feat(ralph): add ralph-cancel skill for cancelling active Ralph loop - #574

Merged
baleen37 merged 3 commits into
mainfrom
feat/ralph-cancel
Mar 25, 2026
Merged

feat(ralph): add ralph-cancel skill for cancelling active Ralph loop#574
baleen37 merged 3 commits into
mainfrom
feat/ralph-cancel

Conversation

@baleen37

@baleen37 baleen37 commented Mar 25, 2026

Copy link
Copy Markdown
Owner

Summary

Active Ralph 루프를 취소하는 ralph-cancel skill을 추가합니다. 실행 중인 Ralph 루프를 안전하게 종료할 수 있는 메커니즘을 제공합니다.

Changes

  • plugins/ralph/skills/ralph-cancel/SKILL.md 추가: Ralph 루프 취소 로직을 담은 새 skill
    • .ralph/state/ralph-state.json 존재 및 활성 상태 확인
    • cancel-signal-state.json 작성으로 취소 신호 전달
    • ralph-state.jsonactive 플래그를 false로 업데이트
    • Stop hook이 다음 iteration에서 취소 신호를 감지하여 clean exit 처리

Tests

  • 로컬에서 skill 동작 확인 (active loop 없을 때, 이미 inactive일 때, 정상 취소 시나리오)

Summary by CodeRabbit

  • New Features

    • Added ralph-cancel skill to manage active Ralph loops in your project.
  • Documentation

    • Documented the ralph-cancel skill with step-by-step workflow and behavior guidance.

Test User added 3 commits March 23, 2026 22:06
…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
@coderabbitai

coderabbitai Bot commented Mar 25, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7cc91038-7338-4977-8109-78dd9c42d7cf

📥 Commits

Reviewing files that changed from the base of the PR and between a29ca60 and a468f21.

📒 Files selected for processing (1)
  • plugins/ralph/skills/ralph-cancel/SKILL.md

📝 Walkthrough

Walkthrough

Adds skill documentation plugins/ralph/skills/ralph-cancel/SKILL.md describing a stepwise cancellation flow for an active “Ralph loop” by inspecting and updating files under .ralph/state/ (ralph-state.json, cancel-signal-state.json) and reporting outcomes.

Changes

Cohort / File(s) Summary
Ralph Cancel Skill Documentation
plugins/ralph/skills/ralph-cancel/SKILL.md
New Markdown documenting the ralph-cancel skill: checks for .ralph/state/ralph-state.json, reports if missing or already inactive, otherwise writes .ralph/state/cancel-signal-state.json, sets active: false in ralph-state.json, and reports cancellation.

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
Loading

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Poem

🐰
I hopped through loops both near and far,
Found the signal hidden in a file-star.
I nudged the state, gave quiet a chance,
Now Ralph may rest, and I shall dance. 🥕✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/ralph-cancel

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@baleen37
baleen37 merged commit 25f7fc4 into main Mar 25, 2026
7 of 8 checks passed
@baleen37
baleen37 deleted the feat/ralph-cancel branch March 25, 2026 03:42
baleen-release-app Bot pushed a commit that referenced this pull request Mar 25, 2026
# [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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant