Skip to content

feat: add --auto flag, redefine --quick as plan-only#130

Open
tzachbon wants to merge 20 commits intomainfrom
worktree-mossy-discovering-walrus
Open

feat: add --auto flag, redefine --quick as plan-only#130
tzachbon wants to merge 20 commits intomainfrom
worktree-mossy-discovering-walrus

Conversation

@tzachbon
Copy link
Copy Markdown
Owner

@tzachbon tzachbon commented Apr 8, 2026

Summary

  • Redefines --quick as plan-only mode: runs all 4 planning phases autonomously (research, requirements, design, tasks) then stops before implementation
  • Adds --auto as full autonomous mode (what --quick previously did): runs all phases including implementation end-to-end
  • --quick and --auto are mutually exclusive; combining them errors immediately
  • Applied across all 3 plugins: ralph-specum, ralph-speckit, ralph-specum-codex

Migration

Existing --quick users: replace with --auto to restore the old full-autonomous behavior.

Files changed

ralph-specum (6 files): start.md, quick-mode.md, intent-classification.md, stop-watcher.sh, quick-mode-guard.sh, smart-ralph SKILL.md

ralph-speckit (4 files): start.md, stop-watcher.sh, quick-mode-guard.sh (new), plugin.json

ralph-specum-codex (2 files): ralph-specum-start/SKILL.md, ralph-specum/SKILL.md

Root: marketplace.json + plugin.json version bumps (ralph-specum 4.10.0, ralph-speckit 0.5.3)

Summary by CodeRabbit

  • New Features

    • Added --auto flag for full end-to-end autonomous workflow
    • Redefined --quick flag to planning-only mode that stops before implementation
    • --quick and --auto flags are mutually exclusive
    • Auto mode skips interactive prompts during planning and implementation phases
  • Chores

    • Updated plugin versions

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 8, 2026

Warning

Rate limit exceeded

@tzachbon has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 16 minutes and 19 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 16 minutes and 19 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3af2c685-61b6-4205-96e0-8f01cf53be9f

📥 Commits

Reviewing files that changed from the base of the PR and between 4421742 and 7ee560a.

📒 Files selected for processing (7)
  • plugins/ralph-speckit/commands/start.md
  • plugins/ralph-specum-codex/skills/ralph-specum-start/SKILL.md
  • plugins/ralph-specum-codex/skills/ralph-specum/SKILL.md
  • plugins/ralph-specum/commands/start.md
  • plugins/ralph-specum/references/quick-mode.md
  • tests/codex-platform.bats
  • tests/interview-framework.bats
📝 Walkthrough

Walkthrough

This PR introduces a new --auto flag for autonomous full-end-to-end execution across ralph-specum and ralph-speckit plugins, redefining the existing --quick flag as plan-only mode. The flags are mutually exclusive. Changes include version bumps, hook script updates for state-aware autonomous mode detection, command/skill documentation updates, and new spec tracking files.

Changes

Cohort / File(s) Summary
Plugin Manifests & Marketplace
.claude-plugin/marketplace.json, plugins/ralph-specum/.claude-plugin/plugin.json, plugins/ralph-speckit/.claude-plugin/plugin.json
Version bumps: ralph-specum 4.9.1→4.10.0, ralph-speckit 0.5.2→0.5.3; new hook configuration added for ralph-speckit PreToolUse event.
Hook Scripts
plugins/ralph-speckit/hooks/scripts/quick-mode-guard.sh, plugins/ralph-specum/hooks/scripts/quick-mode-guard.sh, plugins/ralph-specum/hooks/scripts/stop-watcher.sh, plugins/ralph-speckit/hooks/scripts/stop-watcher.sh
New guard script for ralph-speckit to prevent user questions in autonomous modes; existing guard/stop scripts updated to read and enforce both quickMode and autoMode flags with combined autonomous-mode logic.
Command Start Definitions
plugins/ralph-speckit/commands/start.md, plugins/ralph-specum/commands/start.md
Added --quick and --auto flag parsing with mutual-exclusion guard; extended state schema with boolean quickMode and autoMode fields; routed both flags into autonomous paths with mode-specific divergence at execution phase.
Skill Documentation
plugins/ralph-specum-codex/skills/ralph-specum-start/SKILL.md, plugins/ralph-specum-codex/skills/ralph-specum/SKILL.md, plugins/ralph-specum/skills/smart-ralph/SKILL.md
Documented --auto as full-autonomous mode distinct from --quick (plan-only); updated directive language from "quick" to "autonomous"; clarified mutual exclusivity and state preservation for both modes.
Reference Documents
plugins/ralph-specum/references/intent-classification.md, plugins/ralph-specum/references/quick-mode.md
Added --auto flag handling in intent routing; updated quick-mode reference to branch behavior at execution phase based on mode flags; renamed directive to "Autonomous Mode".
Spec Tracking
specs/add-auto-flag/.progress.md, specs/add-auto-flag/tasks.md
New spec documents defining rollout requirements, completed tasks across both plugins, and verification checklists for flag semantics and cross-reference consistency.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~28 minutes

Possibly related PRs

Poem

🐰 A rabbit hops through modes so spry,
Quick plans fly high, while auto flies by!
Mutual guards ensure no clash,
Autonomous flows without a splash! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add --auto flag, redefine --quick as plan-only' directly and clearly summarizes the primary changes: introducing a new --auto flag and redefining --quick as plan-only mode.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch worktree-mossy-discovering-walrus

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@plugins/ralph-speckit/commands/start.md`:
- Around line 168-176: The autonomous-mode flow needs to write the
.current-feature pointer before kicking off the first autonomous phase so
external guards/readers can resolve the active state; modify the Autonomous Mode
Routing logic to persist the current feature file (write .current-feature)
immediately when quickMode or autoMode is true and before delegating to the
first phase, ensuring this happens prior to where .specify/.current-feature is
currently written (so quick-mode-guard.sh and stop-watcher.sh can find the
active feature for their guards and stop-loop). Update the code path that
handles quickMode/autoMode to call the same routine that writes the
.current-feature pointer (or inline the write) before invoking the phase
delegation, and ensure the file format/path exactly matches what
quick-mode-guard.sh and stop-watcher.sh expect.
- Around line 181-188: The state persisted after tasks completion is incomplete
before branching for quickMode/autoMode: ensure you compute totalTasks (count
task checkboxes) and write the shared execution bootstrap fields into the state
file—set phase: "execution", taskIndex: 0, and totalTasks—before applying the
per-path changes (for quickMode also set awaitingApproval: true; for autoMode
proceed to implementation). Update the logic around the post-tasks fork (the
quick/auto branch in the start flow) so both paths call the same state-write
that includes phase, taskIndex and totalTasks to prevent stop-watcher.sh and
stop-hook resume from misbehaving.

In `@plugins/ralph-specum-codex/skills/ralph-specum-start/SKILL.md`:
- Around line 52-53: The awaitingApproval flow in SKILL.md (the `--quick` branch
described in the steps for "With `--quick`") must produce a visible reply that
conforms to the Codex approval contract: when you set `awaitingApproval: true`
(in the `--quick` path), update the instruction text to explicitly list the
generated artifacts (research, requirements, design, tasks), include a one- or
two-sentence summary for each, and end the user-facing message with exactly one
explicit choice prompt (e.g., "Approve plan and run implement" or "Request
changes")—ensure that exact prompt is the final line so the approval gate is
correctly applied.

In `@plugins/ralph-specum/commands/start.md`:
- Around line 261-262: Update the Step 5 summary in start.md to split behavior
by mode: clearly state that when invoked with --quick (or via
$ralph-specum-start quick mode) the flow stops after planning and does not
transition to execution or invoke spec-executor, whereas only --auto
(autonomous) continues into execution and calls spec-executor; locate the Step 5
summary text referencing "transitions to execution" and "invokes spec-executor"
and change it to explicitly describe the two branches (quick stops after
planning, auto proceeds to execution) and mention $ralph-specum-start usage for
create/resume/quick to avoid the old --quick-as-execute wording.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 108d5be4-c11c-4858-8cef-aef45fe7f3b5

📥 Commits

Reviewing files that changed from the base of the PR and between 92d7c29 and 4421742.

📒 Files selected for processing (16)
  • .claude-plugin/marketplace.json
  • plugins/ralph-speckit/.claude-plugin/plugin.json
  • plugins/ralph-speckit/commands/start.md
  • plugins/ralph-speckit/hooks/scripts/quick-mode-guard.sh
  • plugins/ralph-speckit/hooks/scripts/stop-watcher.sh
  • plugins/ralph-specum-codex/skills/ralph-specum-start/SKILL.md
  • plugins/ralph-specum-codex/skills/ralph-specum/SKILL.md
  • plugins/ralph-specum/.claude-plugin/plugin.json
  • plugins/ralph-specum/commands/start.md
  • plugins/ralph-specum/hooks/scripts/quick-mode-guard.sh
  • plugins/ralph-specum/hooks/scripts/stop-watcher.sh
  • plugins/ralph-specum/references/intent-classification.md
  • plugins/ralph-specum/references/quick-mode.md
  • plugins/ralph-specum/skills/smart-ralph/SKILL.md
  • specs/add-auto-flag/.progress.md
  • specs/add-auto-flag/tasks.md

tzachbon added 6 commits April 8, 2026 14:00
Keep --quick/--auto flag split from this branch and main's
non-negotiable STOP language for the no-flag case.
- speckit start.md: move .current-feature write before autonomous routing
  so guards can resolve active feature during autonomous phases
- speckit start.md: compute totalTasks and set execution bootstrap fields
  (phase, taskIndex, totalTasks) before quick/auto branch
- codex start SKILL.md: --quick path now lists artifacts and ends with
  explicit choice prompt per Codex approval contract
- specum start.md: Step 5 summary distinguishes --quick (stops after
  planning) from --auto (continues to execution)
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