Files
msd-core/commands/gsd/progress.md
Tom Boucher d8b432da1e fix(#14): wire --auto flag through progress→next handoff (#148)
* fix(#14): document --auto in progress.md and wire chaining logic in next.md

The --auto flag was accepted by /gsd:progress --next --auto but silently
ignored: it was not documented in the <flags> section of progress.md and
had no handling in the next.md show_and_execute step, so it was dropped
at the handoff boundary and never produced step chaining.

- Add --auto and --next --auto entries to progress.md <flags>
- Update progress.md <process> to explicitly list --auto as a passthrough arg
- Add --auto chaining logic to next.md show_and_execute: after each step
  completes, re-invoke /gsd:progress --next --auto until milestone complete
  or a blocking decision is required
- Add regression test (4 assertions) covering all three fix points

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

* fix(#14): bump lint-test-file-count progress ceiling for bug-14 test

bug-14-progress-auto-flag-dropped.test.cjs resolves to the "progress"
effective prefix and legitimately grows the cluster to 6.

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

* chore(#14): add changeset fragment

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

* fix(#14): address review feedback — differentiate duplicate tests, scope assertions to specific blocks

Test 2 now extracts the <process> block and asserts --auto within it,
distinguishing it from test 1's <flags>-level check. Remaining assertions
use semantic token matches (--auto, --next --auto) that are robust to
benign reformatting.

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 18:10:19 -04:00

2.5 KiB

name, description, argument-hint, allowed-tools, requires
name description argument-hint allowed-tools requires
gsd:progress Check progress, advance workflow, or dispatch freeform intent — the unified GSD situational command [--forensic | --next | --do "task description"]
Read
Bash
Grep
Glob
SlashCommand
AskUserQuestion
phase
Check project progress, summarize recent work and what's ahead, then intelligently route to the next action.

Three modes:

  • default: Show progress report + intelligently route to the next action (execute or plan). Provides situational awareness before continuing work.
  • --next: Automatically advance to the next logical step without manual route selection. Reads STATE.md, ROADMAP.md, and phase directories. Supports --force to bypass safety gates.
  • --do "task description": Analyze freeform natural language and dispatch to the most appropriate GSD command. Never does the work itself — matches intent, confirms, hands off.
  • --forensic: Append a 6-check integrity audit after the standard progress report.
- **--next**: Detect current project state and automatically invoke the next logical GSD workflow step. Scans all prior phases for incomplete work before routing. `--next --force` bypasses safety gates. - **--next --auto**: Like `--next`, but after the determined step completes, automatically re-invokes `/gsd:progress --next --auto` to continue chaining steps until completion or a blocking decision. Enables hands-free plan→execute→verify→complete progression. - **--do "..."**: Smart dispatcher — match freeform intent to the best GSD command using routing rules, confirm the match, then hand off. - **--forensic**: Run 6-check integrity audit after the standard progress report. - **(no flag)**: Standard progress check + intelligent routing (Routes A through F).

<execution_context> @/.claude/get-shit-done/workflows/progress.md @/.claude/get-shit-done/workflows/next.md @/.claude/get-shit-done/workflows/do.md @/.claude/get-shit-done/references/ui-brand.md </execution_context>

Arguments provided: "$ARGUMENTS" Parse the first token from the provided arguments: - If it is `--next`: strip the flag, execute the next workflow (passing remaining args e.g. --force, --auto). - If it is `--do`: strip the flag, pass remainder as freeform intent to the do workflow. - Otherwise: execute the progress workflow end-to-end (pass --forensic through if present).

Preserve all routing logic from the target workflow.