From d45fbd845d8c6d9435886158c57b411618dc3a5b Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Tue, 16 Dec 2025 09:33:51 -0600 Subject: [PATCH] fix: replace inline command invocation with clear-then-paste pattern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit End-of-command workflows now show explicit instructions to run /clear and paste the next command, rather than offering numbered options that invoke SlashCommand directly. This prevents users from accidentally exhausting context by continuing work in the same session. - Updated 16 files (commands and workflows) - YOLO mode auto-continues preserved (user explicitly chose automation) - In-workflow decisions like consider-issues preserved 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- commands/gsd/add-phase.md | 20 ++++---- commands/gsd/consider-issues.md | 2 +- commands/gsd/create-roadmap.md | 19 ++++--- commands/gsd/insert-phase.md | 17 ++++--- commands/gsd/new-project.md | 19 ++++--- commands/gsd/progress.md | 51 +++++++++++-------- commands/gsd/research-project.md | 13 +++-- get-shit-done/workflows/complete-milestone.md | 20 ++++---- get-shit-done/workflows/create-milestone.md | 21 ++++---- get-shit-done/workflows/create-roadmap.md | 20 ++++---- get-shit-done/workflows/discuss-milestone.md | 9 +++- get-shit-done/workflows/discuss-phase.md | 21 ++++++-- get-shit-done/workflows/execute-phase.md | 51 +++++++++++++------ get-shit-done/workflows/plan-phase.md | 32 +++++------- get-shit-done/workflows/resume-project.md | 22 ++++++-- get-shit-done/workflows/transition.md | 34 +++++++++---- 16 files changed, 225 insertions(+), 146 deletions(-) diff --git a/commands/gsd/add-phase.md b/commands/gsd/add-phase.md index c306d9cc2..92d0fcdcc 100644 --- a/commands/gsd/add-phase.md +++ b/commands/gsd/add-phase.md @@ -163,19 +163,17 @@ Phase {N} added to current milestone: Roadmap updated: {roadmap-path} Project state updated: .planning/STATE.md -What's next? -1. Plan this phase: /gsd:plan-phase {N} -2. Add another phase: /gsd:add-phase -3. Review roadmap: cat .planning/ROADMAP.md +## To Continue + +Run `/clear`, then paste: +``` +/gsd:plan-phase {N} ``` -**If user selects option 1:** -Invoke SlashCommand("/gsd:plan-phase {N}") - -**If user selects option 2:** -Invoke SlashCommand("/gsd:add-phase ") - -Note: Commands are shown in options above so user can see what will run. +Other options: +- Add another phase: `/gsd:add-phase ` +- Review roadmap: `cat .planning/ROADMAP.md` +``` diff --git a/commands/gsd/consider-issues.md b/commands/gsd/consider-issues.md index b60dbff63..eaca9bcb4 100644 --- a/commands/gsd/consider-issues.md +++ b/commands/gsd/consider-issues.md @@ -183,7 +183,7 @@ Use AskUserQuestion with appropriate options based on findings: 4. Update STATE.md deferred issues count **If inserting urgent phase:** -- Invoke: `SlashCommand("/gsd:insert-phase [after-phase] Address urgent issues ISS-XXX, ISS-YYY")` +- Display the command for user to run after clearing: `/gsd:insert-phase [after-phase] Address urgent issues ISS-XXX, ISS-YYY` **If noting for phase planning:** - Update issue's "Suggested phase" field with specific phase number diff --git a/commands/gsd/create-roadmap.md b/commands/gsd/create-roadmap.md index d15344db1..f8bf590c4 100644 --- a/commands/gsd/create-roadmap.md +++ b/commands/gsd/create-roadmap.md @@ -117,15 +117,20 @@ Roadmap created: - State: .planning/STATE.md - [N] phases defined -What's next? -1. Discuss Phase 1 context (/gsd:discuss-phase 1) -2. Plan Phase 1 in detail (/gsd:plan-phase 1) -3. Review/adjust phases -4. Done for now +## To Continue + +Run `/clear`, then paste one of: + +**To discuss Phase 1 context first:** +``` +/gsd:discuss-phase 1 ``` -If user selects "Discuss Phase 1 context" → invoke `/gsd:discuss-phase 1` -If user selects "Plan Phase 1 in detail" → invoke `/gsd:plan-phase 1` +**To plan Phase 1 directly:** +``` +/gsd:plan-phase 1 +``` +``` diff --git a/commands/gsd/insert-phase.md b/commands/gsd/insert-phase.md index f9db98f74..13b4e4250 100644 --- a/commands/gsd/insert-phase.md +++ b/commands/gsd/insert-phase.md @@ -182,16 +182,17 @@ Phase {decimal_phase} inserted after Phase {after_phase}: Roadmap updated: {roadmap-path} Project state updated: .planning/STATE.md -What's next? -1. Plan this phase: /gsd:plan-phase {decimal_phase} -2. Review insertion impact: Check if Phase {next_integer} dependencies still make sense -3. Review roadmap: cat .planning/ROADMAP.md +## To Continue + +Run `/clear`, then paste: +``` +/gsd:plan-phase {decimal_phase} ``` -**If user selects option 1:** -Invoke SlashCommand("/gsd:plan-phase {decimal_phase}") - -Note: Command is shown in option 1 above so user can see what will run. +Other options: +- Review insertion impact: Check if Phase {next_integer} dependencies still make sense +- Review roadmap: `cat .planning/ROADMAP.md` +``` diff --git a/commands/gsd/new-project.md b/commands/gsd/new-project.md index 29cb6368c..12b5d441e 100644 --- a/commands/gsd/new-project.md +++ b/commands/gsd/new-project.md @@ -147,17 +147,20 @@ Project initialized: - Project: .planning/PROJECT.md - Config: .planning/config.json (mode: [chosen mode]) -What's next? +## To Continue -1. Research domain ecosystem (/gsd:research-project) - For niche/complex domains -2. Create roadmap (/gsd:create-roadmap) - Skip research, go straight to planning -3. Done for now +Run `/clear`, then paste one of: + +**For niche/complex domains (recommended):** +``` +/gsd:research-project ``` -Note: Commands are shown in the options above so the user can see what to run in a fresh context. - -**If user selects option 1:** invoke `/gsd:research-project` -**If user selects option 2:** invoke `/gsd:create-roadmap` +**To skip research and go straight to planning:** +``` +/gsd:create-roadmap +``` +``` diff --git a/commands/gsd/progress.md b/commands/gsd/progress.md index 7f488f9d0..3cae0e77e 100644 --- a/commands/gsd/progress.md +++ b/commands/gsd/progress.md @@ -107,12 +107,15 @@ Check if `{phase}-{plan}-PLAN.md` exists for that number. - Read its `` section - Show: "Ready to execute: [path] - [objective summary]" -- Ask: "Execute? (y/n)" -- **CRITICAL: If user responds "y", "yes", or affirmatively, immediately invoke:** +- Display: + ``` + ## To Continue + + Run `/clear`, then paste: + ``` + /gsd:execute-plan [full-path-to-PLAN.md] ``` - SlashCommand("/gsd:execute-plan [full-path-to-PLAN.md]") ``` - Do NOT describe what you would do. INVOKE THE TOOL. **If PLAN.md does NOT exist:** @@ -123,41 +126,45 @@ Check if `{phase}-{plan}-PLAN.md` exists for that number. **If CONTEXT.md exists:** - Display: "✓ Context gathered, ready to plan" -- Ask: "Create this plan? (y/n)" -- **CRITICAL: If user responds "y", "yes", or affirmatively, immediately invoke:** +- Display: + ``` + ## To Continue + + Run `/clear`, then paste: + ``` + /gsd:plan-phase [phase-number] ``` - SlashCommand("/gsd:plan-phase [phase-number]") ``` - Do NOT describe what you would do. INVOKE THE TOOL. **If CONTEXT.md does NOT exist:** -- Display options: +- Display: ``` - Options for Phase [N]: - 1. See assumptions (/gsd:list-phase-assumptions [phase]) - What Claude thinks about this phase - 2. Discuss context (/gsd:discuss-phase [phase]) - Gather your context through questions - 3. Plan directly (/gsd:plan-phase [phase]) - Skip to planning + ## To Continue + + Run `/clear`, then paste one of: + + **See Claude's assumptions:** ``` -- Ask: "Which approach? (assumptions/discuss/plan)" -- **If user responds "assumptions":** + /gsd:list-phase-assumptions [phase] ``` - SlashCommand("/gsd:list-phase-assumptions [phase-number]") + + **Discuss context first:** ``` -- **If user responds "discuss":** + /gsd:discuss-phase [phase] ``` - SlashCommand("/gsd:discuss-phase [phase-number]") + + **Plan directly:** ``` -- **If user responds "plan":** + /gsd:plan-phase [phase] ``` - SlashCommand("/gsd:plan-phase [phase-number]") ``` **If all plans complete for current phase:** - Check if more phases exist in ROADMAP -- If yes: Offer to plan next phase with `/gsd:plan-phase [next-phase]` -- If no (milestone 100% complete): Offer to complete milestone +- If yes: Show `/gsd:plan-phase [next-phase]` command to paste +- If no (milestone 100% complete): Show `/gsd:complete-milestone` command to paste diff --git a/commands/gsd/research-project.md b/commands/gsd/research-project.md index 9fad26832..c04b78961 100644 --- a/commands/gsd/research-project.md +++ b/commands/gsd/research-project.md @@ -160,13 +160,16 @@ Key implementation context: Open questions remaining: - [Any questions research couldn't answer] -What's next? -1. Create roadmap (/gsd:create-roadmap) - Incorporates research -2. Review research files -3. Done for now +## To Continue + +Run `/clear`, then paste: +``` +/gsd:create-roadmap ``` -If user selects "Create roadmap" → invoke `/gsd:create-roadmap` +Other options: +- Review research files before continuing +``` diff --git a/get-shit-done/workflows/complete-milestone.md b/get-shit-done/workflows/complete-milestone.md index b2fd0c4d3..c7a991df5 100644 --- a/get-shit-done/workflows/complete-milestone.md +++ b/get-shit-done/workflows/complete-milestone.md @@ -424,20 +424,20 @@ Shipped: Summary: .planning/MILESTONES.md Tag: v[X.Y] -Next steps: +## To Continue -1. Discuss next milestone scope (/gsd:discuss-milestone) -2. Create next milestone directly (/gsd:new-milestone) -3. Done for now +Run `/clear`, then paste one of: +**To discuss next milestone scope:** +``` +/gsd:discuss-milestone ``` -Wait for user decision. - -If "1": Invoke SlashCommand("/gsd:discuss-milestone") -If "2": Invoke SlashCommand("/gsd:new-milestone") - -Note: Commands are shown in options above so user can see what will run. +**To create next milestone directly:** +``` +/gsd:new-milestone +``` +``` diff --git a/get-shit-done/workflows/create-milestone.md b/get-shit-done/workflows/create-milestone.md index c382198a8..dafb5082b 100644 --- a/get-shit-done/workflows/create-milestone.md +++ b/get-shit-done/workflows/create-milestone.md @@ -323,20 +323,23 @@ Milestone v[X.Y] [Name] created: - ROADMAP.md updated - STATE.md reset for new milestone -What's next? +## To Continue -1. Discuss Phase [N] context (/gsd:discuss-phase [N]) -2. Plan Phase [N] directly (/gsd:plan-phase [N]) -3. Review roadmap -4. Done for now +Run `/clear`, then paste one of: +**To discuss Phase [N] context first:** +``` +/gsd:discuss-phase [N] ``` -**If user selects option 1:** -Invoke SlashCommand("/gsd:discuss-phase [N]") +**To plan Phase [N] directly:** +``` +/gsd:plan-phase [N] +``` -**If user selects option 2:** -Invoke SlashCommand("/gsd:plan-phase [N]") +Other options: +- Review roadmap before continuing +``` diff --git a/get-shit-done/workflows/create-roadmap.md b/get-shit-done/workflows/create-roadmap.md index 48b9e4898..1b5dabfcb 100644 --- a/get-shit-done/workflows/create-roadmap.md +++ b/get-shit-done/workflows/create-roadmap.md @@ -487,20 +487,20 @@ Project initialized: - State: .planning/STATE.md - Committed as: docs: initialize [project] ([N] phases) -What's next? +## To Continue -1. Discuss Phase 1 context (/gsd:discuss-phase 1) -2. Plan Phase 1 in detail (/gsd:plan-phase 1) -3. Review/adjust phases -4. Done for now +Run `/clear`, then paste one of: +**To discuss Phase 1 context first:** +``` +/gsd:discuss-phase 1 ``` -**If user selects "Discuss Phase 1 context":** -Exit and invoke SlashCommand("/gsd:discuss-phase 1") - -**If user selects "Plan Phase 1 in detail":** -Exit and invoke SlashCommand("/gsd:plan-phase 1") +**To plan Phase 1 directly:** +``` +/gsd:plan-phase 1 +``` +``` diff --git a/get-shit-done/workflows/discuss-milestone.md b/get-shit-done/workflows/discuss-milestone.md index 44a801006..2c7daa261 100644 --- a/get-shit-done/workflows/discuss-milestone.md +++ b/get-shit-done/workflows/discuss-milestone.md @@ -137,9 +137,14 @@ Milestone scope defined: **Estimated phases:** [N] Ready to create the milestone structure. -``` -**Invoke:** SlashCommand("/gsd:new-milestone") +## To Continue + +Run `/clear`, then paste: +``` +/gsd:new-milestone +``` +``` Pass context forward by summarizing: - Features to build (the substance) diff --git a/get-shit-done/workflows/discuss-phase.md b/get-shit-done/workflows/discuss-phase.md index 51ca59c52..762c95a1a 100644 --- a/get-shit-done/workflows/discuss-phase.md +++ b/get-shit-done/workflows/discuss-phase.md @@ -194,11 +194,22 @@ Created: .planning/phases/${PHASE}-${SLUG}/${PHASE}-CONTEXT.md ## Boundaries [What's out of scope] -What's next? -1. Research this phase (/gsd:research-phase ${PHASE}) - Investigate codebase, identify patterns and risks -2. Plan this phase (/gsd:plan-phase ${PHASE}) - Skip research, go straight to planning -3. Review/edit CONTEXT.md - Make adjustments -4. Done for now +## To Continue + +Run `/clear`, then paste one of: + +**To research this phase first:** +``` +/gsd:research-phase ${PHASE} +``` + +**To plan this phase directly:** +``` +/gsd:plan-phase ${PHASE} +``` + +Other options: +- Review/edit CONTEXT.md before continuing ``` diff --git a/get-shit-done/workflows/execute-phase.md b/get-shit-done/workflows/execute-phase.md index 24e0e782c..fd6b91e73 100644 --- a/get-shit-done/workflows/execute-phase.md +++ b/get-shit-done/workflows/execute-phase.md @@ -1210,13 +1210,18 @@ Summary: .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md [X] of [Y] plans complete for Phase Z. -What's next? -1. Execute next plan (/gsd:execute-plan .planning/phases/XX-name/{phase}-{next-plan}-PLAN.md) -2. Review what was built -3. Done for now +## To Continue + +Run `/clear`, then paste: +``` +/gsd:execute-plan .planning/phases/XX-name/{phase}-{next-plan}-PLAN.md ``` -Wait for user selection. +Other options: +- Review what was built before continuing +``` + +Wait for user to clear and run next command. **If phase complete (last plan done):** @@ -1252,11 +1257,16 @@ All [N] phases complete! This milestone is 100% done. ════════════════════════════════════════ -What's next? -1. Complete milestone (/gsd:complete-milestone) - Archive and start fresh -2. Add another phase (/gsd:add-phase) - Extend this milestone -3. Review accomplishments - See what was built -4. Done for now +## To Continue + +Run `/clear`, then paste: +``` +/gsd:complete-milestone +``` + +Other options: +- Add another phase: `/gsd:add-phase ` +- Review accomplishments before archiving ``` **If phase complete but more phases remain:** @@ -1267,11 +1277,22 @@ Summary: .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md Phase [Z]: [Name] COMPLETE - all [Y] plans finished. -What's next? -1. Discuss Phase [X+1] context (/gsd:discuss-phase [X+1]) -2. Plan Phase [X+1] in detail (/gsd:plan-phase [X+1]) -3. Review phase accomplishments -4. Done for now +## To Continue + +Run `/clear`, then paste one of: + +**To discuss Phase [X+1] context first:** +``` +/gsd:discuss-phase [X+1] +``` + +**To plan Phase [X+1] directly:** +``` +/gsd:plan-phase [X+1] +``` + +Other options: +- Review phase accomplishments before continuing ``` diff --git a/get-shit-done/workflows/plan-phase.md b/get-shit-done/workflows/plan-phase.md index 4901b3e0e..a8e72aeb3 100644 --- a/get-shit-done/workflows/plan-phase.md +++ b/get-shit-done/workflows/plan-phase.md @@ -717,18 +717,16 @@ After completion, create `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md` Phase plan created: .planning/phases/XX-name/{phase}-01-PLAN.md [X] tasks defined. -What's next? - -1. Execute plan (/gsd:execute-plan .planning/phases/XX-name/{phase}-01-PLAN.md) -2. Review/adjust tasks -3. Done for now +## To Continue +Run `/clear`, then paste: +``` +/gsd:execute-plan .planning/phases/XX-name/{phase}-01-PLAN.md ``` -**If user selects "Execute plan":** -Exit skill and invoke SlashCommand("/gsd:execute-plan .planning/phases/XX-name/{phase}-01-PLAN.md") - -Note: Command is shown in the options above so user can see what will run. +Other options: +- Review/adjust tasks before executing +``` **If multiple plans:** ``` @@ -741,18 +739,16 @@ Phase plans created: Total: [X] tasks across [Y] focused plans. -What's next? - -1. Execute first plan (/gsd:execute-plan .planning/phases/XX-name/{phase}-01-PLAN.md) -2. Review/adjust tasks -3. Done for now +## To Continue +Run `/clear`, then paste: +``` +/gsd:execute-plan .planning/phases/XX-name/{phase}-01-PLAN.md ``` -**If user selects "Execute first plan":** -Exit skill and invoke SlashCommand("/gsd:execute-plan .planning/phases/XX-name/{phase}-01-PLAN.md") - -Note: Command is shown in the options above so user can see what will run. +Other options: +- Review/adjust tasks before executing +``` diff --git a/get-shit-done/workflows/resume-project.md b/get-shit-done/workflows/resume-project.md index 602eecf7f..875067f67 100644 --- a/get-shit-done/workflows/resume-project.md +++ b/get-shit-done/workflows/resume-project.md @@ -174,14 +174,28 @@ Wait for user selection. Based on user selection, route to appropriate workflow: -- **Execute plan** → EXIT and invoke SlashCommand("/gsd:execute-plan [path]") -- **Plan phase** → EXIT and invoke SlashCommand("/gsd:plan-phase [phase-number]") +- **Execute plan** → Show command for user to run after clearing: + ``` + ## To Continue + + Run `/clear`, then paste: + ``` + /gsd:execute-plan [path] + ``` + ``` +- **Plan phase** → Show command for user to run after clearing: + ``` + ## To Continue + + Run `/clear`, then paste: + ``` + /gsd:plan-phase [phase-number] + ``` + ``` - **Transition** → ./transition.md - **Review issues** → Read ISSUES.md, present summary - **Review alignment** → Read PROJECT.md, compare to current state - **Something else** → Ask what they need - -Note: Commands are shown in the presented options so user can see what will run. diff --git a/get-shit-done/workflows/transition.md b/get-shit-done/workflows/transition.md index e8eed5f74..da0d31645 100644 --- a/get-shit-done/workflows/transition.md +++ b/get-shit-done/workflows/transition.md @@ -393,14 +393,23 @@ Phase [X] marked complete. Next: Phase [X+1] - [Name] -What would you like to do? -1. Discuss Phase [X+1] context (/gsd:discuss-phase [X+1]) -2. Plan Phase [X+1] in detail (/gsd:plan-phase [X+1]) -3. Review roadmap -4. Take a break (done for now) +## To Continue + +Run `/clear`, then paste one of: + +**To discuss Phase [X+1] context first:** +``` +/gsd:discuss-phase [X+1] ``` -Wait for user selection. +**To plan Phase [X+1] directly:** +``` +/gsd:plan-phase [X+1] +``` + +Other options: +- Review roadmap before continuing +``` **If no next phase (milestone 100% complete):** @@ -423,13 +432,16 @@ Phase [X] marked complete. 🎉 Milestone [version] is 100% complete - all phases finished! -What would you like to do? -1. Complete milestone and archive (/gsd:complete-milestone [version]) -2. Review accomplishments -3. Take a break (done for now) +## To Continue + +Run `/clear`, then paste: +``` +/gsd:complete-milestone [version] ``` -Wait for user selection. +Other options: +- Review accomplishments before archiving +```