-
Notifications
You must be signed in to change notification settings - Fork 1
fix(commands): add explicit EnterPlanMode/ExitPlanMode to execute, quick, settings #182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -22,10 +22,13 @@ Re-entry: If phase is already executed and verified, show status and offer optio | |||||||||
| <process> | ||||||||||
| Follow @.claude/maxsim/workflows/execute.md end-to-end. | ||||||||||
|
|
||||||||||
| 1. Detect phase state from GitHub Project Board (already done / partially executed / ready) | ||||||||||
| 2. Group task Issues by wave — re-evaluate wave composition before each spawn against current GitHub state, execute parallel Agents within each wave, sequential across waves | ||||||||||
| 3. Each Agent updates its GitHub Issue label on start and completion | ||||||||||
| 4. After all tasks complete, spawn a verifier Agent to check acceptance criteria | ||||||||||
| 5. On verification failure, auto-retry with gap-closure context (max 3 retries, 4 total attempts) | ||||||||||
| 6. On final failure, report what failed and surface options to user | ||||||||||
| 1. **Plan Mode:** Call `EnterPlanMode` before any execution | ||||||||||
| 2. Detect phase state from GitHub Project Board (already done / partially executed / ready) | ||||||||||
| 3. Group task Issues by wave — re-evaluate wave composition before each spawn against current GitHub state. Present the execution plan to the user for review. | ||||||||||
| 4. Exit Plan Mode via `ExitPlanMode` — user reviews and approves the execution plan | ||||||||||
|
Comment on lines
+27
to
+28
|
||||||||||
| 3. Group task Issues by wave — re-evaluate wave composition before each spawn against current GitHub state. Present the execution plan to the user for review. | |
| 4. Exit Plan Mode via `ExitPlanMode` — user reviews and approves the execution plan | |
| 3. Group task Issues by wave — re-evaluate wave composition before each spawn against current GitHub state. While still in Plan Mode, present the execution plan to the user for review and obtain explicit approval. | |
| 4. After the user approves the plan, exit Plan Mode via `ExitPlanMode` before spawning any Agents |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -20,13 +20,15 @@ Quick tasks are tracked as GitHub Issues (label: `type:quick`) — separate from | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <process> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Follow @.claude/maxsim/workflows/quick.md end-to-end. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1. Get task description from $ARGUMENTS or via AskUserQuestion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2. Clarify scope if ambiguous (one focused question) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3. Create a GitHub Issue labeled `type:quick` for the task | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4. Spawn a planner Agent (quick mode) to produce a concise implementation plan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5. Spawn executor Agent(s) to implement the plan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6. Spawn a verifier Agent to check the result (tests pass, build succeeds, lint clean) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7. If verification fails, spawn a fix agent (max 2 retries) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8. Commit with atomic message referencing the GitHub Issue | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9. Close the GitHub Issue with completion summary | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1. **Plan Mode:** Call `EnterPlanMode` before any planning or execution | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2. Get task description from $ARGUMENTS or via AskUserQuestion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3. Clarify scope if ambiguous (one focused question) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4. Create a GitHub Issue labeled `type:quick` for the task | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5. Spawn a planner Agent (quick mode) to produce a concise implementation plan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6. Present the plan to user — Exit Plan Mode via `ExitPlanMode` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7. Spawn executor Agent(s) to implement the plan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8. Spawn a verifier Agent to check the result (tests pass, build succeeds, lint clean) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9. If verification fails, spawn a fix agent (max 2 retries) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10. Commit with atomic message referencing the GitHub Issue | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11. Close the GitHub Issue with completion summary | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+23
to
+33
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1. **Plan Mode:** Call `EnterPlanMode` before any planning or execution | |
| 2. Get task description from $ARGUMENTS or via AskUserQuestion | |
| 3. Clarify scope if ambiguous (one focused question) | |
| 4. Create a GitHub Issue labeled `type:quick` for the task | |
| 5. Spawn a planner Agent (quick mode) to produce a concise implementation plan | |
| 6. Present the plan to user — Exit Plan Mode via `ExitPlanMode` | |
| 7. Spawn executor Agent(s) to implement the plan | |
| 8. Spawn a verifier Agent to check the result (tests pass, build succeeds, lint clean) | |
| 9. If verification fails, spawn a fix agent (max 2 retries) | |
| 10. Commit with atomic message referencing the GitHub Issue | |
| 11. Close the GitHub Issue with completion summary | |
| 1. Get task description from $ARGUMENTS or via AskUserQuestion | |
| 2. Clarify scope if ambiguous (one focused question) | |
| 3. Create a GitHub Issue labeled `type:quick` for the task | |
| 4. Resolve any required model or tool choices as described in the quick workflow | |
| 5. Produce a concise implementation plan for the task | |
| 6. Enter Plan Mode via `EnterPlanMode` and present the plan to the user for approval | |
| 7. After explicit user approval, Exit Plan Mode via `ExitPlanMode` | |
| 8. Implement the approved plan (edits, tests, etc.) | |
| 9. Run verification checks (e.g., tests, build, lint) as described in the quick workflow | |
| 10. Commit with an atomic message referencing the GitHub Issue | |
| 11. Close the GitHub Issue with a completion summary |
Copilot
AI
Mar 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The wording around ExitPlanMode is backwards here: the user review/approval should happen while still in Plan Mode, and ExitPlanMode should be called only after the user has approved. Consider adding an explicit “wait for approval” step and describing ExitPlanMode as the transition after approval (matching templates/workflows/quick.md).
| 6. Present the plan to user — Exit Plan Mode via `ExitPlanMode` | |
| 7. Spawn executor Agent(s) to implement the plan | |
| 8. Spawn a verifier Agent to check the result (tests pass, build succeeds, lint clean) | |
| 9. If verification fails, spawn a fix agent (max 2 retries) | |
| 10. Commit with atomic message referencing the GitHub Issue | |
| 11. Close the GitHub Issue with completion summary | |
| 6. Present the plan to the user and wait for explicit approval while remaining in Plan Mode | |
| 7. After the user approves the plan, transition out of Plan Mode by calling `ExitPlanMode` | |
| 8. Spawn executor Agent(s) to implement the approved plan | |
| 9. Spawn a verifier Agent to check the result (tests pass, build succeeds, lint clean) | |
| 10. If verification fails, spawn a fix agent (max 2 retries) | |
| 11. Commit with atomic message referencing the GitHub Issue | |
| 12. Close the GitHub Issue with completion summary |
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -16,16 +16,19 @@ Configuration is stored in `.claude/maxsim/config.json` (project-level). Present | |||||||||||||
| <process> | ||||||||||||||
| Follow @.claude/maxsim/workflows/settings.md end-to-end. | ||||||||||||||
|
|
||||||||||||||
| 1. Read current config from CLAUDE.md and `.claude/maxsim/config.json` | ||||||||||||||
| 2. Display current settings with descriptions | ||||||||||||||
| 3. Use AskUserQuestion to interactively configure: | ||||||||||||||
| 1. **Plan Mode:** Call `EnterPlanMode` before presenting settings | ||||||||||||||
| 2. Read current config from CLAUDE.md and `.claude/maxsim/config.json` | ||||||||||||||
|
||||||||||||||
| 2. Read current config from CLAUDE.md and `.claude/maxsim/config.json` | |
| 2. Use the workflow’s `maxsim-tools` config helpers (e.g. `config-ensure-section`, `config-get`) to load the current config from `.claude/maxsim/config.json` |
Copilot
AI
Mar 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like the workflow, the user should review/confirm proposed settings while still in Plan Mode; ExitPlanMode should happen only after the user confirms and immediately before writing config.json. The current phrasing (“Exit Plan Mode — user reviews and approves”) suggests approval happens after exiting Plan Mode, which is the opposite of templates/workflows/settings.md and can confuse the operator.
| 5. Present proposed configuration changes for review | |
| 6. Exit Plan Mode via `ExitPlanMode` — user reviews and approves changes | |
| 7. Merge answers and write updated config | |
| 5. Present proposed configuration changes for review and confirmation (still in Plan Mode) | |
| 6. User reviews and approves or adjusts the proposed changes while remaining in Plan Mode | |
| 7. After user approval, call `ExitPlanMode` and then merge answers and write the updated config |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
templates/workflows/execute.mdonly enters Plan Mode in the “Needs execution” path (after detecting state) and can skip it entirely for the “Already executed and verified” re-entry flow. This template’s step 1 (“EnterPlanMode before any execution”) reads as unconditional; consider making it conditional on actually executing (and keep the re-entry flow outside Plan Mode) so it mirrors the workflow’s control flow.