Files
msd-core/get-shit-done/templates/state.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

4.4 KiB
Raw Blame History

State Template

Template for .planning/STATE.md — the project's living memory.


File Template

# Project State

## Project Reference

See: .planning/PROJECT.md (updated [date])

**Core value:** [One-liner from PROJECT.md Core Value section]
**Current focus:** [Current phase name]

## Current Position

Phase: [X] of [Y] ([Phase name])
Plan: [A] of [B] in current phase
Status: [Ready to plan / Planning / Ready to execute / In progress / Phase complete]
Last activity: [YYYY-MM-DD] — [What happened]

Progress: [░░░░░░░░░░] 0%

## Performance Metrics

**Velocity:**
- Total plans completed: [N]
- Average duration: [X] min
- Total execution time: [X.X] hours

**By Phase:**

| Phase | Plans | Total | Avg/Plan |
|-------|-------|-------|----------|
| - | - | - | - |

**Recent Trend:**
- Last 5 plans: [durations]
- Trend: [Improving / Stable / Degrading]

*Updated after each plan completion*

## Accumulated Context

### Decisions

Decisions are logged in PROJECT.md Key Decisions table.
Recent decisions affecting current work:

- [Phase X]: [Decision summary]
- [Phase Y]: [Decision summary]

### Pending Todos

[From .planning/todos/pending/ — ideas captured during sessions]

None yet.

### Blockers/Concerns

[Issues that affect future work]

None yet.

## Session Continuity

Last session: [YYYY-MM-DD HH:MM]
Stopped at: [Description of last completed action]
Resume file: [Path to .continue-here*.md if exists, otherwise "None"]

STATE.md is the project's short-term memory spanning all phases and sessions.

Problem it solves: Information is captured in summaries, issues, and decisions but not systematically consumed. Sessions start without context.

Solution: A single, small file that's:

  • Read first in every workflow
  • Updated after every significant action
  • Contains digest of accumulated context
  • Enables instant session restoration

Creation: After ROADMAP.md is created (during init)

  • Reference PROJECT.md (read it for current context)
  • Initialize empty accumulated context sections
  • Set position to "Phase 1 ready to plan"

Reading: First step of every workflow

  • progress: Present status to user
  • plan: Inform planning decisions
  • execute: Know current position
  • transition: Know what's complete

Writing: After every significant action

  • execute: After SUMMARY.md created
    • Update position (phase, plan, status)
    • Note new decisions (detail in PROJECT.md)
    • Add blockers/concerns
  • transition: After phase marked complete
    • Update progress bar
    • Clear resolved blockers
    • Refresh Project Reference date

Project Reference

Points to PROJECT.md for full context. Includes:

  • Core value (the ONE thing that matters)
  • Current focus (which phase)
  • Last update date (triggers re-read if stale)

Claude reads PROJECT.md directly for requirements, constraints, and decisions.

Current Position

Where we are right now:

  • Phase X of Y — which phase
  • Plan A of B — which plan within phase
  • Status — current state
  • Last activity — what happened most recently
  • Progress bar — visual indicator of overall completion

Progress calculation: (completed plans) / (total plans across all phases) × 100%

Performance Metrics

Track velocity to understand execution patterns:

  • Total plans completed
  • Average duration per plan
  • Per-phase breakdown
  • Recent trend (improving/stable/degrading)

Updated after each plan completion.

Accumulated Context

Decisions: Reference to PROJECT.md Key Decisions table, plus recent decisions summary for quick access. Full decision log lives in PROJECT.md.

Pending Todos: Ideas captured via /gsd-add-todo

  • Count of pending todos
  • Reference to .planning/todos/pending/
  • Brief list if few, count if many (e.g., "5 pending todos — see /gsd-check-todos")

Blockers/Concerns: From "Next Phase Readiness" sections

  • Issues that affect future work
  • Prefix with originating phase
  • Cleared when addressed

Session Continuity

Enables instant resumption:

  • When was last session
  • What was last completed
  • Is there a .continue-here file to resume from

<size_constraint>

Keep STATE.md under 100 lines.

It's a DIGEST, not an archive. If accumulated context grows too large:

  • Keep only 3-5 recent decisions in summary (full log in PROJECT.md)
  • Keep only active blockers, remove resolved ones

The goal is "read once, know where we are" — if it's too long, that fails.

</size_constraint>