fix: replace inline command invocation with clear-then-paste pattern

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 <noreply@anthropic.com>
This commit is contained in:
Lex Christopherson
2025-12-16 09:33:51 -06:00
parent e2860ed0b7
commit d45fbd845d
16 changed files with 225 additions and 146 deletions

View File

@@ -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 <description>
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 <description>")
Note: Commands are shown in options above so user can see what will run.
Other options:
- Add another phase: `/gsd:add-phase <description>`
- Review roadmap: `cat .planning/ROADMAP.md`
```
</step>
</process>

View File

@@ -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

View File

@@ -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
```
```
</step>
</process>

View File

@@ -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`
```
</step>
</process>

View File

@@ -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
```
```
</step>
</process>

View File

@@ -107,12 +107,15 @@ Check if `{phase}-{plan}-PLAN.md` exists for that number.
- Read its `<objective>` 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
</step>
<step name="edge_cases">

View File

@@ -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
```
</step>
</process>

View File

@@ -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
```
```
</step>
</process>

View File

@@ -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
```
</step>
</process>

View File

@@ -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
```
```
</step>
</process>

View File

@@ -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)

View File

@@ -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
```
</step>

View File

@@ -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>
**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 <description>`
- 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
```
</step>

View File

@@ -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
```
</step>
</process>

View File

@@ -174,14 +174,28 @@ Wait for user selection.
<step name="route_to_workflow">
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.
</step>
<step name="update_session">

View File

@@ -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>
**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
```
</if>
</step>