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>
This commit is contained in:
Quang Do
2026-04-04 18:24:31 +07:00
committed by GitHub
parent 05e35ac09a
commit d4767ac2e0
173 changed files with 3461 additions and 3419 deletions

View File

@@ -46,7 +46,7 @@ the normal phase sequence and accumulate context over time.
**Plans:** 0 plans
Plans:
- [ ] TBD (promote with /gsd:review-backlog when ready)
- [ ] TBD (promote with /gsd-review-backlog when ready)
```
5. **Commit:**
@@ -62,15 +62,15 @@ the normal phase sequence and accumulate context over time.
Directory: .planning/phases/{NEXT}-{slug}/
This item lives in the backlog parking lot.
Use /gsd:discuss-phase {NEXT} to explore it further.
Use /gsd:review-backlog to promote items to active milestone.
Use /gsd-discuss-phase {NEXT} to explore it further.
Use /gsd-review-backlog to promote items to active milestone.
```
</process>
<notes>
- 999.x numbering keeps backlog items out of the active phase sequence
- Phase directories are created immediately, so /gsd:discuss-phase and /gsd:plan-phase work on them
- Phase directories are created immediately, so /gsd-discuss-phase and /gsd-plan-phase work on them
- No `Depends on:` field — backlog items are unsequenced by definition
- Sparse numbering is fine (999.1, 999.3) — always uses next-decimal
</notes>

View File

@@ -13,8 +13,8 @@ allowed-tools:
- AskUserQuestion
argument-instructions: |
Parse the argument as a phase number (integer, decimal, or letter-suffix), plus optional free-text instructions.
Example: /gsd:add-tests 12
Example: /gsd:add-tests 12 focus on edge cases in the pricing module
Example: /gsd-add-tests 12
Example: /gsd-add-tests 12 focus on edge cases in the pricing module
---
<objective>
Generate unit and E2E tests for a completed phase, using its SUMMARY.md, CONTEXT.md, and VERIFICATION.md as specifications.

View File

@@ -42,19 +42,19 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
0. **Check for audit:**
- Look for `.planning/v{{version}}-MILESTONE-AUDIT.md`
- If missing or stale: recommend `/gsd:audit-milestone` first
- If audit status is `gaps_found`: recommend `/gsd:plan-milestone-gaps` first
- If missing or stale: recommend `/gsd-audit-milestone` first
- If audit status is `gaps_found`: recommend `/gsd-plan-milestone-gaps` first
- If audit status is `passed`: proceed to step 1
```markdown
## Pre-flight Check
{If no v{{version}}-MILESTONE-AUDIT.md:}
⚠ No milestone audit found. Run `/gsd:audit-milestone` first to verify
⚠ No milestone audit found. Run `/gsd-audit-milestone` first to verify
requirements coverage, cross-phase integration, and E2E flows.
{If audit has gaps:}
⚠ Milestone audit found gaps. Run `/gsd:plan-milestone-gaps` to create
⚠ Milestone audit found gaps. Run `/gsd-plan-milestone-gaps` to create
phases that close the gaps, or proceed anyway to accept as tech debt.
{If audit passed:}
@@ -108,7 +108,7 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
- Ask about pushing tag
8. **Offer next steps:**
- `/gsd:new-milestone` — start next milestone (questioning → research → requirements → roadmap)
- `/gsd-new-milestone` — start next milestone (questioning → research → requirements → roadmap)
</process>
@@ -132,5 +132,5 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
- **Archive before deleting:** Always create archive files before updating/deleting originals
- **One-line summary:** Collapsed milestone in ROADMAP.md should be single line with link
- **Context efficiency:** Archive keeps ROADMAP.md and REQUIREMENTS.md constant size per milestone
- **Fresh requirements:** Next milestone starts with `/gsd:new-milestone` which includes requirements definition
- **Fresh requirements:** Next milestone starts with `/gsd-new-milestone` which includes requirements definition
</critical_rules>

View File

@@ -117,13 +117,13 @@ Task(
- Display root cause, confidence level, files involved, and suggested fix strategies
- Offer options:
- "Fix now" — spawn a continuation agent with `goal: find_and_fix` to apply the fix (see step 5)
- "Plan fix" — suggest `/gsd:plan-phase --gaps`
- "Plan fix" — suggest `/gsd-plan-phase --gaps`
- "Manual fix" — done
**If `## DEBUG COMPLETE` (find_and_fix mode):**
- Display root cause and fix summary
- Offer options:
- "Plan fix" — suggest `/gsd:plan-phase --gaps` if further work needed
- "Plan fix" — suggest `/gsd-plan-phase --gaps` if further work needed
- "Done" — mark resolved
**If `## CHECKPOINT REACHED`:**

View File

@@ -12,7 +12,7 @@ Analyze freeform natural language input and dispatch to the most appropriate GSD
Acts as a smart dispatcher — never does the work itself. Matches intent to the best GSD command using routing rules, confirms the match, then hands off.
Use when you know what you want but don't know which `/gsd:*` command to run.
Use when you know what you want but don't know which `/gsd-*` command to run.
</objective>
<execution_context>

View File

@@ -16,8 +16,8 @@ Execute a trivial task directly in the current context without spawning subagent
or generating PLAN.md files. For tasks too small to justify planning overhead:
typo fixes, config changes, small refactors, forgotten commits, simple additions.
This is NOT a replacement for /gsd:quick — use /gsd:quick for anything that
needs research, multi-step planning, or verification. /gsd:fast is for tasks
This is NOT a replacement for /gsd-quick — use /gsd-quick for anything that
needs research, multi-step planning, or verification. /gsd-fast is for tasks
you could describe in one sentence and execute in under 2 minutes.
</objective>

View File

@@ -30,8 +30,8 @@ Focus area: $ARGUMENTS (optional - if provided, tells agents to focus on specifi
Check for .planning/STATE.md - loads context if project already initialized
**This command can run:**
- Before /gsd:new-project (brownfield codebases) - creates codebase map first
- After /gsd:new-project (greenfield codebases) - updates codebase map as code evolves
- Before /gsd-new-project (brownfield codebases) - creates codebase map first
- After /gsd-new-project (greenfield codebases) - updates codebase map as code evolves
- Anytime to refresh codebase understanding
</context>
@@ -59,7 +59,7 @@ Check for .planning/STATE.md - loads context if project already initialized
4. Wait for agents to complete, collect confirmations (NOT document contents)
5. Verify all 7 documents exist with line counts
6. Commit codebase map
7. Offer next steps (typically: /gsd:new-project or /gsd:plan-phase)
7. Offer next steps (typically: /gsd-new-project or /gsd-plan-phase)
</process>
<success_criteria>

View File

@@ -21,7 +21,7 @@ Brownfield equivalent of new-project. Project exists, PROJECT.md has history. Ga
- `.planning/ROADMAP.md` — phase structure (continues numbering)
- `.planning/STATE.md` — reset for new milestone
**After:** `/gsd:plan-phase [N]` to start execution.
**After:** `/gsd-plan-phase [N]` to start execution.
</objective>
<execution_context>

View File

@@ -29,7 +29,7 @@ Initialize a new project through unified flow: questioning → research (optiona
- `.planning/ROADMAP.md` — phase structure
- `.planning/STATE.md` — project memory
**After this command:** Run `/gsd:plan-phase 1` to start execution.
**After this command:** Run `/gsd-plan-phase 1` to start execution.
</objective>
<execution_context>

View File

@@ -30,7 +30,7 @@ Create a physical workspace directory containing copies of specified git repos (
- `<path>/.planning/` — independent planning directory
- `<path>/<repo>/` — git worktree or clone for each specified repo
**After this command:** `cd` into the workspace and run `/gsd:new-project` to initialize GSD.
**After this command:** `cd` into the workspace and run `/gsd-new-project` to initialize GSD.
</objective>
<execution_context>

View File

@@ -10,11 +10,11 @@ allowed-tools:
- AskUserQuestion
---
<objective>
Create all phases necessary to close gaps identified by `/gsd:audit-milestone`.
Create all phases necessary to close gaps identified by `/gsd-audit-milestone`.
Reads MILESTONE-AUDIT.md, groups gaps into logical phases, creates phase entries in ROADMAP.md, and offers to plan each phase.
One command creates all fix phases — no manual `/gsd:add-phase` per gap.
One command creates all fix phases — no manual `/gsd-add-phase` per gap.
</objective>
<execution_context>

View File

@@ -40,7 +40,7 @@ Phase number: $ARGUMENTS (optional — auto-detects next unplanned phase if omit
- `--gaps` — Gap closure mode (reads VERIFICATION.md, skips research)
- `--skip-verify` — Skip verification loop
- `--prd <file>` — Use a PRD/acceptance criteria file instead of discuss-phase. Parses requirements into CONTEXT.md automatically. Skips discuss-phase entirely.
- `--reviews` — Replan incorporating cross-AI review feedback from REVIEWS.md (produced by `/gsd:review`)
- `--reviews` — Replan incorporating cross-AI review feedback from REVIEWS.md (produced by `/gsd-review`)
- `--text` — Use plain-text numbered lists instead of TUI menus (required for `/rc` remote sessions)
Normalize phase input in step 2 before any directory lookups.

View File

@@ -16,7 +16,7 @@ milestone arrives. Seeds solve context rot: instead of a one-liner in Deferred t
reads, a seed preserves the full WHY, WHEN to surface, and breadcrumbs to details.
Creates: .planning/seeds/SEED-NNN-slug.md
Consumed by: /gsd:new-milestone (scans seeds and presents matches)
Consumed by: /gsd-new-milestone (scans seeds and presents matches)
</objective>
<execution_context>

View File

@@ -13,7 +13,7 @@ allowed-tools:
---
<objective>
Generate a developer behavioral profile from session analysis (or questionnaire) and produce artifacts (USER-PROFILE.md, /gsd:dev-preferences, CLAUDE.md section) that personalize Claude's responses.
Generate a developer behavioral profile from session analysis (or questionnaire) and produce artifacts (USER-PROFILE.md, /gsd-dev-preferences, CLAUDE.md section) that personalize Claude's responses.
Routes to the profile-user workflow which orchestrates the full flow: consent gate, session analysis or questionnaire fallback, profile generation, result display, and artifact selection.
</objective>

View File

@@ -115,7 +115,7 @@ Read `backup-meta.json` from the patches directory.
```
No local patches found. Nothing to reapply.
Local patches are automatically saved when you run /gsd:update
Local patches are automatically saved when you run /gsd-update
after modifying any GSD workflow, command, or agent files.
```
Exit.

View File

@@ -1,6 +1,6 @@
---
name: gsd:research-phase
description: Research how to implement a phase (standalone - usually use /gsd:plan-phase instead)
description: Research how to implement a phase (standalone - usually use /gsd-plan-phase instead)
argument-hint: "[phase]"
allowed-tools:
- Read
@@ -11,7 +11,7 @@ allowed-tools:
<objective>
Research how to implement a phase. Spawns gsd-phase-researcher agent with phase context.
**Note:** This is a standalone research command. For most workflows, use `/gsd:plan-phase` which integrates research automatically.
**Note:** This is a standalone research command. For most workflows, use `/gsd-plan-phase` which integrates research automatically.
**Use this command when:**
- You want to research without planning yet
@@ -115,7 +115,7 @@ Mode: ecosystem
</additional_context>
<downstream_consumer>
Your RESEARCH.md will be loaded by `/gsd:plan-phase` which uses specific sections:
Your RESEARCH.md will be loaded by `/gsd-plan-phase` which uses specific sections:
- `## Standard Stack` → Plans use these libraries
- `## Architecture Patterns` → Task structure follows these
- `## Don't Hand-Roll` → Tasks NEVER build custom solutions for listed problems

View File

@@ -13,7 +13,7 @@ allowed-tools:
<objective>
Invoke external AI CLIs (Gemini, Claude, Codex, OpenCode) to independently review phase plans.
Produces a structured REVIEWS.md with per-reviewer feedback that can be fed back into
planning via /gsd:plan-phase --reviews.
planning via /gsd-plan-phase --reviews.
**Flow:** Detect CLIs → Build review prompt → Invoke each CLI → Collect responses → Write REVIEWS.md
</objective>

View File

@@ -11,7 +11,7 @@ allowed-tools:
- AskUserQuestion
---
<objective>
Bridge local completion → merged PR. After /gsd:verify-work passes, ship the work: push branch, create PR with auto-generated body, optionally trigger review, and track the merge.
Bridge local completion → merged PR. After /gsd-verify-work passes, ship the work: push branch, create PR with auto-generated body, optionally trigger review, and track the merge.
Closes the plan → execute → verify → ship loop.
</objective>

View File

@@ -39,7 +39,7 @@ For each thread, read the first few lines to show title and status:
If no threads exist, show:
```
No threads found. Create one with: /gsd:thread <description>
No threads found. Create one with: /gsd-thread <description>
```
</mode_list>
@@ -111,7 +111,7 @@ Create a new thread:
Thread: {slug}
File: .planning/threads/{slug}.md
Resume anytime with: /gsd:thread {slug}
Resume anytime with: /gsd-thread {slug}
```
</mode_create>
@@ -119,9 +119,9 @@ Create a new thread:
<notes>
- Threads are NOT phase-scoped — they exist independently of the roadmap
- Lighter weight than /gsd:pause-work — no phase state, no plan context
- Lighter weight than /gsd-pause-work — no phase state, no plan context
- The value is in Context and Next Steps — a cold-start session can pick up immediately
- Threads can be promoted to phases or backlog items when they mature:
/gsd:add-phase or /gsd:add-backlog with context from the thread
/gsd-add-phase or /gsd-add-backlog with context from the thread
- Thread files live in .planning/threads/ — no collision with phases or other GSD structures
</notes>

View File

@@ -16,7 +16,7 @@ Validate built features through conversational testing with persistent state.
Purpose: Confirm what Claude built actually works from user's perspective. One test at a time, plain text responses, no interrogation. When issues are found, automatically diagnose, plan fixes, and prepare for execution.
Output: {phase_num}-UAT.md tracking all test results. If issues found: diagnosed gaps, verified fix plans ready for /gsd:execute-phase
Output: {phase_num}-UAT.md tracking all test results. If issues found: diagnosed gaps, verified fix plans ready for /gsd-execute-phase
</objective>
<execution_context>

View File

@@ -6,13 +6,13 @@ allowed-tools:
- Bash
---
# /gsd:workstreams
# /gsd-workstreams
Manage parallel workstreams for concurrent milestone work.
## Usage
`/gsd:workstreams [subcommand] [args]`
`/gsd-workstreams [subcommand] [args]`
### Subcommands
@@ -40,7 +40,7 @@ Display the workstreams in a table format showing name, status, current phase, a
### create
Run: `node "$GSD_TOOLS" workstream create <name> --raw --cwd "$CWD"`
After creation, display the new workstream path and suggest next steps:
- `/gsd:new-milestone --ws <name>` to set up the milestone
- `/gsd-new-milestone --ws <name>` to set up the milestone
### status
Run: `node "$GSD_TOOLS" workstream status <name> --raw --cwd "$CWD"`
@@ -61,7 +61,7 @@ Run: `node "$GSD_TOOLS" workstream complete <name> --raw --cwd "$CWD"`
Archive the workstream to milestones/.
### resume
Set the workstream as active and suggest `/gsd:resume-work --ws <name>`.
Set the workstream as active and suggest `/gsd-resume-work --ws <name>`.
## Step 3: Display Results