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:
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user