get-shit-pretty 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -9
  3. package/agents/{gsp-accessibility-auditor.md → gsp-auditor.md} +17 -14
  4. package/agents/gsp-brand-auditor.md +97 -0
  5. package/agents/gsp-brand-strategist.md +64 -27
  6. package/agents/{gsp-design-engineer.md → gsp-builder.md} +12 -9
  7. package/agents/gsp-campaign-director.md +50 -11
  8. package/agents/gsp-codebase-scanner.md +171 -0
  9. package/agents/gsp-critic.md +18 -13
  10. package/agents/gsp-designer.md +126 -0
  11. package/agents/gsp-identity-designer.md +90 -0
  12. package/agents/gsp-project-researcher.md +102 -0
  13. package/agents/gsp-researcher.md +54 -18
  14. package/agents/gsp-reviewer.md +66 -0
  15. package/agents/gsp-scoper.md +103 -0
  16. package/agents/gsp-system-architect.md +91 -26
  17. package/agents/gsp-verbal-strategist.md +84 -0
  18. package/bin/install.js +161 -5
  19. package/commands/gsp/brand-audit.md +116 -0
  20. package/commands/gsp/brand-discover.md +17 -0
  21. package/commands/gsp/brand-identity.md +200 -0
  22. package/commands/gsp/brand-patterns.md +223 -0
  23. package/commands/gsp/brand-research.md +99 -0
  24. package/commands/gsp/brand-strategy.md +140 -0
  25. package/commands/gsp/brand-system.md +17 -0
  26. package/commands/gsp/brand-verbal.md +94 -0
  27. package/commands/gsp/brand.md +9 -83
  28. package/commands/gsp/brief.md +142 -0
  29. package/commands/gsp/build.md +49 -41
  30. package/commands/gsp/critique.md +140 -0
  31. package/commands/gsp/design.md +65 -50
  32. package/commands/gsp/discover.md +17 -0
  33. package/commands/gsp/doctor.md +319 -0
  34. package/commands/gsp/help.md +85 -38
  35. package/commands/gsp/identity.md +18 -0
  36. package/commands/gsp/launch.md +55 -35
  37. package/commands/gsp/new-project.md +5 -86
  38. package/commands/gsp/new.md +237 -0
  39. package/commands/gsp/plan.md +18 -0
  40. package/commands/gsp/progress.md +58 -26
  41. package/commands/gsp/research.md +91 -34
  42. package/commands/gsp/review.md +115 -59
  43. package/commands/gsp/strategy.md +18 -0
  44. package/commands/gsp/system.md +8 -65
  45. package/commands/gsp/update.md +102 -0
  46. package/commands/gsp/verbal.md +18 -0
  47. package/package.json +2 -2
  48. package/prompts/01-design-system-architect.md +35 -3
  49. package/prompts/03-ui-ux-pattern-master.md +11 -1
  50. package/prompts/09-design-to-code-translator.md +9 -0
  51. package/prompts/10-project-scoper.md +51 -0
  52. package/prompts/11-deliverable-reviewer.md +58 -0
  53. package/prompts/12-project-researcher.md +57 -0
  54. package/references/brand-archetypes.md +151 -0
  55. package/references/brand-prism.md +138 -0
  56. package/references/chunk-format.md +48 -0
  57. package/references/design-trends.md +47 -0
  58. package/references/positioning-frameworks.md +197 -0
  59. package/references/questioning.md +1 -1
  60. package/references/trends/aurora-gradients.md +245 -0
  61. package/references/trends/bento-grid.md +473 -0
  62. package/references/trends/claymorphism.md +232 -0
  63. package/references/trends/dark-mode-oled.md +282 -0
  64. package/references/trends/glassmorphism.md +455 -0
  65. package/references/trends/kinetic-typography.md +277 -0
  66. package/references/trends/liquid-glass.md +236 -0
  67. package/references/trends/micro-interactions.md +307 -0
  68. package/references/trends/neubrutalism.md +276 -0
  69. package/references/voice-tone.md +193 -0
  70. package/scripts/gsp-statusline.js +1 -1
  71. package/templates/branding/brief.md +74 -0
  72. package/templates/branding/config.json +26 -0
  73. package/templates/branding/roadmap.md +43 -0
  74. package/templates/branding/state.md +29 -0
  75. package/templates/changelog.md +4 -0
  76. package/templates/codebase-inventory.md +71 -0
  77. package/templates/exports-index.md +93 -0
  78. package/templates/manifest.md +19 -0
  79. package/templates/phases/brief.md +53 -0
  80. package/templates/phases/build.md +24 -48
  81. package/templates/phases/critique.md +68 -0
  82. package/templates/phases/design.md +54 -32
  83. package/templates/phases/discover.md +60 -0
  84. package/templates/phases/identity.md +78 -0
  85. package/templates/phases/launch.md +48 -55
  86. package/templates/phases/research.md +75 -47
  87. package/templates/phases/review.md +27 -75
  88. package/templates/phases/strategy.md +67 -0
  89. package/templates/phases/system.md +84 -78
  90. package/templates/phases/verbal.md +63 -0
  91. package/templates/{project.md → projects/brief.md} +13 -17
  92. package/templates/projects/config.json +32 -0
  93. package/templates/projects/roadmap.md +59 -0
  94. package/templates/{state.md → projects/state.md} +19 -9
  95. package/agents/gsp-spec-engineer.md +0 -121
  96. package/agents/gsp-ui-designer.md +0 -59
  97. package/commands/gsp/spec.md +0 -88
  98. package/templates/config.json +0 -26
  99. package/templates/phases/brand.md +0 -60
  100. package/templates/phases/spec.md +0 -46
  101. package/templates/roadmap.md +0 -62
@@ -9,14 +9,16 @@ allowed-tools:
9
9
  - WebSearch
10
10
  ---
11
11
  <context>
12
- Phase 8 of the GSP design pipeline. Uses the Marketing Asset Factory prompt to create a full campaign asset library across channels.
12
+ Optional GSP project phase. Uses the Marketing Asset Factory prompt to create a full campaign asset library across channels. Not a mandatory phase — run when needed.
13
+
14
+ Works with the dual-diamond architecture: reads brand identity from `.design/branding/{brand}/` via `brand.ref`, reads/writes project assets in `.design/projects/{project}/`.
13
15
  </context>
14
16
 
15
17
  <objective>
16
18
  Create marketing campaign assets for product launch.
17
19
 
18
- **Input:** `.design/brand/IDENTITY.md` + `.design/screens/SCREENS.md`
19
- **Output:** `.design/launch/CAMPAIGN.md`
20
+ **Input:** Brand identity + verbal chunks (selective) + screen chunks
21
+ **Output:** `{project}/launch/` (6 chunks + INDEX.md) + exports/INDEX.md update
20
22
  **Agent:** `gsp-campaign-director`
21
23
  </objective>
22
24
 
@@ -26,50 +28,68 @@ Create marketing campaign assets for product launch.
26
28
  </execution_context>
27
29
 
28
30
  <process>
31
+ ## Step 0: Resolve project and brand
32
+
33
+ Scan `.design/projects/` for project directories. If only one project exists, use it. If multiple, ask the user which project to work on.
34
+
35
+ Set `PROJECT_PATH` = `.design/projects/{project}`
36
+
37
+ Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
38
+ - Set `BRAND_PATH` = `.design/branding/{brand}`
39
+
29
40
  ## Step 1: Load context
30
41
 
31
- Read:
32
- - `.design/brand/IDENTITY.md` — brand voice, visual identity
33
- - `.design/screens/SCREENS.md` — product screens for showcase
34
- - `.design/BRIEF.md` — audience, goals, messaging
35
- - `.design/system/SYSTEM.md` — design system for consistency
42
+ Read `{PROJECT_PATH}/config.json` to get `design_scope`.
36
43
 
37
- If IDENTITY.md doesn't exist, tell the user to run `/gsp:brand` first.
44
+ **If `design_scope` is `tokens`:**
45
+ 1. Display: "Launch phase skipped — tokens-only projects don't need marketing campaign assets."
46
+ 2. **Stop here**
38
47
 
39
- ## Step 2: Spawn campaign director
48
+ ### Identity (selective, chunk-first)
49
+
50
+ Read `{BRAND_PATH}/identity/INDEX.md`. If it exists, load all identity chunks.
51
+ Fallback: read `{BRAND_PATH}/identity/IDENTITY.md`. Log: "⚠️ Legacy identity format detected."
52
+
53
+ If neither exists, tell the user to complete the brand identity first.
40
54
 
41
- Spawn the `gsp-campaign-director` agent with:
42
- - Brand identity, screens, and brief
43
- - The Marketing Asset Factory prompt (04)
44
- - The launch output template
55
+ ### Verbal (selective, chunk-first)
45
56
 
46
- The agent should deliver:
47
- 1. Campaign strategy (objective, audience, key message, tone)
48
- 2. Google Ads (copy, visual direction, CTAs, A/B variants)
49
- 3. Meta/Instagram and TikTok ads
50
- 4. Email sequences (welcome, promo, nurture, re-engagement)
51
- 5. Landing page copy and structure
52
- 6. Social media posts
53
- 7. Sales enablement materials
54
- 8. Content marketing outlines
57
+ Read `{BRAND_PATH}/verbal/INDEX.md`. If it exists, load selective chunks (brand-voice, messaging-matrix, brand-narrative).
58
+ Fallback: read `{BRAND_PATH}/verbal/VERBAL.md`.
55
59
 
56
- ## Step 3: Write output
60
+ ### Design (chunk-first)
57
61
 
58
- Write campaign to `.design/launch/CAMPAIGN.md`.
62
+ Read `{PROJECT_PATH}/design/INDEX.md`. If it exists, load all screen chunks.
63
+ Fallback: read `{PROJECT_PATH}/screens/INDEX.md` (legacy path).
59
64
 
60
- ## Step 4: Update state
65
+ ### Other
61
66
 
62
- Update `.design/STATE.md`:
63
- - Set Phase 8 (Launch) status to `complete`
67
+ Read `{PROJECT_PATH}/BRIEF.md` — audience, goals.
68
+
69
+ ## Step 2: Spawn campaign director
70
+
71
+ Spawn the `gsp-campaign-director` agent with identity chunks, verbal chunks, screen chunks, and brief. The Marketing Asset Factory prompt (04). The launch output template.
72
+
73
+ **Output path:** `{PROJECT_PATH}/launch/`
74
+
75
+ The agent writes chunks directly:
76
+ - `launch/campaign-strategy.md`
77
+ - `launch/digital-ads.md`
78
+ - `launch/email-sequences.md`
79
+ - `launch/landing-page.md`
80
+ - `launch/social-media.md`
81
+ - `launch/sales-content.md`
82
+ - `launch/INDEX.md`
83
+ - Updates `{PROJECT_PATH}/exports/INDEX.md` (launch section)
84
+
85
+ ## Step 3: Update state
86
+
87
+ Update `{PROJECT_PATH}/STATE.md`:
88
+ - Add Launch status to `complete` under the Launch section
64
89
  - Record completion date
65
- - Set Prettiness Level to 100%
66
90
 
67
- ## Step 5: Celebrate
91
+ ## Step 4: Done
68
92
 
69
93
  Display campaign summary and:
70
- ```
71
- 🎨 Project is fully pretty! All 8 phases complete.
72
-
73
- Run /gsp:progress to see the full journey.
74
- ```
94
+ "Launch assets complete! Run `/gsp:progress` to see the full journey."
75
95
  </process>
@@ -1,98 +1,17 @@
1
1
  ---
2
2
  name: gsp:new-project
3
- description: Initialize a new design project with a design brief, roadmap, and state tracking
3
+ description: Initialize a new design project (redirects to /gsp:new)
4
4
  allowed-tools:
5
5
  - Read
6
- - Write
7
- - Bash
8
- - AskUserQuestion
9
6
  ---
10
- <context>
11
- You are the GSP (Get Shit Pretty) project initializer. Your job is to gather design requirements through conversational Q&A and produce a complete design brief.
12
- </context>
13
-
14
- <objective>
15
- Initialize a new design project through guided questioning → brief → roadmap → state.
16
-
17
- **Creates:**
18
- - `.design/BRIEF.md` — design brief (brand, audience, goals, constraints)
19
- - `.design/ROADMAP.md` — phase plan (8 phases)
20
- - `.design/STATE.md` — progress tracking
21
- - `.design/config.json` — project preferences
22
-
23
- **After this command:** Run `/gsp:research` to begin the design pipeline.
24
- </objective>
25
-
26
- <execution_context>
27
- @/Users/jubs/.claude/get-shit-pretty/references/questioning.md
28
- @/Users/jubs/.claude/get-shit-pretty/templates/project.md
29
- @/Users/jubs/.claude/get-shit-pretty/templates/roadmap.md
30
- @/Users/jubs/.claude/get-shit-pretty/templates/state.md
31
- @/Users/jubs/.claude/get-shit-pretty/templates/config.json
32
- </execution_context>
33
-
34
7
  <process>
35
- ## Step 1: Greet and orient
36
-
37
8
  Display:
38
9
  ```
39
- 🎨 GSP — Get Shit Pretty
40
- Starting new design project...
41
- ```
42
-
43
- ## Step 2: Gather the brief
44
-
45
- Use the questioning techniques from the reference. Ask in 3 conversational rounds:
10
+ 🎨 GSP — Redirecting...
46
11
 
47
- **Round 1 Context & Brand:**
48
- - What is this project? (app, website, rebrand, campaign)
49
- - Who is it for? (audience)
50
- - Why does it exist? (business goal, user need)
51
- - Existing brand? Brand personality?
52
- - Brands admired / styles to avoid?
53
-
54
- **Round 2 — Scope & Constraints:**
55
- - Platforms (web, iOS, Android)?
56
- - Tech stack preferences?
57
- - Implementation target — how will designs become code?
58
- - Using a UI kit? (shadcn/ui → `shadcn`, React Native Reusables → `rn-reusables`)
59
- - Existing design system already in the codebase? (`existing`)
60
- - Need Figma handoff? (`figma`)
61
- - Straight to code with no specific UI kit? (`code`)
62
- - Skip specs entirely, build directly from screen designs? (`skip`)
63
- - Default: `code`
64
- - Key screens/pages needed?
65
- - Accessibility level (default: WCAG 2.2 AA)?
66
- - Timeline and constraints?
67
-
68
- **Round 3 — Success & Gaps:**
69
- - What does success look like?
70
- - Any remaining questions based on gaps in rounds 1-2
71
-
72
- Use inference over interrogation — state assumptions and let them correct. Offer concrete options when answers are vague.
73
-
74
- ## Step 3: Create project structure
75
-
76
- ```bash
77
- mkdir -p .design/{research,brand,system,screens,specs,review,build,launch}
12
+ /gsp:new-project has been replaced by /gsp:new in GSP 0.4.0.
13
+ /gsp:new is a smart entry point that handles both brand creation and project setup.
78
14
  ```
79
15
 
80
- ## Step 4: Write artifacts
81
-
82
- Using the templates, fill in the gathered information:
83
- 1. Write `.design/BRIEF.md` from the project template with all gathered info
84
- 2. Write `.design/ROADMAP.md` from the roadmap template with project name and date
85
- 3. Write `.design/STATE.md` from the state template
86
- 4. Write `.design/config.json` from the config template with preferences (including `implementation_target` from Round 2)
87
-
88
- ## Step 5: Confirm and route
89
-
90
- Display a summary of the brief and confirm with the user. Show:
91
- - Project name and type
92
- - Brand personality
93
- - Target audience
94
- - Key deliverables
95
- - Phase roadmap overview
96
-
97
- End with: "Run `/gsp:research` to begin trend analysis, or `/gsp:brand` to jump straight to brand identity."
16
+ Tell the user to run `/gsp:new` instead.
98
17
  </process>
@@ -0,0 +1,237 @@
1
+ ---
2
+ name: gsp:new
3
+ description: Start a new brand or design project — smart entry point
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Bash
8
+ - AskUserQuestion
9
+ - Glob
10
+ - Grep
11
+ - Agent
12
+ ---
13
+ <context>
14
+ You are the GSP (Get Shit Pretty) entry point — a design lead starting a first call with a client. You scan the codebase and `.design/` directory, greet the user with what you found, and flow naturally into the right workflow.
15
+
16
+ GSP uses a dual-diamond architecture:
17
+ - **Diamond 1 — Branding** (5 commands, 6 phases): [brand-audit] → brand-research → brand-strategy → brand-identity → brand-patterns
18
+ - **Diamond 2 — Project** (6 phases): brief → research → design → critique → build → review
19
+ - **Optional:** launch (on request)
20
+
21
+ Multiple brands and projects can coexist. Projects reference a brand.
22
+ </context>
23
+
24
+ <objective>
25
+ Through 2-3 rounds of natural conversation, gather a complete brief and create the right project structure (brand, project, or both). Route the user to their first phase command.
26
+ </objective>
27
+
28
+ <execution_context>
29
+ @/Users/jubs/.claude/get-shit-pretty/references/questioning.md
30
+ @/Users/jubs/.claude/get-shit-pretty/templates/branding/brief.md
31
+ @/Users/jubs/.claude/get-shit-pretty/templates/branding/state.md
32
+ @/Users/jubs/.claude/get-shit-pretty/templates/branding/config.json
33
+ @/Users/jubs/.claude/get-shit-pretty/templates/branding/roadmap.md
34
+ @/Users/jubs/.claude/get-shit-pretty/templates/projects/brief.md
35
+ @/Users/jubs/.claude/get-shit-pretty/templates/projects/state.md
36
+ @/Users/jubs/.claude/get-shit-pretty/templates/projects/config.json
37
+ @/Users/jubs/.claude/get-shit-pretty/templates/projects/roadmap.md
38
+ @/Users/jubs/.claude/get-shit-pretty/templates/codebase-inventory.md
39
+ @/Users/jubs/.claude/get-shit-pretty/templates/exports-index.md
40
+ </execution_context>
41
+
42
+ <questioning_principles>
43
+ Follow these principles throughout all conversations:
44
+
45
+ 1. **Inference over interrogation** — state assumptions, let them correct. "SaaS dashboard for enterprise" → you already know: professional, data-dense, web-first.
46
+ 2. **Progressive disclosure** — don't dump all questions at once. Flow in natural rounds.
47
+ 3. **Concrete options over open-ended** — "More like Stripe's clean approach or Duolingo's playful style?" beats "What style do you want?"
48
+ 4. **Know when you have enough** — fill gaps with smart defaults. Don't over-ask.
49
+ 5. **One message per round** — ask a cohesive set of related questions, not one at a time.
50
+ </questioning_principles>
51
+
52
+ <process>
53
+ ## Step 1: Scan and greet (parallel)
54
+
55
+ ### Step 1a: Scan `.design/` (sync — fast)
56
+
57
+ Scan `.design/` for existing brands and projects:
58
+ - Check `.design/branding/` for brand directories (each has a `config.json` with `project_type: "brand"`)
59
+ - Check `.design/projects/` for project directories (each has a `config.json` with `project_type: "design"`)
60
+ - Check for legacy flat `.design/config.json` at root (pre-0.4.0 structure)
61
+ - For each brand/project found, read its `config.json` to get phase statuses
62
+ - If `.design/CHANGELOG.md` doesn't exist, create it from `templates/changelog.md`
63
+
64
+ ### Step 1b: Spawn codebase scanner (background)
65
+
66
+ Spawn the `gsp-codebase-scanner` agent with `run_in_background: true`:
67
+ - Use `subagent_type: "Explore"` with the scanner's methodology
68
+ - Prompt: "Scan this codebase following the gsp-codebase-scanner methodology. Return a structured report with classification, tech stack, components, tokens, architecture patterns, conventions, and key paths. Read `.design/CHANGELOG.md` and scan `.design/projects/*/STATE.md` for sibling project context. If no package.json exists, return a minimal greenfield report."
69
+ - Store the task reference — you'll consume results in Step 3 Round 2 or Step 4.
70
+
71
+ ### Step 1c: Greet
72
+
73
+ Greet based on `.design/` findings from Step 1a. No menus, no formal option lists — just talk.
74
+
75
+ If a `package.json` exists (quick check via glob — don't wait for the full scan), add to the greeting: "I'm scanning your codebase in the background — I'll factor in what I find."
76
+
77
+ Adapt the greeting based on what the scan revealed:
78
+
79
+ **Fresh start (no `.design/`):**
80
+ ```
81
+ 🎨 GSP — Get Shit Pretty
82
+
83
+ Looks like a fresh start! Tell me about what you're building — I'll figure out whether we need brand work, a design project, or both.
84
+ ```
85
+
86
+ **Legacy `.design/` detected (flat structure, pre-0.4.0):**
87
+ Acknowledge the legacy project, note it still works with current commands. Offer to start a new brand or project alongside it using the new dual-diamond structure.
88
+
89
+ **Brands exist, no projects:**
90
+ Show existing brands with status. Then: "Want to start a design project with one of these, or create a new brand?"
91
+
92
+ **Brands + projects exist:**
93
+ Show a brief overview of brands and projects with status. Then: "Starting something new, or continuing work on one of these?" If continuing → route to `/gsp:progress`.
94
+
95
+ **Codebase signals found (any state):**
96
+ Weave in what you found: "I see you've got a [Next.js/React Native/etc.] project here with [Tailwind/shadcn/etc.] — I'll factor that into the design scope."
97
+
98
+ **Important:** Only use `AskUserQuestion` if there's genuine ambiguity that can't be resolved conversationally — e.g., picking between 3+ existing brands. For the initial "what are you building?" — just ask in prose and let them answer naturally.
99
+
100
+ ## Step 2: Route based on conversation
101
+
102
+ From the greeting exchange, determine which flow to run:
103
+
104
+ - **Brand identity (new)** → Brand flow (Step 3) with `brand_mode: "new"`
105
+ - **Brand identity (evolve)** → Brand flow (Step 3) with `brand_mode: "evolve"`. Detect evolve signals: user mentions existing brand, assets, guidelines, rebrand, refresh, modernize, evolve, update, redesign.
106
+ - **Design project** → Check for brands first. If none exist, explain they need a brand first. Offer to create one, then auto-transition to project flow.
107
+ - **Full design (brand + project)** → Brand flow (Step 3), with E2E flag so brand completion auto-transitions to project flow (Step 4)
108
+ - **Continue existing work** → route to `/gsp:progress`
109
+
110
+ ## Step 3: Brand flow
111
+
112
+ 1. Ask for brand name (kebab-case, e.g., "acme-corp")
113
+ 2. Create directory structure:
114
+ ```bash
115
+ mkdir -p .design/branding/{name}/{audit,discover,strategy,verbal,identity,system}
116
+ ```
117
+
118
+ 3. Gather brand brief in 2 rounds:
119
+
120
+ **Round 1 — Core:**
121
+ - Company name, industry, founding story
122
+ - Target audience (primary + secondary)
123
+ - Brand personality — how should the brand feel? Offer concrete comparisons: "More like Stripe's precision or Mailchimp's warmth?"
124
+ - Mission and vision
125
+ - Brands admired / styles to avoid
126
+ - What the brand should NEVER be
127
+
128
+ Use inference: if they say "fintech for Gen Z" → infer modern, mobile-first, bold. State your inferences and let them correct.
129
+
130
+ **Round 2 — Gaps & constraints:**
131
+ - Existing brand assets? (logo, colors, guidelines)
132
+ - Competitive landscape — who are the main competitors?
133
+ - Timeline and budget constraints
134
+ - Any non-negotiables?
135
+ - **Check background scan:** If the codebase scanner has returned results, weave tech findings into the conversation naturally — e.g., "I see you're running Next.js with Tailwind and shadcn — that'll inform the design system." If not done yet, continue without — results will be available by Step 4.
136
+ - State your understanding back: "Here's what I'm hearing: [summary]. Anything I'm missing?"
137
+
138
+ **Evolve mode additions (when `brand_mode` is `evolve`):**
139
+ Add to Round 2:
140
+ - Current brand age — how long has the current brand been in use?
141
+ - Existing guidelines? — do they have a brand book, style guide, or guidelines doc?
142
+ - Brand equity — what's working well with the current brand?
143
+ - Pain points — what's not working or feels outdated?
144
+ - Evolution scope — what should be preserved vs evolved vs replaced?
145
+
146
+ Fill in the Brand Mode and Existing Brand State sections of the brief template.
147
+
148
+ Skip or compress rounds if the user gives enough upfront. Don't over-ask.
149
+
150
+ 4. Write artifacts:
151
+ - `.design/branding/{name}/BRIEF.md` from brand brief template
152
+ - `.design/branding/{name}/STATE.md` from brand state template
153
+ - `.design/branding/{name}/config.json` from brand config template
154
+ - `.design/branding/{name}/ROADMAP.md` from brand roadmap template
155
+
156
+ 5. Set `brand_mode` in config.json based on Step 2 routing decision.
157
+
158
+ 6. Route:
159
+ - **Brand-only, new →** "Run `/gsp:brand-research` to start brand research."
160
+ - **Brand-only, evolve →** "Let's audit your current brand first. Run `/gsp:brand-audit`."
161
+ - **E2E, new →** "Brand brief created. Now let's scope the design project." → continue to Step 4.
162
+ - **E2E, evolve →** "Brand brief created. Run `/gsp:brand-audit` to audit your existing brand first, then we'll scope the design project."
163
+
164
+ ## Step 4: Project flow
165
+
166
+ 1. Show available brands:
167
+ ```
168
+ Available brands:
169
+ • acme-corp (complete — all 5 phases)
170
+ • beta-labs (in progress — 2/5 phases)
171
+ ```
172
+
173
+ If no brands exist, explain that a brand is needed first and offer to create one.
174
+ If only one complete brand exists, suggest it as default.
175
+
176
+ 2. User selects a brand.
177
+
178
+ 3. Ask for project name (kebab-case, e.g., "acme-website")
179
+
180
+ 4. Create directory structure:
181
+ ```bash
182
+ mkdir -p .design/projects/{name}/{brief,research,design,critique,build,review,codebase,exports}
183
+ ```
184
+
185
+ ### Detect git context
186
+
187
+ 1. Run `git branch --show-current` to detect current branch
188
+ 2. If a branch is detected, present it: "I see you're on `{branch}` — I'll track this as the project branch."
189
+ 3. Let user confirm or provide a different branch name
190
+ 4. Store in config.json `git.branch` and STATE.md `## Git` table
191
+ 5. If no git repo detected, skip silently — leave fields as "—"
192
+
193
+ 5. Write `brand.ref`:
194
+ ```
195
+ brand: {brand-name}
196
+ path: ../../branding/{brand-name}/
197
+ consumed_at: {ISO_DATE}
198
+ identity_hash: {first 8 chars of md5 of IDENTITY.md content, or "pending" if identity not complete}
199
+ ```
200
+ Write to `.design/projects/{name}/brand.ref`
201
+
202
+ 6. Consume background scan results:
203
+ - Retrieve the codebase scanner's structured report (guaranteed done by now — conversation has been going for multiple rounds)
204
+ - If **greenfield**: no INVENTORY.md needed, note classification for config.json
205
+ - If **boilerplate** or **existing**: write INVENTORY.md to `.design/projects/{name}/codebase/INVENTORY.md` using the scanner's report and the `templates/codebase-inventory.md` template
206
+ - Auto-infer `implementation_target` from the scanner's tech stack and components
207
+
208
+ 7. Gather project brief in 2 rounds:
209
+
210
+ **Round 1 — What we're building:**
211
+ - What are we building? (app, website, dashboard, etc.)
212
+ - Present background scan findings: "I found a {classification} {framework} project with {details}. Want to build on that?"
213
+ - Platforms (web, iOS, Android)?
214
+ - Tech stack preferences? (confirm inferred or ask)
215
+ - Implementation target (present options based on codebase analysis)
216
+ - Design scope (full | partial | tokens)
217
+ - Key screens/flows needed?
218
+
219
+ Use inference from the codebase scan — don't re-ask what you can already see.
220
+
221
+ **Round 2 — Success & gaps:**
222
+ - Success criteria
223
+ - Timeline, constraints
224
+ - Any remaining gaps
225
+ - State your understanding back: "Here's what I'm hearing: [summary]. Anything I'm missing?"
226
+
227
+ Skip or compress rounds if the user gives enough upfront. Don't over-ask.
228
+
229
+ 8. Write artifacts:
230
+ - `.design/projects/{name}/BRIEF.md` from project brief template
231
+ - `.design/projects/{name}/STATE.md` from project state template — populate `## Git` table with detected/confirmed branch (or "—")
232
+ - `.design/projects/{name}/config.json` from project config template (include `brand_ref` field) — populate `git.branch` with detected/confirmed branch (or empty string)
233
+ - `.design/projects/{name}/ROADMAP.md` from project roadmap template
234
+ - `.design/projects/{name}/exports/INDEX.md` from exports-index template
235
+
236
+ 9. Route: "Run `/gsp:brief` to scope the project. Treat this project as a bounded issue (or set of issues) and a PR — ship small, ship complete."
237
+ </process>
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: gsp:plan
3
+ description: Project scoping (alias for /gsp:brief)
4
+ allowed-tools:
5
+ - Read
6
+ ---
7
+ <process>
8
+ Display:
9
+ ```
10
+ 🎨 GSP — Redirecting...
11
+
12
+ /gsp:plan now redirects to /gsp:brief in GSP 0.4.0.
13
+ The brief phase handles project scoping, adaptations, and gap analysis.
14
+ ```
15
+
16
+ Tell the user to run `/gsp:brief` instead.
17
+ </process>
18
+ </output>
@@ -1,61 +1,93 @@
1
1
  ---
2
2
  name: gsp:progress
3
- description: Check design project progress — "How pretty are we?"
3
+ description: Check design progress — "How pretty are we?"
4
4
  allowed-tools:
5
5
  - Read
6
6
  - Glob
7
7
  ---
8
8
  <context>
9
- Status check for GSP design projects. Reads STATE.md and shows phase progress with a prettiness meter.
9
+ Status check for GSP design projects. Shows progress for all brands and projects with prettiness meters.
10
10
  </context>
11
11
 
12
12
  <objective>
13
- Display current project progress and route to next action.
13
+ Display current progress across all brands and projects.
14
14
  </objective>
15
15
 
16
16
  <process>
17
- ## Step 1: Find project
17
+ ## Step 1: Scan for instances
18
18
 
19
- Check for `.design/STATE.md` in the current directory.
19
+ Check `.design/branding/` for brand directories and `.design/projects/` for project directories.
20
20
 
21
- If not found, display:
22
- ```
23
- No GSP project found. Run /gsp:new-project to start one.
24
- ```
21
+ If neither found, check for legacy `.design/STATE.md`:
22
+ - If found: show legacy progress (same as v0.3.0)
23
+ - If not: display "No GSP project found. Run `/gsp:new` to start one."
25
24
 
26
- ## Step 2: Read state
25
+ ## Step 2: Read state for each instance
27
26
 
28
- Read `.design/STATE.md` and `.design/BRIEF.md`.
27
+ For each brand: read `STATE.md` and `BRIEF.md`
28
+ For each project: read `STATE.md`, `BRIEF.md`, and `brand.ref`
29
29
 
30
30
  ## Step 3: Calculate prettiness
31
31
 
32
- Count completed and skipped phases out of 8. Both count toward progress. Calculate percentage.
32
+ Brands: count completed/skipped phases out of 5
33
+ Projects: count completed/skipped phases out of 6
33
34
 
34
35
  ## Step 4: Display progress
35
36
 
36
37
  ```
37
38
  🎨 GSP — How Pretty Are We?
38
39
 
39
- Project: {PROJECT_NAME}
40
- Prettiness: ██████░░░░░░░░░░ 37.5% (3/8 phases)
40
+ ─── Brands ────────────────────────────
41
+
42
+ acme-corp
43
+ ████████████████ 100% (5/5 phases)
44
+ ✅ Research ✅ Strategy ✅ Verbal ✅ Identity ✅ Patterns
45
+
46
+ beta-labs
47
+ ██████░░░░░░░░░░ 40% (2/5 phases)
48
+ ✅ Research ✅ Strategy ⬜ Verbal ⬜ Identity ⬜ Patterns
49
+ → Next: /gsp:brand-identity
50
+
51
+ ─── Projects ──────────────────────────
52
+
53
+ acme-website (brand: acme-corp)
54
+ ██████████░░░░░░ 66% (4/6 phases)
55
+ ✅ Brief ✅ Research ✅ Design ✅ Critique ⬜ Build ⬜ Review
56
+ → Next: /gsp:build
41
57
 
42
- Phase Progress:
43
- 1. Research — complete
44
- 2. Brand — complete
45
- 3. System — complete
46
- 4. Design — pending ← you are here
47
- ⬜ 5. Spec — pending
48
- ⬜ 6. Review — pending
49
- ⬜ 7. Build — pending
50
- ⬜ 8. Launch — pending
58
+ acme-mobile (brand: acme-corp)
59
+ ███░░░░░░░░░░░░░ 16% (1/6 phases)
60
+ Brief ⬜ Research ⬜ Design ⬜ Critique ⬜ Build ⬜ Review
61
+ Next: /gsp:research
62
+ 📦 Launch: complete
51
63
 
52
- Review Loops: {COUNT}
64
+ ─── Overall ───────────────────────────
65
+
66
+ Brands: 1 complete, 1 in progress
67
+ Projects: 0 complete, 2 in progress
53
68
  ```
54
69
 
55
70
  Use ✅ for complete, ⏭️ for skipped, 🔄 for in-progress/needs-revision, ⬜ for pending.
56
71
 
72
+ Show Launch status separately if present (not counted in phase progress).
73
+
57
74
  ## Step 5: Route next
58
75
 
59
- Identify the next pending phase and suggest the command:
60
- "Next up: Run `/gsp:{next_phase}` to continue."
76
+ For each in-progress instance, identify the next pending phase and suggest the command:
77
+
78
+ **Brand routing:**
79
+ - Phase 1 (Research) pending → `/gsp:brand-research`
80
+ - Phase 2 (Strategy) pending → `/gsp:brand-strategy`
81
+ - Phase 3 or 4 (Verbal/Identity) pending → `/gsp:brand-identity` (handles both phases with skip logic)
82
+ - Phase 5 (Patterns) pending → `/gsp:brand-patterns`
83
+
84
+ **Project routing:**
85
+ - Brief pending → `/gsp:brief`
86
+ - Research pending → `/gsp:research`
87
+ - Design pending → `/gsp:design`
88
+ - Critique pending → `/gsp:critique`
89
+ - Build pending → `/gsp:build`
90
+ - Review pending → `/gsp:review`
91
+
92
+ If everything is complete: "All brands and projects are fully pretty! 🎨"
61
93
  </process>