Files
msd-core/commands/gsd/sketch.md
Tom Boucher 81f9534b5a feat(adr-0002): command contract validation module + prose @-ref cleanup + workflow extraction
ADR-0002: commands/gsd/*.md contract now enforced at two layers:

LINT (scripts/lint-command-contract.cjs — new CI step):
- name: present, starts with gsd: or gsd-
- description: non-empty
- allowed-tools: non-empty, all entries canonical
- execution_context @-refs: resolve on disk, no trailing prose on same line
- handles both @~/ and $HOME/ path prefixes

TEST (tests/command-contract.test.cjs — 361 assertions):
- Behavioral contract for all 65 command files
- Replaces scattered coverage in enh-2790 + bug-3135
- Per-command per-rule test — one failure names the exact file + rule

CI (.github/workflows/test.yml):
- 'Lint — command contract (ADR-0002)' step added to lint-tests job

PROSE @-REF CLEANUP (39 command files, ~900 tokens/invocation recovered):
- Removed redundant @~/.claude/get-shit-done/... paths from <process> prose
- execution_context block is now the single authoritative load declaration
- Routing commands (sketch, spike, update, pause-work, etc.) keep routing
  instructions; only the inert path token is stripped

WORKFLOW EXTRACTION (debug.md + thread.md, ~15,000 chars / ~3,750 tokens):
- get-shit-done/workflows/debug.md: full process extracted from commands/gsd/debug.md
- get-shit-done/workflows/thread.md: full process extracted from commands/gsd/thread.md
- Command files reduced to frontmatter + objective + execution_context + context
- debug.md: 9,603 → 1,703 chars; thread.md: 7,868 → 585 chars

RENAME:
- get-shit-done/workflows/extract_learnings.md → extract-learnings.md
  (aligns with hyphen convention of all other workflow files)

DOCS:
- docs/INVENTORY.md: count 85→87, new rows, rename row, fix add-todo --backlog attribution
- docs/INVENTORY-MANIFEST.json: +debug.md +thread.md +extract-learnings.md -extract_learnings.md

Closes ADR-0002 implementation.
2026-05-05 15:18:13 -04:00

2.3 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
gsd:sketch Sketch UI/design ideas with throwaway HTML mockups, or propose what to sketch next (frontier mode) [design idea to explore] [--quick] [--text] [--wrap-up] or [frontier]
Read
Write
Edit
Bash
Grep
Glob
AskUserQuestion
WebSearch
WebFetch
mcp__context7__resolve-library-id
mcp__context7__query-docs
Explore design directions through throwaway HTML mockups before committing to implementation. Each sketch produces 2-3 variants for comparison. Sketches live in `.planning/sketches/` and integrate with GSD commit patterns, state tracking, and handoff workflows. Loads spike findings to ground mockups in real data shapes and validated interaction patterns.

Two modes:

  • Idea mode (default) — describe a design idea to sketch
  • Frontier mode (no argument or "frontier") — analyzes existing sketch landscape and proposes consistency and frontier sketches

Does not require /gsd-new-project — auto-creates .planning/sketches/ if needed.

<execution_context> @/.claude/get-shit-done/workflows/sketch.md @/.claude/get-shit-done/workflows/sketch-wrap-up.md @/.claude/get-shit-done/references/ui-brand.md @/.claude/get-shit-done/references/sketch-theme-system.md @/.claude/get-shit-done/references/sketch-interactivity.md @/.claude/get-shit-done/references/sketch-tooling.md @~/.claude/get-shit-done/references/sketch-variant-patterns.md </execution_context>

<runtime_note> Copilot (VS Code): Use vscode_askquestions wherever this workflow calls AskUserQuestion. </runtime_note>

Design idea: $ARGUMENTS

Available flags:

  • --quick — Skip mood/direction intake, jump straight to decomposition and building. Use when the design direction is already clear.
  • --wrap-up — Package sketch design findings into a persistent project skill for future build conversations. Runs the sketch-wrap-up workflow.
Parse the first token of $ARGUMENTS: - If it is `--wrap-up`: strip the flag, execute the sketch-wrap-up workflow end-to-end. - Otherwise: execute the sketch workflow end-to-end.

Preserve all workflow gates (intake, decomposition, target stack research, variant evaluation, MANIFEST updates, commit patterns).