Files
msd-core/get-shit-done/workflows/next.md
Quang Do d4767ac2e0 fix: replace /gsd: slash command format with /gsd- skill format in all user-facing content (#1579)
* fix: replace /gsd: command format with /gsd- skill format in all suggestions

All next-step suggestions shown to users were still using the old colon
format (/gsd:xxx) which cannot be copy-pasted as skills. Migrated all
occurrences across agents/, commands/, get-shit-done/, docs/, README files,
bin/install.js (hardcoded defaults for claude runtime), and
get-shit-done/bin/lib/*.cjs (generate-claude-md templates and error messages).
Updated tests to assert new hyphen format instead of old colon format.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: migrate remaining /gsd: format to /gsd- in hooks, workflows, and sdk

Addresses remaining user-facing occurrences missed in the initial migration:

- hooks/: fix 4 user-facing messages (pause-work, update, fast, quick)
  and 2 comments in gsd-workflow-guard.js
- get-shit-done/workflows/: fix 21 Skill() literal calls that Claude
  executes directly (installer does not transform workflow content)
- sdk/prompt-sanitizer.ts: update regex to strip /gsd- format in addition
  to legacy /gsd: format; update JSDoc comment
- tests/: update autonomous-ui-steps, prompt-sanitizer to assert new format

Note: commands/gsd/*.md frontmatter (name: gsd:xxx) intentionally unchanged
— installer derives skillName from directory path, not the name field.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(plan-phase): preserve --chain flag in auto-advance sync and handle ui-phase gate in chain mode

Bug 1: step 15 sync-flag check only guarded against --auto, causing
_auto_chain_active to be cleared when plan-phase is invoked without
--auto in ARGUMENTS even though a --chain pipeline was active. Added
--chain to the guard condition, matching discuss-phase behaviour.

Bug 2: UI Design Contract gate (step 5.6) always exited the workflow
when UI-SPEC was missing, breaking the discuss --chain pipeline
silently. When _auto_chain_active is true, the gate now auto-invokes
gsd-ui-phase --auto via Skill() and continues to step 6 without
prompting. Manual invocations retain the existing AskUserQuestion flow.

* fix: remove <sub>/clear</sub> pattern and duplicate old-format command in discuss-phase.md

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 07:24:31 -04:00

3.0 KiB

Detect current project state and automatically advance to the next logical GSD workflow step. Reads project state to determine: discuss → plan → execute → verify → complete progression.

<required_reading> Read all files referenced by the invoking prompt's execution_context before starting. </required_reading>

Read project state to determine current position:
# Get state snapshot
node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" state json 2>/dev/null || echo "{}"

Also read:

  • .planning/STATE.md — current phase, progress, plan counts
  • .planning/ROADMAP.md — milestone structure and phase list

Extract:

  • current_phase — which phase is active
  • plan_of / plans_total — plan execution progress
  • progress — overall percentage
  • status — active, paused, etc.

If no .planning/ directory exists:

No GSD project detected. Run `/gsd-new-project` to get started.

Exit.

Apply routing rules based on state:

Route 1: No phases exist yet → discuss If ROADMAP has phases but no phase directories exist on disk: → Next action: /gsd-discuss-phase <first-phase>

Route 2: Phase exists but has no CONTEXT.md or RESEARCH.md → discuss If the current phase directory exists but has neither CONTEXT.md nor RESEARCH.md: → Next action: /gsd-discuss-phase <current-phase>

Route 3: Phase has context but no plans → plan If the current phase has CONTEXT.md (or RESEARCH.md) but no PLAN.md files: → Next action: /gsd-plan-phase <current-phase>

Route 4: Phase has plans but incomplete summaries → execute If plans exist but not all have matching summaries: → Next action: /gsd-execute-phase <current-phase>

Route 5: All plans have summaries → verify and complete If all plans in the current phase have summaries: → Next action: /gsd-verify-work

Route 6: Phase complete, next phase exists → advance If the current phase is complete and the next phase exists in ROADMAP: → Next action: /gsd-discuss-phase <next-phase>

Route 7: All phases complete → complete milestone If all phases are complete: → Next action: /gsd-complete-milestone

Route 8: Paused → resume If STATE.md shows paused_at: → Next action: /gsd-resume-work

Display the determination:
## GSD Next

**Current:** Phase [N] — [name] | [progress]%
**Status:** [status description]

▶ **Next step:** `/gsd-[command] [args]`
  [One-line explanation of why this is the next step]

Then immediately invoke the determined command via SlashCommand. Do not ask for confirmation — the whole point of /gsd-next is zero-friction advancement.

<success_criteria>

  • Project state correctly detected
  • Next action correctly determined from routing rules
  • Command invoked immediately without user confirmation
  • Clear status shown before invoking </success_criteria>