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.
- package/LICENSE +21 -0
- package/README.md +15 -9
- package/agents/{gsp-accessibility-auditor.md → gsp-auditor.md} +17 -14
- package/agents/gsp-brand-auditor.md +97 -0
- package/agents/gsp-brand-strategist.md +64 -27
- package/agents/{gsp-design-engineer.md → gsp-builder.md} +12 -9
- package/agents/gsp-campaign-director.md +50 -11
- package/agents/gsp-codebase-scanner.md +171 -0
- package/agents/gsp-critic.md +18 -13
- package/agents/gsp-designer.md +126 -0
- package/agents/gsp-identity-designer.md +90 -0
- package/agents/gsp-project-researcher.md +102 -0
- package/agents/gsp-researcher.md +54 -18
- package/agents/gsp-reviewer.md +66 -0
- package/agents/gsp-scoper.md +103 -0
- package/agents/gsp-system-architect.md +91 -26
- package/agents/gsp-verbal-strategist.md +84 -0
- package/bin/install.js +161 -5
- package/commands/gsp/brand-audit.md +116 -0
- package/commands/gsp/brand-discover.md +17 -0
- package/commands/gsp/brand-identity.md +200 -0
- package/commands/gsp/brand-patterns.md +223 -0
- package/commands/gsp/brand-research.md +99 -0
- package/commands/gsp/brand-strategy.md +140 -0
- package/commands/gsp/brand-system.md +17 -0
- package/commands/gsp/brand-verbal.md +94 -0
- package/commands/gsp/brand.md +9 -83
- package/commands/gsp/brief.md +142 -0
- package/commands/gsp/build.md +49 -41
- package/commands/gsp/critique.md +140 -0
- package/commands/gsp/design.md +65 -50
- package/commands/gsp/discover.md +17 -0
- package/commands/gsp/doctor.md +319 -0
- package/commands/gsp/help.md +85 -38
- package/commands/gsp/identity.md +18 -0
- package/commands/gsp/launch.md +55 -35
- package/commands/gsp/new-project.md +5 -86
- package/commands/gsp/new.md +237 -0
- package/commands/gsp/plan.md +18 -0
- package/commands/gsp/progress.md +58 -26
- package/commands/gsp/research.md +91 -34
- package/commands/gsp/review.md +115 -59
- package/commands/gsp/strategy.md +18 -0
- package/commands/gsp/system.md +8 -65
- package/commands/gsp/update.md +102 -0
- package/commands/gsp/verbal.md +18 -0
- package/package.json +2 -2
- package/prompts/01-design-system-architect.md +35 -3
- package/prompts/03-ui-ux-pattern-master.md +11 -1
- package/prompts/09-design-to-code-translator.md +9 -0
- package/prompts/10-project-scoper.md +51 -0
- package/prompts/11-deliverable-reviewer.md +58 -0
- package/prompts/12-project-researcher.md +57 -0
- package/references/brand-archetypes.md +151 -0
- package/references/brand-prism.md +138 -0
- package/references/chunk-format.md +48 -0
- package/references/design-trends.md +47 -0
- package/references/positioning-frameworks.md +197 -0
- package/references/questioning.md +1 -1
- package/references/trends/aurora-gradients.md +245 -0
- package/references/trends/bento-grid.md +473 -0
- package/references/trends/claymorphism.md +232 -0
- package/references/trends/dark-mode-oled.md +282 -0
- package/references/trends/glassmorphism.md +455 -0
- package/references/trends/kinetic-typography.md +277 -0
- package/references/trends/liquid-glass.md +236 -0
- package/references/trends/micro-interactions.md +307 -0
- package/references/trends/neubrutalism.md +276 -0
- package/references/voice-tone.md +193 -0
- package/scripts/gsp-statusline.js +1 -1
- package/templates/branding/brief.md +74 -0
- package/templates/branding/config.json +26 -0
- package/templates/branding/roadmap.md +43 -0
- package/templates/branding/state.md +29 -0
- package/templates/changelog.md +4 -0
- package/templates/codebase-inventory.md +71 -0
- package/templates/exports-index.md +93 -0
- package/templates/manifest.md +19 -0
- package/templates/phases/brief.md +53 -0
- package/templates/phases/build.md +24 -48
- package/templates/phases/critique.md +68 -0
- package/templates/phases/design.md +54 -32
- package/templates/phases/discover.md +60 -0
- package/templates/phases/identity.md +78 -0
- package/templates/phases/launch.md +48 -55
- package/templates/phases/research.md +75 -47
- package/templates/phases/review.md +27 -75
- package/templates/phases/strategy.md +67 -0
- package/templates/phases/system.md +84 -78
- package/templates/phases/verbal.md +63 -0
- package/templates/{project.md → projects/brief.md} +13 -17
- package/templates/projects/config.json +32 -0
- package/templates/projects/roadmap.md +59 -0
- package/templates/{state.md → projects/state.md} +19 -9
- package/agents/gsp-spec-engineer.md +0 -121
- package/agents/gsp-ui-designer.md +0 -59
- package/commands/gsp/spec.md +0 -88
- package/templates/config.json +0 -26
- package/templates/phases/brand.md +0 -60
- package/templates/phases/spec.md +0 -46
- package/templates/roadmap.md +0 -62
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp:brand-identity
|
|
3
|
+
description: Brand identity — verbal + visual identity (phases 3-4)
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- Task
|
|
9
|
+
- WebSearch
|
|
10
|
+
- WebFetch
|
|
11
|
+
---
|
|
12
|
+
<context>
|
|
13
|
+
Phases 3-4 of the GSP branding diamond. Runs verbal identity (voice, tone, messaging) and visual identity (logo, color, typography) as a single command. Handles skip logic — if one phase is already complete, runs only the remaining one.
|
|
14
|
+
</context>
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Build the brand's verbal and visual identity.
|
|
18
|
+
|
|
19
|
+
**Input:** Strategy chunks + BRIEF.md
|
|
20
|
+
**Output:** `.design/branding/{brand}/verbal/` + `.design/branding/{brand}/identity/` + `palettes.json`
|
|
21
|
+
**Agents:** `gsp-verbal-strategist` (phase 3), `gsp-identity-designer` (phase 4)
|
|
22
|
+
</objective>
|
|
23
|
+
|
|
24
|
+
<execution_context>
|
|
25
|
+
@/Users/jubs/.claude/get-shit-pretty/templates/phases/verbal.md
|
|
26
|
+
@/Users/jubs/.claude/get-shit-pretty/references/voice-tone.md
|
|
27
|
+
@/Users/jubs/.claude/get-shit-pretty/prompts/02-brand-identity-creator.md
|
|
28
|
+
@/Users/jubs/.claude/get-shit-pretty/templates/phases/identity.md
|
|
29
|
+
</execution_context>
|
|
30
|
+
|
|
31
|
+
<process>
|
|
32
|
+
## Step 0: Resolve brand
|
|
33
|
+
|
|
34
|
+
Scan `.design/branding/` for brand directories. If only one brand exists, use it. If multiple, ask the user which brand to work on.
|
|
35
|
+
|
|
36
|
+
Set `BRAND_PATH` = `.design/branding/{brand}`
|
|
37
|
+
|
|
38
|
+
If BRAND_PATH doesn't exist, tell the user to run `/gsp:new` first.
|
|
39
|
+
|
|
40
|
+
## Step 1: Validate prerequisites
|
|
41
|
+
|
|
42
|
+
Read `{BRAND_PATH}/STATE.md`. Strategy (phase 2) must be complete. If not, tell the user: "Strategy isn't complete yet. Run `/gsp:brand-strategy` first."
|
|
43
|
+
|
|
44
|
+
Load:
|
|
45
|
+
- `{BRAND_PATH}/BRIEF.md` — company, audience, goals
|
|
46
|
+
- `{BRAND_PATH}/strategy/INDEX.md` → load all strategy chunks
|
|
47
|
+
- Fallback: `{BRAND_PATH}/strategy/STRATEGY.md` (legacy monolith). Log: "⚠️ Legacy strategy format detected."
|
|
48
|
+
|
|
49
|
+
## Step 2: Check progress
|
|
50
|
+
|
|
51
|
+
Read `{BRAND_PATH}/STATE.md` for phases 3 and 4 status.
|
|
52
|
+
|
|
53
|
+
- Phase 3 `complete` → skip verbal, go to phase 4
|
|
54
|
+
- Phase 4 `complete` → skip visual, go to summary
|
|
55
|
+
- Both `complete` → show summary and route to next command
|
|
56
|
+
- `pending` or `needs-revision` → run that phase
|
|
57
|
+
|
|
58
|
+
## Step 2.5: Voice direction (interactive, before verbal agent)
|
|
59
|
+
|
|
60
|
+
Load `{BRAND_PATH}/strategy/archetype.md` communication style + `{BRAND_PATH}/strategy/brand-prism.md` personality.
|
|
61
|
+
If `{BRAND_PATH}/audit/` exists, load `audit/brand-inventory.md` voice samples.
|
|
62
|
+
|
|
63
|
+
Present voice direction:
|
|
64
|
+
|
|
65
|
+
"Your archetype ({archetype}) communicates with {style}.
|
|
66
|
+
{If evolve: "Your current voice sounds like: {samples from audit}.
|
|
67
|
+
We're {preserving/evolving} it."}
|
|
68
|
+
|
|
69
|
+
Here are two directions:
|
|
70
|
+
A: {direction} — '{example sentence}'
|
|
71
|
+
B: {direction} — '{example sentence}'
|
|
72
|
+
|
|
73
|
+
Which resonates? Or describe what you hear."
|
|
74
|
+
|
|
75
|
+
Confirm voice direction. This direction is passed to the verbal strategist agent.
|
|
76
|
+
|
|
77
|
+
## Step 3: Verbal identity (if needed)
|
|
78
|
+
|
|
79
|
+
Spawn the `gsp-verbal-strategist` agent with:
|
|
80
|
+
- All strategy chunks (or STRATEGY.md fallback content)
|
|
81
|
+
- The BRIEF.md content (for audience context)
|
|
82
|
+
- The verbal identity template
|
|
83
|
+
- The voice-tone reference
|
|
84
|
+
- User-confirmed voice direction from Step 2.5
|
|
85
|
+
- `{BRAND_PATH}/audit/brand-inventory.md` voice samples (if exist)
|
|
86
|
+
- **Output path:** `{BRAND_PATH}/verbal/`
|
|
87
|
+
|
|
88
|
+
The agent writes chunks directly to the verbal directory:
|
|
89
|
+
1. `brand-voice.md`
|
|
90
|
+
2. `tone-spectrum.md`
|
|
91
|
+
3. `voice-chart.md`
|
|
92
|
+
4. `messaging-matrix.md`
|
|
93
|
+
5. `brand-narrative.md`
|
|
94
|
+
6. `tagline-directions.md`
|
|
95
|
+
7. `nomenclature.md`
|
|
96
|
+
8. `INDEX.md`
|
|
97
|
+
|
|
98
|
+
Update `{BRAND_PATH}/STATE.md`:
|
|
99
|
+
- Set Phase 3 (Verbal) status to `complete`
|
|
100
|
+
- Record completion date
|
|
101
|
+
|
|
102
|
+
Display progress: "Verbal identity complete. Moving to visual identity..."
|
|
103
|
+
|
|
104
|
+
## Step 3.5: Visual direction (interactive, before identity agent)
|
|
105
|
+
|
|
106
|
+
Load `{BRAND_PATH}/discover/mood-board-direction.md` + `{BRAND_PATH}/strategy/archetype.md` visual tendencies.
|
|
107
|
+
If `{BRAND_PATH}/audit/` exists, load `audit/brand-inventory.md` (current colors, typography).
|
|
108
|
+
|
|
109
|
+
Present visual direction:
|
|
110
|
+
|
|
111
|
+
"Here's where research and strategy point visually:
|
|
112
|
+
|
|
113
|
+
From research mood board:
|
|
114
|
+
Colors: {hex values from mood-board-direction.md}
|
|
115
|
+
Typography: {typefaces from mood-board-direction.md}
|
|
116
|
+
Imagery: {style from mood-board-direction.md}
|
|
117
|
+
|
|
118
|
+
From archetype ({name}):
|
|
119
|
+
Visual tendencies: {from archetype.md}
|
|
120
|
+
|
|
121
|
+
{If evolve: "Current brand uses {colors, fonts from audit}.
|
|
122
|
+
Evolution map says: preserve {X}, evolve {Y}, replace {Z}."}
|
|
123
|
+
|
|
124
|
+
My recommendation: {direction + reasoning}
|
|
125
|
+
|
|
126
|
+
Logo exploration angles:
|
|
127
|
+
1. {concept A}
|
|
128
|
+
2. {concept B}
|
|
129
|
+
3. {concept C}
|
|
130
|
+
|
|
131
|
+
Thoughts? Visual references or hard constraints?"
|
|
132
|
+
|
|
133
|
+
Confirm visual direction. This direction and the mood-board-direction.md content are passed to the identity designer agent.
|
|
134
|
+
|
|
135
|
+
## Step 4: Visual identity (if needed)
|
|
136
|
+
|
|
137
|
+
Load verbal chunks (just created or pre-existing):
|
|
138
|
+
- `{BRAND_PATH}/verbal/INDEX.md` → load `brand-voice.md`, `tone-spectrum.md`
|
|
139
|
+
- Fallback: `{BRAND_PATH}/verbal/VERBAL.md` (legacy monolith). Log: "⚠️ Legacy verbal format detected."
|
|
140
|
+
|
|
141
|
+
Spawn the `gsp-identity-designer` agent with:
|
|
142
|
+
- The BRIEF.md content
|
|
143
|
+
- Selected strategy chunks (brand-prism, archetype, positioning, brand-platform)
|
|
144
|
+
- Selected verbal chunks (brand-voice, tone-spectrum)
|
|
145
|
+
- The Brand Identity Creator prompt (02)
|
|
146
|
+
- The identity output template
|
|
147
|
+
- `{BRAND_PATH}/discover/mood-board-direction.md` content
|
|
148
|
+
- User-confirmed visual direction from Step 3.5
|
|
149
|
+
- `{BRAND_PATH}/audit/brand-inventory.md` (if exists)
|
|
150
|
+
- `{BRAND_PATH}/audit/evolution-map.md` (if exists)
|
|
151
|
+
- **Output path:** `{BRAND_PATH}/identity/`
|
|
152
|
+
|
|
153
|
+
The agent writes chunks directly to the identity directory:
|
|
154
|
+
1. `logo-directions.md`
|
|
155
|
+
2. `color-system.md`
|
|
156
|
+
3. `typography.md`
|
|
157
|
+
4. `imagery-style.md`
|
|
158
|
+
5. `brand-applications.md`
|
|
159
|
+
6. `brand-book.md`
|
|
160
|
+
7. `palettes.json`
|
|
161
|
+
8. `INDEX.md`
|
|
162
|
+
|
|
163
|
+
Update `{BRAND_PATH}/STATE.md`:
|
|
164
|
+
- Set Phase 4 (Identity) status to `complete`
|
|
165
|
+
- Record completion date
|
|
166
|
+
- Set Prettiness Level to 80%
|
|
167
|
+
|
|
168
|
+
## Step 4.5: Perspective check
|
|
169
|
+
|
|
170
|
+
Before finalizing, load `{BRAND_PATH}/discover/audience-personas.md` and present stakeholder reactions:
|
|
171
|
+
|
|
172
|
+
"Before we finalize the identity, let me stress-test from three angles:
|
|
173
|
+
|
|
174
|
+
The Customer ({primary persona name from audience-personas.md}):
|
|
175
|
+
"{reaction to specific visual and verbal elements — would they trust/engage/buy?}"
|
|
176
|
+
|
|
177
|
+
The Skeptic (internal stakeholder):
|
|
178
|
+
"{challenges the boldest visual decision — color gamble, typography risk, logo direction. Raises the 'what if' scenario.}"
|
|
179
|
+
|
|
180
|
+
The Competitor ({top competitor name}):
|
|
181
|
+
"{how they'd respond — is the brand visually differentiated enough? Where's the vulnerability?}"
|
|
182
|
+
|
|
183
|
+
Any of these concerns resonate? Want to adjust before we lock in?"
|
|
184
|
+
|
|
185
|
+
If user wants changes → loop back to adjust identity outputs.
|
|
186
|
+
If confirmed → proceed.
|
|
187
|
+
|
|
188
|
+
## Step 5: Present identity summary
|
|
189
|
+
|
|
190
|
+
Display a summary covering both verbal and visual:
|
|
191
|
+
- **Archetype expression** — how the archetype manifests in voice and visuals
|
|
192
|
+
- **Voice attributes** — top 3 voice characteristics
|
|
193
|
+
- **Logo directions** — number of directions and brief descriptions
|
|
194
|
+
- **Color system** — primary palette summary
|
|
195
|
+
- **Typography** — chosen typefaces
|
|
196
|
+
|
|
197
|
+
## Step 6: Route next
|
|
198
|
+
|
|
199
|
+
"Run `/gsp:brand-patterns` to build your design system and see the full brand preview."
|
|
200
|
+
</process>
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp:brand-patterns
|
|
3
|
+
description: Design system + brand preview + diamond transition
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- Task
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
|
+
---
|
|
12
|
+
<context>
|
|
13
|
+
Phase 5 of the GSP branding diamond. Builds the design system (foundations, components, tokens), generates a self-contained brand preview HTML, and transitions the user from the branding diamond to the project diamond.
|
|
14
|
+
|
|
15
|
+
Adapts strategy based on codebase context — generates from scratch, extends an existing system, or redesigns with migration mapping.
|
|
16
|
+
</context>
|
|
17
|
+
|
|
18
|
+
<objective>
|
|
19
|
+
Build the design system, generate brand preview, and complete the branding diamond.
|
|
20
|
+
|
|
21
|
+
**Input:** Brand identity + strategy + verbal + BRIEF.md
|
|
22
|
+
**Output:** `{brand}/system/` (foundations/, components/, principles.md, tokens.json, INDEX.md) + `{brand}/preview.html`
|
|
23
|
+
**Agent:** `gsp-system-architect`
|
|
24
|
+
</objective>
|
|
25
|
+
|
|
26
|
+
<execution_context>
|
|
27
|
+
@/Users/jubs/.claude/get-shit-pretty/prompts/01-design-system-architect.md
|
|
28
|
+
@/Users/jubs/.claude/get-shit-pretty/templates/phases/system.md
|
|
29
|
+
@/Users/jubs/.claude/get-shit-pretty/references/design-tokens.md
|
|
30
|
+
</execution_context>
|
|
31
|
+
|
|
32
|
+
<process>
|
|
33
|
+
## Step 0: Resolve brand
|
|
34
|
+
|
|
35
|
+
Scan `.design/branding/` for brand directories. If only one brand exists, use it. If multiple, ask the user which brand to work on.
|
|
36
|
+
|
|
37
|
+
Set `BRAND_PATH` = `.design/branding/{brand}`
|
|
38
|
+
|
|
39
|
+
If BRAND_PATH doesn't exist, tell the user to run `/gsp:new` first.
|
|
40
|
+
|
|
41
|
+
## Step 1: Load context
|
|
42
|
+
|
|
43
|
+
### Identity (chunk-first)
|
|
44
|
+
|
|
45
|
+
Read `{BRAND_PATH}/identity/INDEX.md`. If it exists, load all identity chunks + `palettes.json`.
|
|
46
|
+
|
|
47
|
+
Fallback: read `{BRAND_PATH}/identity/IDENTITY.md` (legacy monolith) + `palettes.json`. Log: "⚠️ Legacy identity format detected — consider re-running /gsp:brand-identity for chunk output."
|
|
48
|
+
|
|
49
|
+
If neither exists, check if identity phase is complete in brand STATE.md. If not, tell the user to complete brand identity first (run `/gsp:brand-identity`).
|
|
50
|
+
|
|
51
|
+
### Strategy + Verbal (selective, chunk-first)
|
|
52
|
+
|
|
53
|
+
Read `{BRAND_PATH}/strategy/INDEX.md`. If it exists, load selective chunks.
|
|
54
|
+
Fallback: read `{BRAND_PATH}/strategy/STRATEGY.md`.
|
|
55
|
+
|
|
56
|
+
Read `{BRAND_PATH}/verbal/INDEX.md`. If it exists, load selective chunks.
|
|
57
|
+
Fallback: read `{BRAND_PATH}/verbal/VERBAL.md`.
|
|
58
|
+
|
|
59
|
+
### Brand context
|
|
60
|
+
|
|
61
|
+
Read:
|
|
62
|
+
- `{BRAND_PATH}/BRIEF.md` — company, audience, goals
|
|
63
|
+
- `{BRAND_PATH}/config.json` — get `system_config.system_strategy`, `system_config.tech_stack`
|
|
64
|
+
|
|
65
|
+
## Step 1.5: Codebase awareness
|
|
66
|
+
|
|
67
|
+
Ask the user:
|
|
68
|
+
1. "Will this brand target a specific tech stack?" (React + Tailwind, React Native + NativeWind, vanilla CSS, etc.)
|
|
69
|
+
- Store answer in `{BRAND_PATH}/config.json` → `system_config.tech_stack`
|
|
70
|
+
2. "Is there an existing design system to incorporate?"
|
|
71
|
+
- If yes: scan codebase for INVENTORY (existing tokens, components, architecture)
|
|
72
|
+
- Store strategy in `{BRAND_PATH}/config.json` → `system_config.system_strategy`
|
|
73
|
+
|
|
74
|
+
## Step 2: Determine system strategy
|
|
75
|
+
|
|
76
|
+
Read `system_config.system_strategy` from config.json (defaults to `generate` if missing).
|
|
77
|
+
|
|
78
|
+
Three strategies:
|
|
79
|
+
|
|
80
|
+
**GENERATE** (when `system_strategy` is `generate` or missing):
|
|
81
|
+
Full system from scratch. For `boilerplate` codebases, respect existing config structure (extend tailwind.config, not replace) and output tokens in the format the existing config uses (Tailwind extend, CSS custom properties, etc).
|
|
82
|
+
|
|
83
|
+
**EXTEND** (when `system_strategy` is `extend`):
|
|
84
|
+
Evolve the existing system rather than replacing it.
|
|
85
|
+
1. Audit existing tokens against the brand identity — keep what works, adjust what doesn't, fill gaps
|
|
86
|
+
2. Classify each existing component: KEEP / RESTYLE / REFACTOR / REPLACE
|
|
87
|
+
3. Design only net-new components not covered by existing ones
|
|
88
|
+
4. Output delta tokens — only new and changed values
|
|
89
|
+
5. Preserve existing naming conventions from INVENTORY.md
|
|
90
|
+
|
|
91
|
+
**REFACTOR** (when `system_strategy` is `refactor`):
|
|
92
|
+
Redesign the system from the ground up, informed by what exists.
|
|
93
|
+
1. Read and understand existing tokens, components, patterns from INVENTORY.md
|
|
94
|
+
2. Design a complete new system — same scope as GENERATE
|
|
95
|
+
3. Produce a migration mapping for every change
|
|
96
|
+
4. Preserve conventions unless the brand requires changes
|
|
97
|
+
5. Flag breaking changes explicitly
|
|
98
|
+
|
|
99
|
+
## Step 3: Spawn system architect — Pass 1: Foundations
|
|
100
|
+
|
|
101
|
+
Spawn the `gsp-system-architect` agent with:
|
|
102
|
+
- All identity chunks (or IDENTITY.md fallback) + palettes.json
|
|
103
|
+
- The BRIEF.md content
|
|
104
|
+
- The Design System Architect prompt (01)
|
|
105
|
+
- The system output template
|
|
106
|
+
- The design tokens reference
|
|
107
|
+
- The `system_strategy` and `tech_stack` values
|
|
108
|
+
- The INVENTORY.md content (when exists)
|
|
109
|
+
- **Execution mode:** `"foundations"`
|
|
110
|
+
- **Output path:** `{BRAND_PATH}/system/`
|
|
111
|
+
|
|
112
|
+
The agent writes foundations only:
|
|
113
|
+
- `system/foundations/` (6 foundation chunks)
|
|
114
|
+
- `system/principles.md`
|
|
115
|
+
- `system/tokens.json` (foundations-only)
|
|
116
|
+
|
|
117
|
+
## Step 3.5: Foundation review (interactive)
|
|
118
|
+
|
|
119
|
+
Read the foundation outputs and present:
|
|
120
|
+
|
|
121
|
+
"Here are the design system foundations:
|
|
122
|
+
Color: {semantic mapping summary from foundations/color-system.md}
|
|
123
|
+
Typography: {type scale summary from foundations/typography.md}
|
|
124
|
+
Spacing: 8px base → {scale from foundations/spacing.md}
|
|
125
|
+
Design principles: {list from principles.md}
|
|
126
|
+
|
|
127
|
+
Everything right? Adjustments before building components?"
|
|
128
|
+
|
|
129
|
+
Wait for user input. If adjustments needed, update the relevant foundation chunks.
|
|
130
|
+
|
|
131
|
+
## Step 3.75: Perspective check
|
|
132
|
+
|
|
133
|
+
Before building components, load `{BRAND_PATH}/discover/audience-personas.md` and present stakeholder reactions:
|
|
134
|
+
|
|
135
|
+
"Before we build the component library on these foundations:
|
|
136
|
+
|
|
137
|
+
The Customer ({primary persona name from audience-personas.md}):
|
|
138
|
+
"{would a user recognize this as {brand}? Does the system feel like the brand?}"
|
|
139
|
+
|
|
140
|
+
The Skeptic (internal stakeholder):
|
|
141
|
+
"{challenges system decisions — are the tokens flexible enough? Are the principles actionable?}"
|
|
142
|
+
|
|
143
|
+
The Competitor ({top competitor name}):
|
|
144
|
+
"{how does this system compare to industry standards? Any gaps?}"
|
|
145
|
+
|
|
146
|
+
Any of these concerns resonate? Want to adjust foundations before building components?"
|
|
147
|
+
|
|
148
|
+
If user wants changes → update foundations.
|
|
149
|
+
If confirmed → proceed to components pass.
|
|
150
|
+
|
|
151
|
+
## Step 4: Spawn system architect — Pass 2: Components
|
|
152
|
+
|
|
153
|
+
Spawn the `gsp-system-architect` agent with:
|
|
154
|
+
- The existing foundations from Pass 1
|
|
155
|
+
- All identity chunks + palettes.json
|
|
156
|
+
- Strategy + verbal chunks (for content component guidelines)
|
|
157
|
+
- **Execution mode:** `"components"`
|
|
158
|
+
- Confirmed component scope from Step 1.5
|
|
159
|
+
- **Output path:** `{BRAND_PATH}/system/`
|
|
160
|
+
|
|
161
|
+
The agent writes components:
|
|
162
|
+
- `system/components/` (one per component)
|
|
163
|
+
- Updates `system/tokens.json` (adds component tokens)
|
|
164
|
+
- `system/INDEX.md`
|
|
165
|
+
|
|
166
|
+
## Step 4.5: Update state
|
|
167
|
+
|
|
168
|
+
Update `{BRAND_PATH}/STATE.md`:
|
|
169
|
+
- Set Phase 5 (System) status to `complete`
|
|
170
|
+
- Record completion date
|
|
171
|
+
- Set Prettiness Level to 100%
|
|
172
|
+
|
|
173
|
+
## Step 4.75: Generate brand preview
|
|
174
|
+
|
|
175
|
+
Create a self-contained HTML file at `{BRAND_PATH}/preview.html`.
|
|
176
|
+
|
|
177
|
+
Read all available brand outputs:
|
|
178
|
+
- `{BRAND_PATH}/identity/palettes.json` — color palette data
|
|
179
|
+
- `{BRAND_PATH}/identity/color-system.md` — color roles and usage
|
|
180
|
+
- `{BRAND_PATH}/identity/typography.md` — type scale and families
|
|
181
|
+
- `{BRAND_PATH}/verbal/brand-voice.md` — voice attributes (means / doesn't mean)
|
|
182
|
+
- `{BRAND_PATH}/verbal/tagline-directions.md` — tagline candidates
|
|
183
|
+
- `{BRAND_PATH}/identity/logo-directions.md` — logo direction descriptions
|
|
184
|
+
- `{BRAND_PATH}/strategy/archetype.md` — brand archetype
|
|
185
|
+
|
|
186
|
+
Generate a single self-contained HTML file with:
|
|
187
|
+
- **Embedded Google Fonts** `<link>` for the chosen typefaces
|
|
188
|
+
- **Page styled with brand colors** — background, text, and accent colors from palettes.json
|
|
189
|
+
- **Color palette swatches** — full ramp from 50→900 stops for each palette
|
|
190
|
+
- **Typography samples** — headings and body text at the defined type scale, using the chosen font families
|
|
191
|
+
- **Voice attributes** — each attribute with "means / doesn't mean" columns
|
|
192
|
+
- **Tagline directions** — listed with descriptions
|
|
193
|
+
- **Logo direction descriptions** — each direction with rationale
|
|
194
|
+
- **Archetype summary** — the selected archetype and its expression
|
|
195
|
+
|
|
196
|
+
Tell the user: "Brand preview saved — open it in your browser to see the full brand at a glance."
|
|
197
|
+
|
|
198
|
+
## Step 5: Diamond transition
|
|
199
|
+
|
|
200
|
+
Display the branding diamond completion summary:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
🎨 Brand Complete — {brand-name}
|
|
204
|
+
═══════════════════════════════════════
|
|
205
|
+
|
|
206
|
+
✅ Research — {key finding from discover}
|
|
207
|
+
✅ Strategy — {archetype}, {positioning summary}
|
|
208
|
+
✅ Verbal — voice: {top 3 voice attributes}
|
|
209
|
+
✅ Visual — {N} logo directions, {primary colors}, {typefaces}
|
|
210
|
+
✅ Patterns — {N} foundations, {N} components, tokens.json
|
|
211
|
+
|
|
212
|
+
📄 Preview: {BRAND_PATH}/preview.html
|
|
213
|
+
|
|
214
|
+
───────────────────────────────────────
|
|
215
|
+
|
|
216
|
+
GSP uses a dual-diamond process. Your brand is Diamond 1.
|
|
217
|
+
|
|
218
|
+
Diamond 2 is design projects — each uses a brand as foundation.
|
|
219
|
+
You can have multiple projects per brand (website, app, dashboard...).
|
|
220
|
+
|
|
221
|
+
Ready to start a design project? Run /gsp:new to set one up.
|
|
222
|
+
```
|
|
223
|
+
</process>
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp:brand-research
|
|
3
|
+
description: Brand research — competitive audit, personas, SWOT, trend analysis
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- Task
|
|
9
|
+
- WebSearch
|
|
10
|
+
- WebFetch
|
|
11
|
+
---
|
|
12
|
+
<context>
|
|
13
|
+
Phase 1 of the GSP branding diamond. Researches the market landscape, builds audience personas, runs competitive audit, and performs SWOT analysis to inform brand strategy.
|
|
14
|
+
</context>
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Research and discover insights that will inform brand strategy.
|
|
18
|
+
|
|
19
|
+
**Input:** `.design/branding/{brand}/BRIEF.md`
|
|
20
|
+
**Output:** `.design/branding/{brand}/discover/` (7 chunks + INDEX.md)
|
|
21
|
+
**Agent:** `gsp-researcher`
|
|
22
|
+
</objective>
|
|
23
|
+
|
|
24
|
+
<execution_context>
|
|
25
|
+
@/Users/jubs/.claude/get-shit-pretty/prompts/07-design-trend-synthesizer.md
|
|
26
|
+
@/Users/jubs/.claude/get-shit-pretty/templates/phases/discover.md
|
|
27
|
+
@/Users/jubs/.claude/get-shit-pretty/references/design-trends.md (index — load specific trend files from references/trends/ as needed)
|
|
28
|
+
</execution_context>
|
|
29
|
+
|
|
30
|
+
<process>
|
|
31
|
+
## Step 1: Find brand
|
|
32
|
+
|
|
33
|
+
Scan `.design/branding/` for brand directories. If only one brand exists, use it. If multiple, ask the user which brand to work on.
|
|
34
|
+
|
|
35
|
+
Set `BRAND_PATH` = `.design/branding/{brand}`
|
|
36
|
+
|
|
37
|
+
Read `{BRAND_PATH}/BRIEF.md` to understand:
|
|
38
|
+
- Company, industry, audience
|
|
39
|
+
- Competitive landscape
|
|
40
|
+
- Brand personality and goals
|
|
41
|
+
|
|
42
|
+
If BRIEF.md doesn't exist, tell the user to run `/gsp:new` first.
|
|
43
|
+
|
|
44
|
+
Read `{BRAND_PATH}/config.json` to confirm `project_type` is `brand`. Note `brand_mode` value.
|
|
45
|
+
|
|
46
|
+
## Step 1.5: Research direction (interactive)
|
|
47
|
+
|
|
48
|
+
Load BRIEF.md context. If `{BRAND_PATH}/audit/` exists, also load `audit/evolution-map.md` and `audit/market-fit.md`.
|
|
49
|
+
|
|
50
|
+
Present the research plan:
|
|
51
|
+
|
|
52
|
+
"Here's my research plan:
|
|
53
|
+
Market focus: {industry from BRIEF.md}
|
|
54
|
+
Competitors to analyze: {3-5 from brief + audit}
|
|
55
|
+
Audience segments: {from brief}
|
|
56
|
+
Research emphasis: {competitive gaps / audience pain / trends}
|
|
57
|
+
{If evolve mode: "I'll benchmark your current brand against these competitors to validate what's working."}
|
|
58
|
+
|
|
59
|
+
Any competitors I'm missing? Emphasis you'd shift?"
|
|
60
|
+
|
|
61
|
+
Wait for user input. Incorporate their additions/adjustments.
|
|
62
|
+
|
|
63
|
+
## Step 2: Spawn researcher
|
|
64
|
+
|
|
65
|
+
Spawn the `gsp-researcher` agent with:
|
|
66
|
+
- The full BRIEF.md content
|
|
67
|
+
- The Design Trend Synthesizer prompt (07)
|
|
68
|
+
- The discover output template
|
|
69
|
+
- Instruction to focus on the brand's specific industry
|
|
70
|
+
- User-confirmed research scope from Step 1.5
|
|
71
|
+
- `brand_mode` from config.json
|
|
72
|
+
- Audit chunks if they exist: `{BRAND_PATH}/audit/brand-inventory.md`, `{BRAND_PATH}/audit/market-fit.md`, `{BRAND_PATH}/audit/evolution-map.md`
|
|
73
|
+
- **Output path:** `{BRAND_PATH}/discover/`
|
|
74
|
+
|
|
75
|
+
## Step 2.5: Confirm scope
|
|
76
|
+
|
|
77
|
+
After confirming the research scope with the user, proceed to spawn the researcher agent with the confirmed parameters.
|
|
78
|
+
|
|
79
|
+
The agent writes chunks directly to the discover directory:
|
|
80
|
+
1. `market-landscape.md`
|
|
81
|
+
2. `competitive-audit.md`
|
|
82
|
+
3. `swot-analysis.md`
|
|
83
|
+
4. `audience-personas.md`
|
|
84
|
+
5. `trend-analysis.md`
|
|
85
|
+
6. `strategic-recommendations.md`
|
|
86
|
+
7. `mood-board-direction.md`
|
|
87
|
+
8. `INDEX.md`
|
|
88
|
+
|
|
89
|
+
## Step 3: Update state
|
|
90
|
+
|
|
91
|
+
Update `.design/branding/{brand}/STATE.md`:
|
|
92
|
+
- Set Phase 1 (Discover) status to `complete`
|
|
93
|
+
- Record completion date
|
|
94
|
+
|
|
95
|
+
## Step 4: Route next
|
|
96
|
+
|
|
97
|
+
Display a summary of key findings and end with:
|
|
98
|
+
"Run `/gsp:brand-strategy` to define your brand's strategic direction."
|
|
99
|
+
</process>
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp:brand-strategy
|
|
3
|
+
description: Brand strategy — archetype, positioning, personality (interactive)
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- Task
|
|
9
|
+
- WebSearch
|
|
10
|
+
- WebFetch
|
|
11
|
+
---
|
|
12
|
+
<context>
|
|
13
|
+
Phase 2 of the GSP branding diamond. An interactive creative challenge — you present research insights, push opinionated strategic recommendations, and collaborate with the user to lock brand positioning before spawning the strategist agent.
|
|
14
|
+
</context>
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Define brand strategy through interactive creative direction, then produce full strategy chunks.
|
|
18
|
+
|
|
19
|
+
**Input:** `.design/branding/{brand}/BRIEF.md` + discover chunks
|
|
20
|
+
**Output:** `.design/branding/{brand}/strategy/` (6 chunks + INDEX.md)
|
|
21
|
+
**Agent:** `gsp-brand-strategist`
|
|
22
|
+
</objective>
|
|
23
|
+
|
|
24
|
+
<execution_context>
|
|
25
|
+
@/Users/jubs/.claude/get-shit-pretty/templates/phases/strategy.md
|
|
26
|
+
@/Users/jubs/.claude/get-shit-pretty/references/brand-prism.md
|
|
27
|
+
@/Users/jubs/.claude/get-shit-pretty/references/brand-archetypes.md
|
|
28
|
+
@/Users/jubs/.claude/get-shit-pretty/references/positioning-frameworks.md
|
|
29
|
+
</execution_context>
|
|
30
|
+
|
|
31
|
+
<process>
|
|
32
|
+
## Step 0: Resolve brand
|
|
33
|
+
|
|
34
|
+
Scan `.design/branding/` for brand directories. If only one brand exists, use it. If multiple, ask the user which brand to work on.
|
|
35
|
+
|
|
36
|
+
Set `BRAND_PATH` = `.design/branding/{brand}`
|
|
37
|
+
|
|
38
|
+
If BRAND_PATH doesn't exist, tell the user to run `/gsp:new` first.
|
|
39
|
+
|
|
40
|
+
## Step 1: Load research findings
|
|
41
|
+
|
|
42
|
+
Read `{BRAND_PATH}/BRIEF.md` — company, audience, personality, goals.
|
|
43
|
+
|
|
44
|
+
**Chunk-first:** Read `{BRAND_PATH}/discover/INDEX.md`. If it exists, load all 7 discover chunks.
|
|
45
|
+
|
|
46
|
+
**Fallback:** If INDEX.md doesn't exist, read `{BRAND_PATH}/discover/DISCOVER.md` (legacy monolith). Log: "⚠️ Legacy discover format detected — consider re-running /gsp:brand-research for chunk output."
|
|
47
|
+
|
|
48
|
+
Proceed without discover output if neither exists (strategy can run independently).
|
|
49
|
+
|
|
50
|
+
## Step 2: Present research highlights
|
|
51
|
+
|
|
52
|
+
Synthesize and present the most strategically relevant findings:
|
|
53
|
+
- **Competitive gaps** — where the market is underserving or homogeneous
|
|
54
|
+
- **White space** — unoccupied positions in the competitive landscape
|
|
55
|
+
- **Audience tension points** — unmet needs, frustrations, aspirations
|
|
56
|
+
- **Key trends** — relevant shifts that create strategic opportunity
|
|
57
|
+
|
|
58
|
+
Frame the strategic opportunity: "Here's what the research tells us about where this brand can win."
|
|
59
|
+
|
|
60
|
+
## Step 3: Archetype selection
|
|
61
|
+
|
|
62
|
+
Present 2-3 archetype candidates with strong opinions. Don't just list options — push a recommendation:
|
|
63
|
+
|
|
64
|
+
"Based on your market position, I'd push for **The Creator** over **The Sage**. Here's why: [reasoning from research]. The Sage space is crowded in your category — [competitor A] and [competitor B] already own it. The Creator lets you own [specific territory]."
|
|
65
|
+
|
|
66
|
+
Let the user choose, adjust, or blend. Confirm the selected archetype.
|
|
67
|
+
|
|
68
|
+
## Step 4: Positioning challenge
|
|
69
|
+
|
|
70
|
+
Show the competitive landscape as a positioning map (two key axes relevant to the industry).
|
|
71
|
+
|
|
72
|
+
Identify where competitors cluster and where the white space is:
|
|
73
|
+
|
|
74
|
+
"Everyone clusters in the [safe zone]. The white space is [bold position] — that's where you differentiate. It's riskier but ownable."
|
|
75
|
+
|
|
76
|
+
Present 2 positioning options: the safe play and the bold play. Push for differentiation. Let the user decide.
|
|
77
|
+
|
|
78
|
+
Confirm the positioning statement.
|
|
79
|
+
|
|
80
|
+
## Step 5: Brand personality
|
|
81
|
+
|
|
82
|
+
Reference the personality words from BRIEF.md. Challenge generic choices:
|
|
83
|
+
|
|
84
|
+
"'Professional' doesn't differentiate — every B2B brand claims it. What about **'precise'** or **'exacting'**? That says the same thing but only you can own it."
|
|
85
|
+
|
|
86
|
+
Sharpen to 3 distinctive personality words. Confirm with the user.
|
|
87
|
+
|
|
88
|
+
## Step 6: Spawn brand strategist
|
|
89
|
+
|
|
90
|
+
With confirmed strategic choices (archetype, positioning, personality), spawn the `gsp-brand-strategist` agent with:
|
|
91
|
+
- The full BRIEF.md content
|
|
92
|
+
- All discover chunks (or DISCOVER.md fallback content)
|
|
93
|
+
- The confirmed archetype, positioning, and personality decisions
|
|
94
|
+
- The strategy output template
|
|
95
|
+
- The brand-prism reference
|
|
96
|
+
- The brand-archetypes reference
|
|
97
|
+
- The positioning-frameworks reference
|
|
98
|
+
- `{BRAND_PATH}/audit/evolution-map.md` (if exists)
|
|
99
|
+
- `{BRAND_PATH}/audit/equity-analysis.md` (if exists)
|
|
100
|
+
- `brand_mode` from config.json
|
|
101
|
+
- **Output path:** `{BRAND_PATH}/strategy/`
|
|
102
|
+
|
|
103
|
+
The agent writes chunks directly to the strategy directory:
|
|
104
|
+
1. `brand-prism.md`
|
|
105
|
+
2. `archetype.md`
|
|
106
|
+
3. `golden-circle.md`
|
|
107
|
+
4. `positioning.md`
|
|
108
|
+
5. `brand-platform.md`
|
|
109
|
+
6. `messaging-hierarchy.md`
|
|
110
|
+
7. `INDEX.md`
|
|
111
|
+
|
|
112
|
+
## Step 6.5: Perspective check
|
|
113
|
+
|
|
114
|
+
Before finalizing strategy, load `{BRAND_PATH}/discover/audience-personas.md` and present stakeholder reactions:
|
|
115
|
+
|
|
116
|
+
"Before we lock this in, let me stress-test from three angles:
|
|
117
|
+
|
|
118
|
+
The Customer ({primary persona name from audience-personas.md}):
|
|
119
|
+
"{reaction to the positioning, archetype, and messaging — would they trust/engage/buy?}"
|
|
120
|
+
|
|
121
|
+
The Skeptic (internal stakeholder):
|
|
122
|
+
"{challenges the boldest decision — archetype choice, positioning gamble, messaging risk. Raises the 'what if' scenario.}"
|
|
123
|
+
|
|
124
|
+
The Competitor ({top competitor name from discover/competitive-audit.md}):
|
|
125
|
+
"{how they'd respond — is the brand differentiated enough to threaten them? Where's the vulnerability?}"
|
|
126
|
+
|
|
127
|
+
Any of these concerns resonate? Want to adjust before we lock in?"
|
|
128
|
+
|
|
129
|
+
If user wants changes → loop back to adjust strategy outputs.
|
|
130
|
+
If confirmed → proceed to state update.
|
|
131
|
+
|
|
132
|
+
## Step 7: Update state and route
|
|
133
|
+
|
|
134
|
+
Update `{BRAND_PATH}/STATE.md`:
|
|
135
|
+
- Set Phase 2 (Strategy) status to `complete`
|
|
136
|
+
- Record completion date
|
|
137
|
+
|
|
138
|
+
Display strategy summary (archetype, positioning, core message) and end with:
|
|
139
|
+
"Strategy locked. Run `/gsp:brand-identity` to bring this to life."
|
|
140
|
+
</process>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp:brand-system
|
|
3
|
+
description: Design system (alias for /gsp:brand-patterns)
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
---
|
|
7
|
+
<process>
|
|
8
|
+
Display:
|
|
9
|
+
```
|
|
10
|
+
🎨 GSP — Redirecting...
|
|
11
|
+
|
|
12
|
+
/gsp:brand-system now redirects to /gsp:brand-patterns.
|
|
13
|
+
The branding diamond is 4 commands: brand-research → brand-strategy → brand-identity → brand-patterns.
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Tell the user to run `/gsp:brand-patterns` instead.
|
|
17
|
+
</process>
|