get-shit-pretty 0.5.0 → 0.5.2
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/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/bin/install.js +38 -19
- package/gsp/agents/gsp-accessibility-auditor.md +1 -4
- package/gsp/agents/gsp-ascii-artist.md +1 -1
- package/gsp/agents/gsp-brand-auditor.md +0 -2
- package/gsp/agents/gsp-brand-strategist.md +0 -2
- package/gsp/agents/gsp-brand-syncer.md +125 -0
- package/gsp/agents/gsp-builder.md +11 -14
- package/gsp/agents/gsp-campaign-director.md +0 -20
- package/gsp/agents/gsp-critic.md +15 -18
- package/gsp/agents/gsp-designer.md +6 -6
- package/gsp/agents/gsp-identity-designer.md +0 -4
- package/gsp/agents/{gsp-system-architect.md → gsp-pattern-architect.md} +5 -67
- package/gsp/agents/gsp-project-researcher.md +0 -21
- package/gsp/agents/gsp-researcher.md +0 -2
- package/gsp/agents/gsp-reviewer.md +4 -14
- package/gsp/agents/gsp-scoper.md +1 -22
- package/gsp/hooks/hooks.json +11 -0
- package/gsp/prompts/01-design-system-architect.md +0 -46
- package/gsp/prompts/02-brand-identity-creator.md +1 -14
- package/gsp/prompts/03-ui-ux-pattern-master.md +1 -21
- package/gsp/prompts/04-marketing-asset-factory.md +1 -14
- package/gsp/prompts/05-implementation-spec-expert.md +0 -27
- package/gsp/prompts/06-design-critique-partner.md +1 -17
- package/gsp/prompts/07-design-trend-synthesizer.md +2 -29
- package/gsp/prompts/08-accessibility-auditor.md +4 -19
- package/gsp/prompts/09-design-to-code-translator.md +21 -20
- package/gsp/prompts/10-project-scoper.md +2 -36
- package/gsp/prompts/11-deliverable-reviewer.md +1 -50
- package/gsp/prompts/12-project-researcher.md +0 -39
- package/gsp/references/anti-patterns.md +173 -0
- package/gsp/references/block-patterns.md +135 -0
- package/gsp/references/chunk-format.md +31 -0
- package/gsp/references/phase-transitions.md +78 -33
- package/gsp/references/style-preset-schema.md +63 -0
- package/gsp/references/visual-effects.md +475 -0
- package/gsp/references/visual-taste.md +120 -0
- package/gsp/skills/gsp-accessibility/SKILL.md +1 -1
- package/gsp/skills/gsp-brand-audit/SKILL.md +1 -3
- package/gsp/skills/gsp-brand-identity/SKILL.md +1 -4
- package/gsp/skills/gsp-brand-patterns/SKILL.md +30 -50
- package/gsp/skills/gsp-brand-research/SKILL.md +7 -4
- package/gsp/skills/gsp-brand-strategy/SKILL.md +1 -4
- package/gsp/skills/gsp-brand-sync/SKILL.md +101 -0
- package/gsp/skills/gsp-design-system/SKILL.md +1 -1
- package/gsp/skills/gsp-doctor/SKILL.md +7 -7
- package/gsp/skills/gsp-help/SKILL.md +2 -1
- package/gsp/skills/gsp-launch/SKILL.md +2 -3
- package/gsp/skills/gsp-project-brief/SKILL.md +7 -22
- package/gsp/skills/gsp-project-build/SKILL.md +108 -26
- package/gsp/skills/gsp-project-critique/SKILL.md +5 -33
- package/gsp/skills/gsp-project-design/SKILL.md +25 -26
- package/gsp/skills/gsp-project-research/SKILL.md +8 -17
- package/gsp/skills/gsp-project-review/SKILL.md +6 -37
- package/gsp/skills/gsp-start/SKILL.md +29 -12
- package/gsp/skills/gsp-style/SKILL.md +20 -223
- package/gsp/skills/gsp-typescale/SKILL.md +23 -319
- package/gsp/skills/gsp-update/SKILL.md +18 -10
- package/gsp/templates/branding/brief.md +13 -1
- package/gsp/templates/branding/roadmap.md +2 -2
- package/gsp/templates/branding/state.md +1 -1
- package/gsp/templates/phases/brief.md +1 -1
- package/gsp/templates/phases/{system.md → patterns.md} +3 -3
- package/gsp/templates/phases/review.md +1 -1
- package/package.json +1 -1
- package/scripts/gsp-context-recovery.sh +71 -0
- package/scripts/gsp-statusline.js +5 -1
|
@@ -27,6 +27,8 @@ Critique design quality and audit accessibility compliance.
|
|
|
27
27
|
@${CLAUDE_SKILL_DIR}/../../prompts/08-accessibility-auditor.md
|
|
28
28
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/critique.md
|
|
29
29
|
@${CLAUDE_SKILL_DIR}/../../references/nielsen-heuristics.md
|
|
30
|
+
@${CLAUDE_SKILL_DIR}/../../references/visual-taste.md
|
|
31
|
+
@${CLAUDE_SKILL_DIR}/../../references/anti-patterns.md
|
|
30
32
|
@${CLAUDE_SKILL_DIR}/../../references/wcag-checklist.md
|
|
31
33
|
@${CLAUDE_SKILL_DIR}/../../references/color-composition.md
|
|
32
34
|
</execution_context>
|
|
@@ -52,8 +54,8 @@ Read `{PROJECT_PATH}/config.json` to get `implementation_target`, `design_scope`
|
|
|
52
54
|
**Identity:** Read `{BRAND_PATH}/identity/INDEX.md` → load all chunks.
|
|
53
55
|
Fallback: `{BRAND_PATH}/identity/IDENTITY.md`.
|
|
54
56
|
|
|
55
|
-
**
|
|
56
|
-
Fallback: `{BRAND_PATH}/
|
|
57
|
+
**Patterns:** Read `{BRAND_PATH}/patterns/INDEX.md` → load all chunks.
|
|
58
|
+
Fallback: `{BRAND_PATH}/patterns/SYSTEM.md`.
|
|
57
59
|
|
|
58
60
|
**Design:** Read `{PROJECT_PATH}/design/INDEX.md` → load all chunks.
|
|
59
61
|
Fallback: `{PROJECT_PATH}/design/SCREENS.md` or `{PROJECT_PATH}/screens/INDEX.md` (legacy).
|
|
@@ -147,36 +149,6 @@ If verdict is **Fail**:
|
|
|
147
149
|
|
|
148
150
|
## Step 6: Phase transition output
|
|
149
151
|
|
|
150
|
-
Render
|
|
151
|
-
|
|
152
|
-
**If Pass/Conditional Pass:**
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
◆ critique complete — designs critiqued
|
|
156
|
-
|
|
157
|
-
critique/
|
|
158
|
-
├── {actual files written}
|
|
159
|
-
└── INDEX.md
|
|
160
|
-
|
|
161
|
-
──────────────────────────────
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
Then use `AskUserQuestion` with 3 options:
|
|
165
|
-
- **Continue to build** — "implement designs in the codebase"
|
|
166
|
-
- **View progress** — "see the full dashboard"
|
|
167
|
-
- **Done for now** — "pick up later with /gsp:start"
|
|
168
|
-
|
|
169
|
-
**If Fail:**
|
|
170
|
-
|
|
171
|
-
```
|
|
172
|
-
◈ critique — critical issues found, revising designs
|
|
173
|
-
|
|
174
|
-
──────────────────────────────
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
Then use `AskUserQuestion` with 3 options:
|
|
178
|
-
- **Revise designs** — "address critical issues and re-run critique"
|
|
179
|
-
- **Override and continue** — "accept current designs and move to build"
|
|
180
|
-
- **View issues** — "see the full critique report"
|
|
152
|
+
Render phase transition (see `references/phase-transitions.md`). This phase has pass/fail variants — the reference covers both.
|
|
181
153
|
</process>
|
|
182
154
|
</output>
|
|
@@ -13,7 +13,7 @@ allowed-tools:
|
|
|
13
13
|
<context>
|
|
14
14
|
Phase 3 of the GSP project diamond. Uses the UI/UX Pattern Master prompt to design core screens following Apple HIG and the brand's design system.
|
|
15
15
|
|
|
16
|
-
Works with the dual-diamond architecture: reads brand system from `.design/branding/{brand}/
|
|
16
|
+
Works with the dual-diamond architecture: reads brand system from `.design/branding/{brand}/patterns/` via `brand.ref`, reads/writes project assets in `.design/projects/{project}/`.
|
|
17
17
|
</context>
|
|
18
18
|
|
|
19
19
|
<objective>
|
|
@@ -28,6 +28,9 @@ Design core UI/UX screens and interaction flows.
|
|
|
28
28
|
@${CLAUDE_SKILL_DIR}/../../prompts/03-ui-ux-pattern-master.md
|
|
29
29
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/design.md
|
|
30
30
|
@${CLAUDE_SKILL_DIR}/../../references/apple-hig-patterns.md
|
|
31
|
+
@${CLAUDE_SKILL_DIR}/../../references/visual-effects.md
|
|
32
|
+
@${CLAUDE_SKILL_DIR}/../../references/block-patterns.md
|
|
33
|
+
@${CLAUDE_SKILL_DIR}/../../references/anti-patterns.md
|
|
31
34
|
</execution_context>
|
|
32
35
|
|
|
33
36
|
<process>
|
|
@@ -40,6 +43,13 @@ Set `PROJECT_PATH` = `.design/projects/{project}`
|
|
|
40
43
|
Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
|
|
41
44
|
- Set `BRAND_PATH` = `.design/branding/{brand}`
|
|
42
45
|
|
|
46
|
+
## Step 0.5: Validate prerequisites
|
|
47
|
+
|
|
48
|
+
Read `{PROJECT_PATH}/STATE.md`. Check that Brief (Phase 1) is `complete`.
|
|
49
|
+
If not: "Brief hasn't been completed yet. Run `/gsp:project-brief` first." Then stop.
|
|
50
|
+
|
|
51
|
+
Research (Phase 2) is recommended but not required — if skipped, log: "No research artifacts found — designing from brief only."
|
|
52
|
+
|
|
43
53
|
## Step 1: Load context
|
|
44
54
|
|
|
45
55
|
Read `{PROJECT_PATH}/config.json` — get `implementation_target`, `design_scope`, `codebase_type`.
|
|
@@ -57,19 +67,27 @@ Check `{PROJECT_PATH}/STATE.md` for design status. If status is `needs-revision`
|
|
|
57
67
|
|
|
58
68
|
If `{PROJECT_PATH}/references/` exists, scan for files (images, PDFs, markdown, URLs). Pass any found references to the designer agent as additional context.
|
|
59
69
|
|
|
60
|
-
### Brand
|
|
70
|
+
### Brand patterns (chunk-first)
|
|
61
71
|
|
|
62
|
-
Read `{BRAND_PATH}/
|
|
72
|
+
Read `{BRAND_PATH}/patterns/INDEX.md`. If it exists, load all foundation chunks + selective component chunks.
|
|
63
73
|
|
|
64
|
-
Fallback: read `{BRAND_PATH}/
|
|
74
|
+
Fallback: read `{BRAND_PATH}/patterns/SYSTEM.md` (legacy monolith). Log: "⚠️ Legacy format detected — consider re-running /gsp:brand-patterns for chunk output."
|
|
65
75
|
|
|
66
76
|
If neither exists, tell the user to run `/gsp:brand-patterns` first.
|
|
67
77
|
|
|
68
78
|
### Brand context (selective)
|
|
69
79
|
|
|
70
|
-
Read `{BRAND_PATH}/identity/INDEX.md`. If it exists, load `color-system.md` and `
|
|
80
|
+
Read `{BRAND_PATH}/identity/INDEX.md`. If it exists, load `color-system.md`, `typography.md`, and `imagery-style.md`.
|
|
71
81
|
Fallback: read `{BRAND_PATH}/identity/IDENTITY.md`.
|
|
72
82
|
|
|
83
|
+
### Brand style prompt (visual DNA)
|
|
84
|
+
|
|
85
|
+
Scan `{BRAND_PATH}/patterns/` for a `.md` file that is NOT `INDEX.md`, `principles.md`, or inside `foundations/` or `components/`. This is the brand's custom style prompt (`{brand-name}.md`).
|
|
86
|
+
|
|
87
|
+
If found, read it. Pass to the designer agent in Step 3 as the **primary visual direction** — it contains design philosophy, bold visual bets, effects vocabulary, and component stylings with CSS/Tailwind hints.
|
|
88
|
+
|
|
89
|
+
If not found, proceed without it (older brands may not have this file).
|
|
90
|
+
|
|
73
91
|
### Brief (chunk-first)
|
|
74
92
|
|
|
75
93
|
Read `{PROJECT_PATH}/brief/INDEX.md`. If it exists, load `scope.md` and `target-adaptations.md`.
|
|
@@ -101,7 +119,7 @@ When `implementation_target` is not `figma`:
|
|
|
101
119
|
|
|
102
120
|
## Step 3: Spawn designer
|
|
103
121
|
|
|
104
|
-
Spawn the `gsp-designer` agent with all prior artifacts, the UI/UX Pattern Master prompt (03), design output template, Apple HIG patterns reference, implementation_target, design_scope, codebase_type, target screens (when partial), existing components inventory, custom references (when available), and critique fixes (when in revision mode).
|
|
122
|
+
Spawn the `gsp-designer` agent with all prior artifacts, the UI/UX Pattern Master prompt (03), design output template, Apple HIG patterns reference, brand style prompt ({brand-name}.md when available), implementation_target, design_scope, codebase_type, target screens (when partial), existing components inventory, custom references (when available), and critique fixes (when in revision mode).
|
|
105
123
|
|
|
106
124
|
**Output path:** `{PROJECT_PATH}/design/`
|
|
107
125
|
|
|
@@ -120,25 +138,6 @@ Update `{PROJECT_PATH}/STATE.md`:
|
|
|
120
138
|
|
|
121
139
|
## Step 5: Phase transition output
|
|
122
140
|
|
|
123
|
-
Render
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
◆ design complete — screens designed
|
|
127
|
-
|
|
128
|
-
design/
|
|
129
|
-
├── {actual screen chunks}
|
|
130
|
-
├── shared/
|
|
131
|
-
│ ├── {shared chunks}
|
|
132
|
-
│ └── component-plan.md
|
|
133
|
-
├── preview.html
|
|
134
|
-
└── INDEX.md
|
|
135
|
-
|
|
136
|
-
──────────────────────────────
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Then use `AskUserQuestion` with 3 options:
|
|
140
|
-
- **Continue to critique** — "critique designs + accessibility audit"
|
|
141
|
-
- **View progress** — "see the full dashboard"
|
|
142
|
-
- **Done for now** — "pick up later with /gsp:start"
|
|
141
|
+
Render phase transition (see `references/phase-transitions.md`).
|
|
143
142
|
</process>
|
|
144
143
|
</output>
|
|
@@ -53,7 +53,7 @@ If brief doesn't exist, tell the user to run `/gsp:project-brief` first.
|
|
|
53
53
|
|
|
54
54
|
### Brand system (selective)
|
|
55
55
|
|
|
56
|
-
Read `{BRAND_PATH}/
|
|
56
|
+
Read `{BRAND_PATH}/patterns/INDEX.md`. If it exists, load foundation chunks (to understand the design system constraints).
|
|
57
57
|
|
|
58
58
|
### Brand discovery (selective)
|
|
59
59
|
|
|
@@ -77,8 +77,14 @@ Read:
|
|
|
77
77
|
3. Route: "Run `/gsp:project-build`."
|
|
78
78
|
4. Stop here.
|
|
79
79
|
|
|
80
|
+
## Step 1.75: Pre-fetch references (background)
|
|
81
|
+
|
|
82
|
+
If competitor URLs or reference sites are mentioned in BRIEF.md or `{PROJECT_PATH}/references/`, use `WebFetch` with `run_in_background: true` to pre-fetch them. This warms content for the researcher agent.
|
|
83
|
+
|
|
80
84
|
## Step 2: Spawn project researcher
|
|
81
85
|
|
|
86
|
+
Include any pre-fetched reference content in the agent context.
|
|
87
|
+
|
|
82
88
|
Spawn the `gsp-project-researcher` agent with:
|
|
83
89
|
- Brief scope chunks
|
|
84
90
|
- Brand system foundation chunks
|
|
@@ -128,21 +134,6 @@ Update `{PROJECT_PATH}/STATE.md`:
|
|
|
128
134
|
|
|
129
135
|
## Step 4: Phase transition output
|
|
130
136
|
|
|
131
|
-
Render
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
◆ research complete — patterns and approaches researched
|
|
135
|
-
|
|
136
|
-
research/
|
|
137
|
-
├── {actual files written}
|
|
138
|
-
└── INDEX.md
|
|
139
|
-
|
|
140
|
-
──────────────────────────────
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Then use `AskUserQuestion` with 3 options:
|
|
144
|
-
- **Continue to design** — "design screens and flows"
|
|
145
|
-
- **View progress** — "see the full dashboard"
|
|
146
|
-
- **Done for now** — "pick up later with /gsp:start"
|
|
137
|
+
Render phase transition (see `references/phase-transitions.md`).
|
|
147
138
|
</process>
|
|
148
139
|
</output>
|
|
@@ -13,7 +13,7 @@ allowed-tools:
|
|
|
13
13
|
<context>
|
|
14
14
|
Phase 6 of the GSP project diamond. QA validates that the actual codebase implementation matches the design intent — checking real source files for token usage, screen coverage, component quality, and accessibility compliance.
|
|
15
15
|
|
|
16
|
-
Works with the dual-diamond architecture: reads brand system from `.design/branding/{brand}/
|
|
16
|
+
Works with the dual-diamond architecture: reads brand system from `.design/branding/{brand}/patterns/` via `brand.ref`, reads/writes project assets in `.design/projects/{project}/`.
|
|
17
17
|
</context>
|
|
18
18
|
|
|
19
19
|
<objective>
|
|
@@ -56,8 +56,10 @@ Read `{PROJECT_PATH}/config.json` to get `implementation_target`, `design_scope`
|
|
|
56
56
|
**Design:** Read `{PROJECT_PATH}/design/INDEX.md` → load all screen chunks.
|
|
57
57
|
Fallback: `{PROJECT_PATH}/screens/INDEX.md` (legacy).
|
|
58
58
|
|
|
59
|
-
**Brand
|
|
60
|
-
Also read `{BRAND_PATH}/
|
|
59
|
+
**Brand patterns:** Read `{BRAND_PATH}/patterns/INDEX.md` → load foundation + component chunks.
|
|
60
|
+
Also read `{BRAND_PATH}/patterns/tokens.json`.
|
|
61
|
+
|
|
62
|
+
**Brand identity (selective):** Read `{BRAND_PATH}/identity/imagery-style.md` (if exists) — needed for imagery audit.
|
|
61
63
|
|
|
62
64
|
**Brief:** Read `{PROJECT_PATH}/brief/INDEX.md` → load scope and adaptations.
|
|
63
65
|
|
|
@@ -172,38 +174,5 @@ If verdict is **Fail**:
|
|
|
172
174
|
|
|
173
175
|
## Step 6: Phase transition output
|
|
174
176
|
|
|
175
|
-
Render
|
|
176
|
-
|
|
177
|
-
**If Pass/Conditional Pass:**
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
◆ review complete — implementation validated
|
|
181
|
-
|
|
182
|
-
review/
|
|
183
|
-
├── acceptance-report.md
|
|
184
|
-
├── issues.md
|
|
185
|
-
└── INDEX.md
|
|
186
|
-
|
|
187
|
-
──────────────────────────────
|
|
188
|
-
|
|
189
|
-
fully pretty.
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
Then use `AskUserQuestion` with 3 options:
|
|
193
|
-
- **Launch campaign** — "create launch and marketing assets"
|
|
194
|
-
- **View progress** — "see the full dashboard"
|
|
195
|
-
- **Done for now** — "pick up later with /gsp:start"
|
|
196
|
-
|
|
197
|
-
**If Fail:**
|
|
198
|
-
|
|
199
|
-
```
|
|
200
|
-
◈ review — QA found issues, needs revision
|
|
201
|
-
|
|
202
|
-
──────────────────────────────
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
Then use `AskUserQuestion` with 3 options:
|
|
206
|
-
- **Fix and rebuild** — "address issues in review/issues.md"
|
|
207
|
-
- **View issues** — "see the full QA report"
|
|
208
|
-
- **Done for now** — "pick up later with /gsp:start"
|
|
177
|
+
Render phase transition (see `references/phase-transitions.md`). This phase has pass/fail variants — the reference covers both.
|
|
209
178
|
</process>
|
|
@@ -10,6 +10,8 @@ allowed-tools:
|
|
|
10
10
|
- Glob
|
|
11
11
|
- Grep
|
|
12
12
|
- Agent
|
|
13
|
+
- WebSearch
|
|
14
|
+
- WebFetch
|
|
13
15
|
---
|
|
14
16
|
<context>
|
|
15
17
|
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.
|
|
@@ -39,6 +41,11 @@ Through 2-3 rounds of natural conversation, gather a complete brief and create t
|
|
|
39
41
|
@${CLAUDE_SKILL_DIR}/../../templates/exports-index.md
|
|
40
42
|
</execution_context>
|
|
41
43
|
|
|
44
|
+
<rules>
|
|
45
|
+
- Never infer the user's name from package metadata, git config, or file paths — those are authors, not the current user.
|
|
46
|
+
- Always use `AskUserQuestion` for user-facing questions — never raw text prompts.
|
|
47
|
+
</rules>
|
|
48
|
+
|
|
42
49
|
<questioning_principles>
|
|
43
50
|
Follow these principles throughout all conversations:
|
|
44
51
|
|
|
@@ -59,13 +66,14 @@ Scan `.design/` for existing brands and projects:
|
|
|
59
66
|
- Check `.design/projects/` for project directories (each has a `config.json` with `project_type: "design"`)
|
|
60
67
|
- Check for legacy flat `.design/config.json` at root (pre-0.4.0 structure)
|
|
61
68
|
- For each brand/project found, read its `config.json` to get phase statuses
|
|
69
|
+
- **Migration:** For each brand, if `{brand}/system/` exists but `{brand}/patterns/` does not, rename via `mv {brand}/system/ {brand}/patterns/` and log: "Migrated {brand} system/ → patterns/"
|
|
62
70
|
- If `.design/CHANGELOG.md` doesn't exist, create it from `templates/changelog.md`
|
|
63
71
|
|
|
64
72
|
### Step 1b: Run design system scan (background)
|
|
65
73
|
|
|
66
74
|
Spawn a background agent with `run_in_background: true` that follows the `/gsp:design-system` skill methodology:
|
|
67
75
|
- Use `subagent_type: "general-purpose"`
|
|
68
|
-
- Prompt: "Follow the /gsp:design-system skill methodology. Scan the codebase and produce `.design/system/{STACK,COMPONENTS,TOKENS,CONVENTIONS,CONCERNS}.md`. Read the templates from
|
|
76
|
+
- Prompt: "Follow the /gsp:design-system skill methodology. Scan the codebase and produce `.design/system/{STACK,COMPONENTS,TOKENS,CONVENTIONS,CONCERNS}.md`. Read the templates from the GSP templates/system/ directory for output format. If no package.json exists, write minimal greenfield versions."
|
|
69
77
|
- Store the task reference — you'll read results in Step 3 Round 2 or Step 4.
|
|
70
78
|
|
|
71
79
|
This produces workspace-level documents consumed by downstream skills and agents.
|
|
@@ -154,7 +162,7 @@ From the greeting exchange, determine which flow to run:
|
|
|
154
162
|
1. Ask for brand name (kebab-case, e.g., "acme-corp")
|
|
155
163
|
2. Create directory structure:
|
|
156
164
|
```bash
|
|
157
|
-
mkdir -p .design/branding/{name}/{audit,discover,strategy,identity,
|
|
165
|
+
mkdir -p .design/branding/{name}/{audit,discover,strategy,identity,patterns}
|
|
158
166
|
```
|
|
159
167
|
|
|
160
168
|
3. Gather brand brief in 3 rounds. The brief is the single source of truth for business and persona definition — invest here.
|
|
@@ -163,20 +171,26 @@ mkdir -p .design/branding/{name}/{audit,discover,strategy,identity,system}
|
|
|
163
171
|
- Company name, industry, stage
|
|
164
172
|
- What problem does this business solve? For whom? How differently?
|
|
165
173
|
- Business model (how it makes money)
|
|
174
|
+
- Who are the main competitors? (users usually know their top 2-3)
|
|
166
175
|
- Primary persona — use `AskUserQuestion` to confirm or build: present an inferred persona profile (name, role, day-in-the-life, frustration, aspiration, discovery, trust signals) and let user correct. If they say "fintech for Gen Z" → infer and present a concrete persona.
|
|
167
176
|
- Secondary persona (if relevant)
|
|
168
177
|
- Mission and vision
|
|
169
178
|
|
|
170
|
-
This round is the most important. The personas should feel like real people, not demographic buckets.
|
|
179
|
+
This round is the most important. The personas should feel like real people, not demographic buckets. Dig into the emotional layer: anxiety, ambition, frustration, curiosity, status, safety.
|
|
171
180
|
|
|
172
181
|
**Round 2 — Brand Essence & Landscape:**
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
182
|
+
|
|
183
|
+
Before presenting personality options, **internally synthesize** from Round 1:
|
|
184
|
+
- **Promise:** what should someone feel when they interact with this brand? (derived from persona frustrations + aspirations)
|
|
185
|
+
- **Point of view:** what does this brand disagree with in the category? (derived from the problem + how it solves it differently)
|
|
186
|
+
|
|
187
|
+
You do NOT ask the user these directly — you use them to ground the personality options.
|
|
188
|
+
|
|
189
|
+
- Brand personality — use `AskUserQuestion` with 2-3 concrete personality directions. **Each option must explain WHY it fits this brand's audience and problem** — not just a style label:
|
|
190
|
+
- Each option: **Label** (3 adjectives) / **Description** (why this personality fits their specific audience and competitive position — reference the persona by name, the problem, or the gap) / **Preview** (example sentence in that voice, using their product context)
|
|
177
191
|
- **Surprise me** — craft an unexpected direction inspired by the user's industry and personas
|
|
178
192
|
- What the brand should NEVER feel like
|
|
179
|
-
- Competitive landscape —
|
|
193
|
+
- Competitive landscape — use `WebSearch` to enrich the competitors named in Round 1. Present the map for confirmation.
|
|
180
194
|
- Brands admired / styles to avoid
|
|
181
195
|
|
|
182
196
|
**Round 3 — Constraints & confirmation:**
|
|
@@ -225,6 +239,8 @@ Skip or compress rounds if the user gives enough upfront. Don't over-ask.
|
|
|
225
239
|
|
|
226
240
|
## Step 4: Project flow
|
|
227
241
|
|
|
242
|
+
**Background:** Run `git branch --show-current` with `run_in_background: true` now — result will be ready by the time we need it for git context detection.
|
|
243
|
+
|
|
228
244
|
1. Show available brands:
|
|
229
245
|
```
|
|
230
246
|
Available brands:
|
|
@@ -247,8 +263,9 @@ mkdir -p .design/projects/{name}/{brief,research,design,critique,build,review,co
|
|
|
247
263
|
|
|
248
264
|
### Detect git context
|
|
249
265
|
|
|
250
|
-
|
|
251
|
-
|
|
266
|
+
Use the git branch detected earlier (run `git branch --show-current` in background at the start of Step 4, while asking for project name — result is ready by now).
|
|
267
|
+
|
|
268
|
+
1. If a branch was detected, use `AskUserQuestion`: "I see you're on `{branch}` — track this as the project branch?"
|
|
252
269
|
- **Yes, use this branch** — "Track `{branch}`"
|
|
253
270
|
- **Different branch** — "I want to use a different branch name"
|
|
254
271
|
3. Store in config.json `git.branch` and STATE.md `## Git` table
|
|
@@ -346,7 +363,7 @@ If the user names a preset directly at any point, skip the group step.
|
|
|
346
363
|
|
|
347
364
|
1. Create brand directory:
|
|
348
365
|
```bash
|
|
349
|
-
mkdir -p .design/branding/_style-{preset}/
|
|
366
|
+
mkdir -p .design/branding/_style-{preset}/patterns/
|
|
350
367
|
```
|
|
351
368
|
|
|
352
369
|
2. Invoke `/gsp:style {preset}` via Skill tool — this writes:
|
|
@@ -395,7 +412,7 @@ Continue directly to Step 4 (project flow) with these modifications:
|
|
|
395
412
|
|
|
396
413
|
If a user later wants full branding, they can:
|
|
397
414
|
1. Run `/gsp:start` → "Brand identity" to create a real brand
|
|
398
|
-
2. Full diamond produces identity +
|
|
415
|
+
2. Full diamond produces identity + patterns with real tokens
|
|
399
416
|
3. Update the project's `brand.ref` to point to the new brand
|
|
400
417
|
4. Re-run build phases — they pick up the new tokens automatically
|
|
401
418
|
</process>
|