Skip to content

Make /rebase risk-based: auto-proceed on no overlap, menus otherwise#9

Open
gering wants to merge 1 commit into
mainfrom
fix/rebase-risk-based-confirm
Open

Make /rebase risk-based: auto-proceed on no overlap, menus otherwise#9
gering wants to merge 1 commit into
mainfrom
fix/rebase-risk-based-confirm

Conversation

@gering

@gering gering commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • /rebase no longer asks for confirmation when the rebase is risk-free: if the files changed on base and on the branch don't overlap since the merge-base, it rebases + force-pushes (--force-with-lease) immediately — invoking the skill is the authorization
  • When files DO overlap, the decision is presented as a real selection menu (AskUserQuestion) instead of a free-text y/n/d prompt
  • All other decision points in the skill (auto-stash, conflict resolution) also become selection menus

Changes

  • skills/rebase/SKILL.md: step 5 rewritten (overlap check via comm -12 on both git diff --name-only sides; safe path vs decision path), step 6 stash menu (refuses to stash silently in --auto), step 7 conflict menu, notes + description updated
  • README.md: force-push safety section + design principles ("Interactive by default, silent when risk-free")
  • pr-flow 1.2.1 → 1.2.2 (plugin.json + marketplace.json in sync)

Readiness

  • scripts/check-structure.py: 0 errors (2 pre-existing warnings, none added)
  • ✅ README updated
  • ✅ Version bumped (patch)
  • ➖ Changelog: repo has none yet (tracked task add-changelog)
  • ➖ Tests/lint/build: N/A (markdown-only plugin)

Test plan

  • Run /rebase on a branch with zero file overlap vs base → proceeds without prompt, aborts cleanly on unexpected conflict
  • Run /rebase with overlapping files → AskUserQuestion menu appears with rebase/diff/leave options
  • /cycle and /merge delegation (--auto) unchanged

🤖 Generated with Claude Code

- Step 5: compute file overlap between base and branch since merge-base;
  zero overlap -> rebase + force-push immediately (invocation = authorization),
  overlap -> AskUserQuestion menu (rebase / show diff / leave as-is)
- Steps 6+7: stash question and conflict options become selection menus
  instead of free-text [y/N] prompts
- --auto unchanged for parent skills; auto-stash now refuses in --auto mode
- README: force-push safety + design principles reflect the new model
- Bump pr-flow to 1.2.2 (plugin.json + marketplace.json)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gering

gering commented Jun 12, 2026

Copy link
Copy Markdown
Owner Author

@claude review

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