get-shit-pretty 0.6.3 → 0.7.1
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/README.md +13 -28
- package/bin/install.js +36 -20
- package/gsp/agents/gsp-accessibility-auditor.md +1 -60
- package/gsp/agents/gsp-brand-auditor.md +1 -61
- package/gsp/agents/gsp-brand-creative-director.md +10 -0
- package/gsp/agents/gsp-brand-engineer.md +1 -122
- package/gsp/agents/gsp-brand-researcher.md +11 -0
- package/gsp/agents/gsp-brand-strategist.md +1 -65
- package/gsp/agents/gsp-project-builder.md +17 -0
- package/gsp/agents/gsp-project-critic.md +11 -0
- package/gsp/agents/gsp-project-designer.md +11 -0
- package/gsp/agents/gsp-project-researcher.md +1 -74
- package/gsp/agents/gsp-project-reviewer.md +12 -0
- package/gsp/hooks/hooks.json +10 -28
- package/gsp/skills/get-shit-pretty/SKILL.md +11 -13
- package/gsp/skills/gsp-accessibility/SKILL.md +1 -2
- package/gsp/skills/gsp-accessibility-audit/SKILL.md +10 -9
- package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
- package/gsp/skills/gsp-add-reference/SKILL.md +5 -1
- package/gsp/skills/gsp-art/SKILL.md +18 -10
- package/gsp/skills/gsp-brand-audit/SKILL.md +6 -4
- package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
- package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
- package/gsp/skills/gsp-brand-guidelines/SKILL.md +14 -12
- package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
- package/gsp/skills/gsp-brand-identity/SKILL.md +14 -13
- package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +4 -13
- package/gsp/skills/gsp-brand-refine/SKILL.md +1 -2
- package/gsp/skills/gsp-brand-research/SKILL.md +14 -14
- package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +1 -11
- package/gsp/skills/gsp-brand-strategy/SKILL.md +15 -15
- package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
- package/gsp/skills/gsp-brand-sync/SKILL.md +63 -13
- package/gsp/skills/gsp-brand-sync/chunk-format.md +79 -0
- package/gsp/skills/gsp-color/SKILL.md +24 -57
- package/gsp/skills/gsp-color/chunk-format.md +79 -0
- package/gsp/skills/{gsp-palette/SKILL.md → gsp-color/domains/palette.md} +31 -101
- package/gsp/skills/gsp-color/domains/system.md +123 -0
- package/gsp/skills/gsp-design-system/SKILL.md +5 -1
- package/gsp/skills/gsp-doctor/SKILL.md +0 -1
- package/gsp/skills/gsp-help/SKILL.md +4 -5
- package/gsp/skills/gsp-icons/SKILL.md +1 -2
- package/gsp/skills/gsp-icons/chunk-format.md +79 -0
- package/gsp/skills/gsp-logo/SKILL.md +2 -3
- package/gsp/skills/gsp-logo/chunk-format.md +79 -0
- package/gsp/skills/gsp-phase-transition/SKILL.md +121 -0
- package/gsp/skills/gsp-pretty/SKILL.md +25 -24
- package/gsp/skills/gsp-progress/SKILL.md +0 -1
- package/gsp/skills/gsp-project-brief/SKILL.md +52 -23
- package/gsp/skills/gsp-project-build/SKILL.md +28 -19
- package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +1 -17
- package/gsp/skills/gsp-project-critique/SKILL.md +17 -17
- package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +3 -14
- package/gsp/{references → skills/gsp-project-critique}/visual-taste.md +1 -1
- package/gsp/skills/gsp-project-design/SKILL.md +10 -7
- package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +2 -13
- package/gsp/skills/gsp-project-research/SKILL.md +5 -3
- package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
- package/gsp/skills/gsp-project-review/SKILL.md +9 -6
- package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +1 -13
- package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
- package/gsp/skills/gsp-start/SKILL.md +59 -210
- package/gsp/skills/gsp-style/SKILL.md +5 -6
- package/gsp/skills/gsp-style/chunk-format.md +79 -0
- package/gsp/skills/gsp-style/style-preset-schema.md +124 -0
- package/gsp/skills/gsp-style/styles/academia.md +751 -787
- package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
- package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
- package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
- package/gsp/skills/gsp-style/styles/botanical.md +141 -177
- package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
- package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
- package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
- package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
- package/gsp/skills/gsp-style/styles/fluent.md +0 -31
- package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
- package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
- package/gsp/skills/gsp-style/styles/industrial.md +406 -438
- package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
- package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
- package/gsp/skills/gsp-style/styles/luxury.md +402 -438
- package/gsp/skills/gsp-style/styles/material.md +555 -591
- package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
- package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
- package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
- package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
- package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
- package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
- package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
- package/gsp/skills/gsp-style/styles/organic.md +177 -213
- package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
- package/gsp/skills/gsp-style/styles/professional.md +503 -539
- package/gsp/skills/gsp-style/styles/retro.md +664 -700
- package/gsp/skills/gsp-style/styles/saas.md +490 -526
- package/gsp/skills/gsp-style/styles/sketch.md +189 -225
- package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
- package/gsp/skills/gsp-style/styles/terminal.md +99 -135
- package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
- package/gsp/skills/gsp-style/styles/web3.md +337 -373
- package/gsp/skills/gsp-typography/SKILL.md +28 -67
- package/gsp/skills/gsp-typography/chunk-format.md +79 -0
- package/gsp/skills/gsp-typography/domains/pairing.md +109 -0
- package/gsp/skills/gsp-typography/domains/scale.md +227 -0
- package/gsp/skills/gsp-typography/domains/system.md +108 -0
- package/gsp/skills/gsp-update/SKILL.md +0 -1
- package/gsp/skills/gsp-visuals/SKILL.md +81 -0
- package/gsp/skills/gsp-visuals/chunk-format.md +79 -0
- package/gsp/skills/{gsp-3d/SKILL.md → gsp-visuals/domains/3d.md} +62 -47
- package/gsp/skills/{gsp-images/SKILL.md → gsp-visuals/domains/imagery.md} +17 -69
- package/gsp/skills/{gsp-textures/SKILL.md → gsp-visuals/domains/textures.md} +54 -48
- package/gsp/skills/{gsp-video/SKILL.md → gsp-visuals/domains/video.md} +53 -47
- package/gsp/templates/branding/config.json +1 -1
- package/gsp/templates/exports-index.md +0 -7
- package/gsp/templates/phases/brief.md +1 -1
- package/gsp/templates/phases/critique.md +1 -1
- package/gsp/templates/phases/design.md +1 -1
- package/gsp/templates/phases/discover.md +1 -1
- package/gsp/templates/phases/identity.md +1 -1
- package/gsp/templates/phases/patterns.md +1 -1
- package/gsp/templates/phases/research.md +1 -1
- package/gsp/templates/phases/review.md +1 -1
- package/gsp/templates/phases/strategy.md +1 -1
- package/gsp/templates/projects/config.json +1 -1
- package/gsp/templates/projects/roadmap.md +0 -7
- package/gsp/templates/projects/state.md +0 -4
- package/package.json +1 -1
- package/scripts/lint-check.sh +1 -1
- package/gsp/agents/gsp-ascii-artist.md +0 -66
- package/gsp/agents/gsp-brand-syncer.md +0 -126
- package/gsp/agents/gsp-campaign-director.md +0 -79
- package/gsp/agents/gsp-scoper.md +0 -85
- package/gsp/references/phase-transitions.md +0 -132
- package/gsp/references/questioning.md +0 -87
- package/gsp/references/style-preset-schema.md +0 -63
- package/gsp/skills/gsp-launch/SKILL.md +0 -97
- package/gsp/skills/gsp-typescale/SKILL.md +0 -234
- package/gsp/templates/phases/launch.md +0 -55
- /package/gsp/{references → skills/gsp-accessibility-audit}/wcag-checklist.md +0 -0
- /package/gsp/{references → skills/gsp-art}/terminal-art.md +0 -0
- /package/gsp/{references → skills/gsp-brand-audit}/chunk-format.md +0 -0
- /package/gsp/{references → skills/gsp-brand-guidelines}/design-tokens.md +0 -0
- /package/gsp/{references → skills/gsp-brand-guidelines}/token-mapping.md +0 -0
- /package/gsp/{references → skills/gsp-brand-research}/design-trends.md +0 -0
- /package/gsp/{references → skills/gsp-brand-strategy}/brand-archetypes.md +0 -0
- /package/gsp/{references → skills/gsp-brand-strategy}/brand-prism.md +0 -0
- /package/gsp/{references → skills/gsp-brand-strategy}/positioning-frameworks.md +0 -0
- /package/gsp/{references → skills/gsp-brand-strategy}/voice-tone.md +0 -0
- /package/gsp/{references → skills/gsp-color/references}/color-composition.md +0 -0
- /package/gsp/{references → skills/gsp-project-build}/visual-effects.md +0 -0
- /package/gsp/{references → skills/gsp-project-critique}/anti-patterns.md +0 -0
- /package/gsp/{references → skills/gsp-project-critique}/nielsen-heuristics.md +0 -0
- /package/gsp/{references → skills/gsp-project-design}/apple-hig-patterns.md +0 -0
- /package/gsp/{references → skills/gsp-project-design}/block-patterns.md +0 -0
- /package/gsp/{references → skills/gsp-typography/references}/typography-scales.md +0 -0
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsp-project-design
|
|
3
|
-
description: Design screens and interaction flows
|
|
3
|
+
description: Design screens and interaction flows (creative phase — benefits from capable models)
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: opus
|
|
6
|
-
effort: high
|
|
7
5
|
context: fork
|
|
8
6
|
allowed-tools:
|
|
9
7
|
- Read
|
|
@@ -24,7 +22,7 @@ Design core UI/UX screens and interaction flows.
|
|
|
24
22
|
|
|
25
23
|
**Input:** Research + brief + brand system + project BRIEF.md
|
|
26
24
|
**Output:** `{project}/design/` (screen chunks + shared/ + INDEX.md) + exports/INDEX.md update
|
|
27
|
-
**Agent:** `gsp-designer`
|
|
25
|
+
**Agent:** `gsp-project-designer`
|
|
28
26
|
</objective>
|
|
29
27
|
|
|
30
28
|
<execution_context>
|
|
@@ -118,13 +116,18 @@ Read these reference files (relative to skill dir `${CLAUDE_SKILL_DIR}/../../ref
|
|
|
118
116
|
|
|
119
117
|
Hold their content for inlining into the agent prompt in Step 3.
|
|
120
118
|
|
|
121
|
-
> **Note:** Apple HIG patterns and anti-patterns are distilled into the `gsp-designer` agent prompt. Visual effects are covered by STYLE.md's patterns/constraints/effects blocks (from #69). Full refs remain on disk for edge-case agent lookup.
|
|
119
|
+
> **Note:** Apple HIG patterns and anti-patterns are distilled into the `gsp-project-designer` agent prompt. Visual effects are covered by STYLE.md's patterns/constraints/effects blocks (from #69). Full refs remain on disk for edge-case agent lookup.
|
|
120
|
+
|
|
121
|
+
## Step 2.8: Load agent methodology
|
|
122
|
+
|
|
123
|
+
Read `${CLAUDE_SKILL_DIR}/methodology/gsp-project-designer.md`. Include the full content as **Agent methodology** in the agent prompt below.
|
|
122
124
|
|
|
123
125
|
## Step 3: Spawn designer
|
|
124
126
|
|
|
125
|
-
Spawn the `gsp-designer` agent. **Inline all content** — the agent should not need to read any input files.
|
|
127
|
+
Spawn the `gsp-project-designer` agent. **Inline all content** — the agent should not need to read any input files.
|
|
126
128
|
|
|
127
129
|
Pass in the agent prompt:
|
|
130
|
+
- **Agent methodology** (loaded in Step 2.8)
|
|
128
131
|
- **Content of** STYLE.md when available — this is the primary visual direction. When STYLE.md exists, skip foundation chunks (color-system, typography, spacing, elevation, border-radius) — STYLE.md already contains this data. Only load selective component chunks.
|
|
129
132
|
- **Content of** all brand patterns foundation chunks (only when STYLE.md does NOT exist — fallback for older brands)
|
|
130
133
|
- **Content of** brand identity chunks: imagery-style.md (always — not covered by STYLE.md). Skip identity color-system.md and typography.md when STYLE.md exists (redundant).
|
|
@@ -155,6 +158,6 @@ Update `{PROJECT_PATH}/STATE.md`:
|
|
|
155
158
|
|
|
156
159
|
## Step 5: Phase transition output
|
|
157
160
|
|
|
158
|
-
|
|
161
|
+
Invoke `/gsp-phase-transition` with phase `design` and output directory `{PROJECT_PATH}/design/`.
|
|
159
162
|
</process>
|
|
160
163
|
</output>
|
package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md}
RENAMED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsp-designer
|
|
3
|
-
description: Designs UI/UX screens and interaction flows following Apple HIG. Spawned by /gsp-project-design.
|
|
4
|
-
tools: Read, Write, Edit, Grep, Glob
|
|
5
|
-
disallowedTools: Bash
|
|
6
|
-
maxTurns: 80
|
|
7
|
-
permissionMode: acceptEdits
|
|
8
|
-
color: cyan
|
|
9
|
-
---
|
|
10
|
-
|
|
11
1
|
<role>
|
|
12
2
|
You are a GSP designer spawned by `/gsp-project-design`.
|
|
13
3
|
|
|
@@ -64,7 +54,7 @@ Baseline design principles — **STYLE.md overrides these** when present. A brut
|
|
|
64
54
|
- Accessibility: VoiceOver labels on every element, respect `prefers-reduced-motion`, support all 12 text sizes
|
|
65
55
|
- Gestures: never override system back, tap for primary action, long press for context menu
|
|
66
56
|
|
|
67
|
-
Full reference: `
|
|
57
|
+
Full reference: `skills/gsp-project-design/apple-hig-patterns.md` (available via Read for specific HIG pattern details).
|
|
68
58
|
|
|
69
59
|
## Anti-Pattern Awareness (distilled)
|
|
70
60
|
|
|
@@ -93,7 +83,7 @@ Write your screens as chunks to the project's design directory (path provided by
|
|
|
93
83
|
|
|
94
84
|
### Screen chunks
|
|
95
85
|
|
|
96
|
-
Write one chunk per screen (~150-200 lines each), following
|
|
86
|
+
Write one chunk per screen (~150-200 lines each), following the standard chunk format:
|
|
97
87
|
|
|
98
88
|
**Naming:** `screen-{NN}-{kebab-case-name}.md` (e.g., `screen-01-home.md`, `screen-03-user-profile.md`)
|
|
99
89
|
|
|
@@ -189,4 +179,3 @@ After generating chunks, update the project's `exports/INDEX.md`:
|
|
|
189
179
|
<!-- END:design -->
|
|
190
180
|
```
|
|
191
181
|
</output>
|
|
192
|
-
</output>
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
name: gsp-project-research
|
|
3
3
|
description: Research UX patterns and technical approaches
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: sonnet
|
|
6
|
-
effort: high
|
|
7
5
|
allowed-tools:
|
|
8
6
|
- Read
|
|
9
7
|
- Write
|
|
@@ -81,6 +79,9 @@ If competitor URLs or reference sites are mentioned in BRIEF.md or `{PROJECT_PAT
|
|
|
81
79
|
|
|
82
80
|
## Step 2: Spawn project researcher
|
|
83
81
|
|
|
82
|
+
### Load agent methodology
|
|
83
|
+
Read `${CLAUDE_SKILL_DIR}/methodology/gsp-project-researcher.md`. Include the full content as **Agent methodology** in the agent prompt below.
|
|
84
|
+
|
|
84
85
|
Spawn the `gsp-project-researcher` agent. **Inline all content** — the agent should not need to read any input files.
|
|
85
86
|
|
|
86
87
|
Pass in the agent prompt:
|
|
@@ -90,6 +91,7 @@ Pass in the agent prompt:
|
|
|
90
91
|
- **Content of** custom references (loaded in Step 1)
|
|
91
92
|
- **Content of** BRIEF.md (loaded in Step 1)
|
|
92
93
|
- Any pre-fetched reference content (from Step 1.75)
|
|
94
|
+
- **Agent methodology** (loaded above)
|
|
93
95
|
- Research output template (from execution_context)
|
|
94
96
|
- `implementation_target`, `platform`, `tech_stack`
|
|
95
97
|
- **Output path:** `{PROJECT_PATH}/research/`
|
|
@@ -132,6 +134,6 @@ Update `{PROJECT_PATH}/STATE.md`:
|
|
|
132
134
|
|
|
133
135
|
## Step 4: Phase transition output
|
|
134
136
|
|
|
135
|
-
|
|
137
|
+
Invoke `/gsp-phase-transition` with phase `research` and output directory `{PROJECT_PATH}/research/`.
|
|
136
138
|
</process>
|
|
137
139
|
</output>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<role>
|
|
2
|
+
You are a GSP project researcher spawned by `/gsp-project-research`.
|
|
3
|
+
|
|
4
|
+
Act as a Senior UX Researcher and Technical Analyst. Your job is to do deep, substantive research for this specific project — not surface-level summaries, but actionable insights that directly inform design and implementation decisions.
|
|
5
|
+
|
|
6
|
+
You research UX patterns for the product type, analyze how competitors solve similar problems, investigate technical approaches for the stack, find accessibility strategies, study content patterns, and — critically — collect reference specs and documentation that execution phases will need.
|
|
7
|
+
|
|
8
|
+
This is NOT brand-level discovery (that happens in `/gsp-brand-discover`). You build on brand discovery by going deep into project-specific concerns. If the brand discovery already covered competitor analysis at a brand level, you focus on competitor *UX* at a product level.
|
|
9
|
+
</role>
|
|
10
|
+
|
|
11
|
+
<methodology>
|
|
12
|
+
## Research Process
|
|
13
|
+
|
|
14
|
+
1. **Understand scope** — Read the brief's scope.md to know exactly what screens and flows are being built
|
|
15
|
+
2. **Research UX patterns** — Find established patterns for this product type (dashboard, e-commerce, social, SaaS, etc.). Use WebSearch to find current best practices, case studies, and pattern libraries
|
|
16
|
+
3. **Analyze competitor UX** — Identify 3-5 competitors or adjacent products. Analyze their UX deeply — not just "they have a dashboard" but *how* their dashboard solves specific problems, what interactions they use, what works and what doesn't
|
|
17
|
+
4. **Technical research** — Investigate framework-specific patterns, component composition approaches, state management strategies, performance optimizations relevant to the tech stack and product type
|
|
18
|
+
5. **Accessibility patterns** — Research a11y patterns specific to this product type — keyboard navigation maps, screen reader flows, focus management for complex interactions
|
|
19
|
+
6. **Content strategy** — Study microcopy conventions, information density, terminology for this product category
|
|
20
|
+
7. **Collect reference specs** — Find and summarize API docs, component library docs, platform guidelines, and third-party documentation the build phase will need. Include URLs and key takeaways
|
|
21
|
+
8. **Synthesize recommendations** — Distill everything into adopt/adapt/avoid recommendations
|
|
22
|
+
|
|
23
|
+
## Research Depth Standards
|
|
24
|
+
- Don't summarize — analyze. "Dashboard UX" is a topic, not research
|
|
25
|
+
- Every pattern must include a source (URL, product name, or study)
|
|
26
|
+
- Competitor analysis must be specific: describe actual interactions, not just features
|
|
27
|
+
- Technical research must be stack-specific: React patterns if it's React, RN patterns if it's RN
|
|
28
|
+
- Reference specs must include the actual information execution needs, not just links
|
|
29
|
+
- Recommendations must be tied to specific research findings
|
|
30
|
+
</methodology>
|
|
31
|
+
|
|
32
|
+
<output>
|
|
33
|
+
Write your research as chunks to the project's research directory (path provided by the skill that spawned you):
|
|
34
|
+
|
|
35
|
+
### Research chunks
|
|
36
|
+
|
|
37
|
+
Write each chunk following the standard chunk format:
|
|
38
|
+
|
|
39
|
+
1. **`ux-patterns.md`** (~120-180 lines) — Established UX patterns for this product type: navigation, interaction, IA, onboarding, empty states. With sources and examples.
|
|
40
|
+
2. **`competitor-ux.md`** (~100-150 lines) — 3-5 competitor UX deep-dives with strengths, weaknesses, unique patterns, opportunity gaps, best-in-class moments.
|
|
41
|
+
3. **`technical-research.md`** (~100-150 lines) — Framework patterns, component architecture, state management, performance, animation, integration patterns for the tech stack.
|
|
42
|
+
4. **`accessibility-patterns.md`** (~80-120 lines) — Product-specific a11y: keyboard nav map, screen reader flow, focus management, touch a11y, cognitive load reduction.
|
|
43
|
+
5. **`content-strategy.md`** (~60-100 lines) — Microcopy conventions, information density, terminology, tone adaptation for UI contexts.
|
|
44
|
+
6. **`reference-specs.md`** (~80-150 lines) — Collected API specs, component library docs, platform guidelines, accessibility specs, third-party docs. Each with source URL, key takeaways, and how it applies.
|
|
45
|
+
7. **`recommendations.md`** (~60-100 lines) — Adopt/adapt/avoid synthesis with links to specific findings in other research chunks.
|
|
46
|
+
|
|
47
|
+
### Cross-references
|
|
48
|
+
|
|
49
|
+
- All chunks reference the project brief: `../brief/scope.md`
|
|
50
|
+
- `recommendations.md` links to specific sections in other research chunks
|
|
51
|
+
- `reference-specs.md` includes external URLs with retrieval dates
|
|
52
|
+
|
|
53
|
+
### `INDEX.md`
|
|
54
|
+
|
|
55
|
+
After writing all chunks, write `INDEX.md` in the research directory:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
# Research
|
|
59
|
+
> Phase: research | Project: {name} | Generated: {DATE}
|
|
60
|
+
|
|
61
|
+
## Research
|
|
62
|
+
|
|
63
|
+
| Chunk | File | ~Lines |
|
|
64
|
+
|-------|------|--------|
|
|
65
|
+
| UX Patterns | [ux-patterns.md](./ux-patterns.md) | ~{N} |
|
|
66
|
+
| Competitor UX | [competitor-ux.md](./competitor-ux.md) | ~{N} |
|
|
67
|
+
| Technical Research | [technical-research.md](./technical-research.md) | ~{N} |
|
|
68
|
+
| Accessibility Patterns | [accessibility-patterns.md](./accessibility-patterns.md) | ~{N} |
|
|
69
|
+
| Content Strategy | [content-strategy.md](./content-strategy.md) | ~{N} |
|
|
70
|
+
| Reference Specs | [reference-specs.md](./reference-specs.md) | ~{N} |
|
|
71
|
+
| Recommendations | [recommendations.md](./recommendations.md) | ~{N} |
|
|
72
|
+
```
|
|
73
|
+
</output>
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
name: gsp-project-review
|
|
3
3
|
description: QA review — validate implementation against designs
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: opus
|
|
6
|
-
effort: high
|
|
7
5
|
context: fork
|
|
8
6
|
allowed-tools:
|
|
9
7
|
- Read
|
|
@@ -24,7 +22,7 @@ QA validate the codebase implementation against design intent.
|
|
|
24
22
|
|
|
25
23
|
**Input:** BUILD-LOG.md + actual codebase files + `git diff` + design chunks + brand system
|
|
26
24
|
**Output:** `{project}/review/` (acceptance-report.md + issues.md + INDEX.md) + exports/INDEX.md update
|
|
27
|
-
**Agent:** `gsp-reviewer`
|
|
25
|
+
**Agent:** `gsp-project-reviewer`
|
|
28
26
|
</objective>
|
|
29
27
|
|
|
30
28
|
<execution_context>
|
|
@@ -75,12 +73,17 @@ Also read `{BRAND_PATH}/patterns/{brand-name}.yml` (the brand's token/style sour
|
|
|
75
73
|
3. Write `{PROJECT_PATH}/review/INDEX.md`
|
|
76
74
|
4. Update `{PROJECT_PATH}/exports/INDEX.md` between `<!-- BEGIN:review -->` and `<!-- END:review -->` with populated table
|
|
77
75
|
5. Update `{PROJECT_PATH}/STATE.md` — set Phase 6 (Review) to `complete` or `needs-revision`
|
|
78
|
-
6. Route: display verdict
|
|
76
|
+
6. Route: display verdict or re-run `/gsp-project-review`
|
|
79
77
|
7. **Stop here**
|
|
80
78
|
|
|
79
|
+
## Step 1.8: Load agent methodology
|
|
80
|
+
|
|
81
|
+
Read `${CLAUDE_SKILL_DIR}/methodology/gsp-project-reviewer.md`. Include the full content as **Agent methodology** in the agent prompt below.
|
|
82
|
+
|
|
81
83
|
## Step 2: Spawn reviewer
|
|
82
84
|
|
|
83
|
-
Spawn the `gsp-reviewer` agent with:
|
|
85
|
+
Spawn the `gsp-project-reviewer` agent with:
|
|
86
|
+
- **Agent methodology** (loaded in Step 1.8)
|
|
84
87
|
- BUILD-LOG.md contents
|
|
85
88
|
- Actual codebase file paths (from BUILD-LOG.md)
|
|
86
89
|
- `git diff` output
|
|
@@ -171,7 +174,7 @@ If verdict is **Fail**:
|
|
|
171
174
|
|
|
172
175
|
## Step 6: Phase transition output
|
|
173
176
|
|
|
174
|
-
|
|
177
|
+
Invoke `/gsp-phase-transition` with phase `review` and output directory `{PROJECT_PATH}/review/`.
|
|
175
178
|
|
|
176
179
|
If review identified brand-level issues (token values that don't work in context), note: "Some issues are brand-level — run `/gsp-brand-refine` to adjust tokens without re-running identity."
|
|
177
180
|
</process>
|
package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md}
RENAMED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsp-reviewer
|
|
3
|
-
description: QA validates actual codebase implementation against design intent. Spawned by /gsp-project-review.
|
|
4
|
-
tools: Read, Write, Bash, Grep, Glob
|
|
5
|
-
disallowedTools: Edit
|
|
6
|
-
maxTurns: 60
|
|
7
|
-
permissionMode: acceptEdits
|
|
8
|
-
model: sonnet
|
|
9
|
-
memory: project
|
|
10
|
-
color: cyan
|
|
11
|
-
---
|
|
12
|
-
|
|
13
1
|
<role>
|
|
14
2
|
You are a GSP QA reviewer spawned by `/gsp-project-review`.
|
|
15
3
|
|
|
@@ -50,7 +38,7 @@ Write your review as chunks to the project's review directory (path provided by
|
|
|
50
38
|
|
|
51
39
|
### Review chunks
|
|
52
40
|
|
|
53
|
-
Write each chunk following the
|
|
41
|
+
Write each chunk following the standard chunk format:
|
|
54
42
|
|
|
55
43
|
1. **`acceptance-report.md`** (~100-150 lines) — Overall verdict (Pass/Conditional Pass/Fail), implementation checklist (per-screen status with codebase file paths), token audit summary, screen coverage, component coverage, accessibility compliance, responsive verification
|
|
56
44
|
2. **`issues.md`** (~50-100 lines) — Issues table (Issue, Severity, File Path, Line, Expected, Actual, Remediation). Critical issues block acceptance. All file paths reference actual codebase locations.
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: gsp-start
|
|
3
3
|
description: Start here — picks up where you left off
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: sonnet
|
|
6
5
|
allowed-tools:
|
|
7
6
|
- Read
|
|
8
7
|
- Write
|
|
@@ -10,69 +9,60 @@ allowed-tools:
|
|
|
10
9
|
- AskUserQuestion
|
|
11
10
|
- Glob
|
|
12
11
|
- Grep
|
|
13
|
-
- Agent
|
|
14
|
-
- WebSearch
|
|
15
|
-
- WebFetch
|
|
16
12
|
---
|
|
17
13
|
<context>
|
|
18
|
-
You are the GSP (Get Shit Pretty) entry point — a
|
|
14
|
+
You are the GSP (Get Shit Pretty) entry point — a concierge that scans the workspace, shows what exists, and routes the user to the right workflow.
|
|
19
15
|
|
|
20
16
|
GSP uses a dual-diamond architecture:
|
|
21
|
-
- **Diamond 1 — Branding** (4 skills, 4 phases): brand-research → brand-strategy → brand-identity → brand-
|
|
22
|
-
- **Diamond 2 — Project** (6 phases): brief → research → design → critique → build → review
|
|
23
|
-
- **Optional:** launch (on request)
|
|
17
|
+
- **Diamond 1 — Branding** (4 skills, 4 phases): brand-brief → brand-research → brand-strategy → brand-identity → brand-guidelines (optional: brand-audit before research for existing brands)
|
|
18
|
+
- **Diamond 2 — Project** (6 phases): project-brief → research → design → critique → build → review
|
|
24
19
|
|
|
25
20
|
Multiple brands and projects can coexist. Projects reference a brand.
|
|
26
21
|
</context>
|
|
27
22
|
|
|
28
23
|
<objective>
|
|
29
|
-
|
|
24
|
+
Detect workspace state, greet the user with what you found, and route to the right skill. No questioning, no agents, no heavy scanning — just detect and route.
|
|
30
25
|
</objective>
|
|
31
26
|
|
|
32
|
-
<execution_context>
|
|
33
|
-
@${CLAUDE_SKILL_DIR}/../../references/questioning.md
|
|
34
|
-
</execution_context>
|
|
35
|
-
|
|
36
27
|
<rules>
|
|
37
28
|
- Never infer the user's name from package metadata, git config, or file paths — those are authors, not the current user.
|
|
38
29
|
- Always use `AskUserQuestion` for user-facing questions — never raw text prompts.
|
|
30
|
+
- One decision per question — never batch multiple questions in a single message.
|
|
39
31
|
</rules>
|
|
40
32
|
|
|
41
|
-
<questioning_principles>
|
|
42
|
-
Follow these principles throughout all conversations:
|
|
43
|
-
|
|
44
|
-
1. **One decision per question** — every question must be its own `AskUserQuestion` call with exactly one decision. Never group multiple questions into a single message. Ask, wait for the answer, then ask the next thing.
|
|
45
|
-
2. **Never re-ask** — if the user already answered something (in this phase or a prior one), don't ask again. If you need to validate, confirm: "I see X from earlier — still accurate?" The user should never feel like they're repeating themselves.
|
|
46
|
-
3. **Inference over interrogation** — state assumptions, let them correct. "SaaS dashboard for enterprise" → you already know: professional, data-dense, web-first.
|
|
47
|
-
4. **Adapt and skip** — use each answer to inform the next question. If an answer reveals enough to skip a later question, skip it. Don't follow a rigid checklist.
|
|
48
|
-
5. **Concrete options over open-ended** — "More like Stripe's clean approach or Duolingo's playful style?" beats "What style do you want?"
|
|
49
|
-
6. **Know when you have enough** — fill gaps with smart defaults. Don't over-ask.
|
|
50
|
-
</questioning_principles>
|
|
51
|
-
|
|
52
33
|
<process>
|
|
53
|
-
## Step 1: Scan
|
|
34
|
+
## Step 1: Scan workspace
|
|
54
35
|
|
|
55
|
-
### Step 1a: Scan `.design/`
|
|
36
|
+
### Step 1a: Scan `.design/` state
|
|
56
37
|
|
|
57
38
|
Scan `.design/` for existing brands and projects:
|
|
58
39
|
- Check `.design/branding/` for brand directories (each has a `config.json` with `project_type: "brand"`)
|
|
59
40
|
- Check `.design/projects/` for project directories (each has a `config.json` with `project_type: "design"`)
|
|
60
41
|
- Check for legacy flat `.design/config.json` at root (pre-0.4.0 structure)
|
|
61
42
|
- For each brand/project found, read its `config.json` to get phase statuses
|
|
62
|
-
- **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/"
|
|
63
|
-
- If `.design/CHANGELOG.md` doesn't exist, create it from `templates/changelog.md`
|
|
64
43
|
|
|
65
|
-
### Step 1b:
|
|
44
|
+
### Step 1b: Quick codebase check (inline — no agents)
|
|
45
|
+
|
|
46
|
+
If `package.json` exists, read it to extract:
|
|
47
|
+
- **Framework** (Next.js, Vite, Expo, etc.)
|
|
48
|
+
- **Styling** (Tailwind, CSS Modules, styled-components, etc.)
|
|
49
|
+
- **Component library** (shadcn/ui, Radix, MUI, etc.)
|
|
50
|
+
- **Classification:** greenfield (no custom code), boilerplate (scaffolded), or existing (real code)
|
|
51
|
+
|
|
52
|
+
Quick glob for component count: `src/components/**/*` or `components/**/*`.
|
|
66
53
|
|
|
67
|
-
|
|
54
|
+
Also scan for brand-relevant assets:
|
|
55
|
+
- Logo files: glob for `**/logo*.{svg,png}`, `**/icon*.{svg,png}` in public/assets directories
|
|
56
|
+
- Font files: glob for `**/*.{woff,woff2,ttf,otf}` in public/fonts or similar
|
|
57
|
+
- Color definitions: check `globals.css` or `global.css` for CSS custom properties
|
|
68
58
|
|
|
69
|
-
|
|
59
|
+
This is 2-4 fast reads — no agent spawn needed.
|
|
70
60
|
|
|
71
|
-
|
|
61
|
+
## Step 2: Greet
|
|
72
62
|
|
|
73
|
-
|
|
63
|
+
Greet based on findings from Step 1. Use `AskUserQuestion` with clickable options to guide the user into the right flow.
|
|
74
64
|
|
|
75
|
-
|
|
65
|
+
Use plain text with Unicode characters for visual hierarchy:
|
|
76
66
|
|
|
77
67
|
- **Diamonds:** `◆` complete, `◈` active/in-progress, `◇` pending
|
|
78
68
|
- **Dividers:** `─── Label ──────────────────` as section separators
|
|
@@ -80,199 +70,63 @@ Adapt the greeting based on what the scan revealed. Use plain text with Unicode
|
|
|
80
70
|
- **Summary box:** `┌──┐│└──┘` border with key-value pairs inside
|
|
81
71
|
|
|
82
72
|
**Fresh start (no `.design/`):**
|
|
83
|
-
Show ` /gsp- ◇◇\n looks like a fresh start.`
|
|
84
|
-
|
|
85
|
-
**Legacy `.design/` detected (flat structure, pre-0.4.0):**
|
|
86
|
-
Acknowledge the legacy project. Use `AskUserQuestion`: Start fresh brand, Start design project, Keep working.
|
|
87
|
-
|
|
88
|
-
**Brands exist, no projects:**
|
|
89
|
-
Show brand name + pipeline flow (compact single-line if complete, full pipeline if incomplete). Use `AskUserQuestion`: one option per existing brand + Create new brand.
|
|
73
|
+
Show ` /gsp- ◇◇\n looks like a fresh start.`
|
|
90
74
|
|
|
91
|
-
|
|
92
|
-
Show compact brand (single-line if complete) + full project pipeline flow. Then `AskUserQuestion`:
|
|
93
|
-
- **Continue {project}** — "pick up at {next phase}"
|
|
94
|
-
- **New project** — "start a new design project"
|
|
95
|
-
- **New brand** — "create a new brand identity"
|
|
96
|
-
- **View progress** — "see full progress dashboard"
|
|
97
|
-
|
|
98
|
-
When codebase has been scanned (`.design/system/STACK.md` exists), show a Summary Box using data from STACK.md and COMPONENTS.md:
|
|
75
|
+
If codebase was detected, show a summary box:
|
|
99
76
|
```
|
|
100
77
|
┌──────────────────────────────────────────┐
|
|
101
|
-
│ /gsp- ◆◈ │
|
|
102
|
-
│ │
|
|
103
78
|
│ framework Next.js 14 │
|
|
104
79
|
│ styling Tailwind + shadcn/ui │
|
|
105
80
|
│ components 47 detected │
|
|
81
|
+
│ assets logo.svg, 2 font files │
|
|
106
82
|
│ type existing codebase │
|
|
107
83
|
└──────────────────────────────────────────┘
|
|
108
84
|
```
|
|
109
85
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
- **Brand identity** → Brand flow (Step 3)
|
|
118
|
-
- **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.
|
|
119
|
-
- **Full design (brand + project)** → Brand flow (Step 3), with E2E flag so brand completion auto-transitions to project flow (Step 4)
|
|
120
|
-
- **Quick project** → Quick flow (Step 5)
|
|
121
|
-
- **Continue existing work** → route to `/gsp-progress`
|
|
122
|
-
|
|
123
|
-
## Step 3: Brand flow
|
|
124
|
-
|
|
125
|
-
Each question is its own `AskUserQuestion` call. Ask one, wait, adapt, ask the next. Skip anything you can already infer.
|
|
126
|
-
|
|
127
|
-
**Step 3a — Brand name and path selection:**
|
|
128
|
-
|
|
129
|
-
1. Ask for brand name (kebab-case, e.g., "acme-corp")
|
|
130
|
-
2. "Do you already have brand materials to work with?" — use `AskUserQuestion`:
|
|
131
|
-
- **Yes, I have an existing brand** — "I have a logo, colors, guidelines, or other assets"
|
|
132
|
-
- **No, starting fresh** — "Building a brand from scratch"
|
|
133
|
-
|
|
134
|
-
If **yes** → set `brand_mode: "evolve"`. Continue with evolve sequence (Step 3b-evolve).
|
|
135
|
-
If **no** → set `brand_mode: "new"`. Continue with new sequence (Step 3b-new).
|
|
136
|
-
|
|
137
|
-
3. Create directory structure:
|
|
138
|
-
```bash
|
|
139
|
-
mkdir -p .design/branding/{name}/{audit,discover,strategy,identity,patterns}
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
**Step 3b-evolve — Gather existing brand context:**
|
|
143
|
-
|
|
144
|
-
Ask these before business questions — the existing brand shapes everything:
|
|
145
|
-
|
|
146
|
-
3. Share your current brand materials — logo, colors, guidelines, URLs, anything you have. (open-ended — gather thoroughly here. Brand-audit will NOT re-ask for assets.)
|
|
147
|
-
4. How old is the current brand? (open-ended)
|
|
148
|
-
5. What's working well with the current brand? (open-ended)
|
|
149
|
-
6. What's not working — what are the pain points? (open-ended)
|
|
150
|
-
7. Evolution scope — use `AskUserQuestion`: **Preserve most, tweak details** / **Evolve significantly, keep core** / **Replace — start fresh**
|
|
151
|
-
|
|
152
|
-
Then continue to Step 3c (business & people), skipping anything the brand materials already reveal.
|
|
153
|
-
|
|
154
|
-
**Step 3b-new — Skip to business questions:**
|
|
155
|
-
|
|
156
|
-
Continue directly to Step 3c.
|
|
157
|
-
|
|
158
|
-
**Step 3c — Business & People:**
|
|
86
|
+
Use `AskUserQuestion` with:
|
|
87
|
+
- **New brand** — "Create a brand identity from scratch"
|
|
88
|
+
- **Evolve existing brand** — "I have brand materials to work with"
|
|
89
|
+
- **Design project** — "Start a design project (needs a brand first)"
|
|
90
|
+
- **Both (brand + project)** — "Full pipeline: brand then project"
|
|
91
|
+
- **Quick project** — "Skip branding, use a style preset"
|
|
159
92
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
10. What's the business model? (use `AskUserQuestion` with options if you can infer likely models from industry, otherwise open-ended)
|
|
163
|
-
11. Who are the main competitors? (2-3 names — open-ended)
|
|
164
|
-
12. Present an inferred primary persona — a concrete profile (name, role, frustration, aspiration) based on answers so far. Personas should feel like real people — dig into the emotional layer. Use `AskUserQuestion`: **Looks right** / **Adjust** / **Add a secondary persona**
|
|
165
|
-
|
|
166
|
-
**Step 3d — Brand Essence:**
|
|
167
|
-
|
|
168
|
-
Before presenting personality options, **internally synthesize** promise (what should someone feel?) and point of view (what does this brand disagree with?) from prior answers. Don't ask these directly — use them to ground personality options.
|
|
169
|
-
|
|
170
|
-
13. Brand personality direction — 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:
|
|
171
|
-
- 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)
|
|
172
|
-
- **Surprise me** — craft an unexpected direction inspired by the user's industry and personas
|
|
173
|
-
- Note: this is a high-level direction only. Brand strategy phase will deepen this into archetype + voice — don't over-refine here.
|
|
174
|
-
14. What should the brand NEVER feel like? (use `AskUserQuestion` with 2-3 anti-directions inferred from their personality pick, plus open-ended option)
|
|
175
|
-
15. Brands admired or styles to avoid? (open-ended `AskUserQuestion`)
|
|
176
|
-
|
|
177
|
-
Note: competitive landscape deep-dive happens in the research phase — don't re-confirm it here. The competitor names from Q11 are enough.
|
|
178
|
-
|
|
179
|
-
**Step 3e — Constraints & confirmation:**
|
|
180
|
-
|
|
181
|
-
16. Any non-negotiables or constraints? (timeline, budget, must-haves) — open-ended `AskUserQuestion`
|
|
182
|
-
17. **Check background scan:** If the codebase scanner has returned results, weave tech findings naturally into your summary.
|
|
183
|
-
18. State your understanding back: "Here's what I'm hearing: [summary]." Use `AskUserQuestion`:
|
|
184
|
-
- **Looks good** — "That's accurate, let's go"
|
|
185
|
-
- **Adjust something** — "I want to change or add something"
|
|
186
|
-
|
|
187
|
-
Skip any question you can already answer from prior context. Don't over-ask.
|
|
188
|
-
|
|
189
|
-
4. Read templates from `${CLAUDE_SKILL_DIR}/../../templates/branding/` and write artifacts:
|
|
190
|
-
- `.design/branding/{name}/BRIEF.md` from `brief.md` template
|
|
191
|
-
- `.design/branding/{name}/STATE.md` from `state.md` template
|
|
192
|
-
- `.design/branding/{name}/config.json` from `config.json` template
|
|
193
|
-
- `.design/branding/{name}/ROADMAP.md` from `roadmap.md` template
|
|
194
|
-
|
|
195
|
-
5. Set `brand_mode` in config.json based on Step 2 routing decision.
|
|
196
|
-
|
|
197
|
-
6. Route using `AskUserQuestion` — always offer Continue / Stop here / What happens next:
|
|
198
|
-
|
|
199
|
-
- **Brand-only, new →** continue to `/gsp-brand-research`
|
|
200
|
-
- **Brand-only, evolve →** continue to `/gsp-brand-audit`
|
|
201
|
-
- **E2E, new →** continue to `/gsp-brand-research` (complete the entire brand pipeline first — research → strategy → identity → patterns — then auto-transition to Step 4 for project setup). Set `"e2e": true` in config.json so brand-patterns knows to route to project flow after completion.
|
|
202
|
-
- **E2E, evolve →** continue to `/gsp-brand-audit` (complete full brand pipeline, then auto-transition to Step 4). Set `"e2e": true` in config.json.
|
|
203
|
-
|
|
204
|
-
## Step 4: Project flow
|
|
205
|
-
|
|
206
|
-
**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.
|
|
207
|
-
|
|
208
|
-
1. Show available brands with phase status. No brands → offer to create one. One complete → suggest as default. Multiple → `AskUserQuestion` with one option per brand.
|
|
209
|
-
|
|
210
|
-
2. User selects a brand.
|
|
211
|
-
|
|
212
|
-
3. Ask for project name (kebab-case, e.g., "acme-website")
|
|
213
|
-
|
|
214
|
-
4. Create directory structure:
|
|
215
|
-
```bash
|
|
216
|
-
mkdir -p .design/projects/{name}/{brief,research,design,critique,build,review,codebase,exports,references}
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
### Detect git context
|
|
220
|
-
|
|
221
|
-
Use the background `git branch --show-current` result. If detected, confirm branch with `AskUserQuestion`. Store in config.json `git.branch` + STATE.md `## Git`. No git repo → skip silently.
|
|
222
|
-
|
|
223
|
-
5. Write `.design/projects/{name}/brand.ref` — brand name, relative path, consumed_at ISO date, identity_hash (first 8 chars md5 of IDENTITY.md, or "pending").
|
|
224
|
-
|
|
225
|
-
6. Consume `.design/system/STACK.md` — note classification for config.json, auto-infer `implementation_target` from STACK.md + COMPONENTS.md.
|
|
226
|
-
|
|
227
|
-
7. Gather project brief as a sequential conversation. Each question is its own `AskUserQuestion` call. Ask one, wait, adapt, ask the next. Skip anything you can already infer from the codebase scan.
|
|
228
|
-
|
|
229
|
-
**Sequence — What we're building:**
|
|
93
|
+
**Legacy `.design/` detected (flat structure, pre-0.4.0):**
|
|
94
|
+
Acknowledge the legacy project. Use `AskUserQuestion`: Start fresh brand, Start design project, Keep working.
|
|
230
95
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
3. Platforms? — use `AskUserQuestion`: **Web** / **iOS** / **Android** / **Cross-platform** (skip if obvious from codebase)
|
|
234
|
-
4. Implementation target — use `AskUserQuestion` with options based on codebase analysis (e.g., shadcn, rn-reusables, custom, css-only)
|
|
235
|
-
5. Design scope — use `AskUserQuestion`:
|
|
236
|
-
- **Full** — "Complete design: screens, components, tokens"
|
|
237
|
-
- **Partial** — "Specific screens or flows only"
|
|
238
|
-
- **Tokens only** — "Just design tokens, no screens"
|
|
239
|
-
6. Key screens/flows needed? — open-ended `AskUserQuestion`
|
|
96
|
+
**Brands exist, no projects:**
|
|
97
|
+
Show brand name + pipeline flow (compact single-line if complete, full pipeline if incomplete). Use `AskUserQuestion`: one option per existing brand to continue + Create new brand + Start design project.
|
|
240
98
|
|
|
241
|
-
**
|
|
99
|
+
**Brands + projects exist (canonical format):**
|
|
100
|
+
Show compact brand (single-line if complete) + full project pipeline flow. Then `AskUserQuestion`:
|
|
101
|
+
- **Continue {project}** — "pick up at {next phase}"
|
|
102
|
+
- **New project** — "start a new design project"
|
|
103
|
+
- **New brand** — "create a new brand identity"
|
|
104
|
+
- **View progress** — "see full progress dashboard"
|
|
242
105
|
|
|
243
|
-
|
|
244
|
-
8. Any constraints? (timeline, budget, must-haves) — open-ended `AskUserQuestion`
|
|
245
|
-
9. State your understanding back: "Here's what I'm hearing: [summary]." Use `AskUserQuestion`:
|
|
246
|
-
- **Looks good** — "That's accurate, let's go"
|
|
247
|
-
- **Adjust something** — "I want to change or add something"
|
|
248
|
-
- **Explain this** — "Walk me through what you captured and why" → explain each section of the brief and how it'll be used in the next phases
|
|
249
|
-
- **Surprise me** — "Suggest something I haven't thought of" → propose an unexpected screen, flow, or feature angle that would elevate the project based on what you know about the brand, audience, and codebase. Present it as a suggestion the user can adopt, tweak, or skip.
|
|
106
|
+
Weave codebase signals into the greeting naturally when found.
|
|
250
107
|
|
|
251
|
-
|
|
108
|
+
## Step 3: Route
|
|
252
109
|
|
|
253
|
-
|
|
254
|
-
- `.design/projects/{name}/BRIEF.md` from `brief.md` template
|
|
255
|
-
- `.design/projects/{name}/STATE.md` from `state.md` template — populate `## Git` table with detected/confirmed branch (or "—")
|
|
256
|
-
- `.design/projects/{name}/config.json` from `config.json` template — populate `git.branch` with detected/confirmed branch (or empty string)
|
|
257
|
-
- `.design/projects/{name}/ROADMAP.md` from `roadmap.md` template
|
|
258
|
-
- `.design/projects/{name}/exports/INDEX.md` from `${CLAUDE_SKILL_DIR}/../../templates/exports-index.md`
|
|
110
|
+
From the greeting exchange, route to the right skill:
|
|
259
111
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
112
|
+
- **New brand** → invoke `/gsp-brand-brief` via Skill tool
|
|
113
|
+
- **Evolve existing brand** → invoke `/gsp-brand-audit` via Skill tool
|
|
114
|
+
- **Design project** → Check for brands first. If none exist, explain they need a brand first. Offer to create one (route to `/gsp-brand-brief` with `e2e: true`), or use a style preset (Quick flow).
|
|
115
|
+
- **Both (brand + project)** → invoke `/gsp-brand-brief` via Skill tool with `e2e: true`
|
|
116
|
+
- **Quick project** → Quick flow (Step 4)
|
|
117
|
+
- **Continue existing work** → route to `/gsp-progress`
|
|
264
118
|
|
|
265
|
-
## Step
|
|
119
|
+
## Step 4: Quick project flow
|
|
266
120
|
|
|
267
121
|
For users who want to skip branding and start designing immediately with a style preset.
|
|
268
122
|
|
|
269
|
-
###
|
|
123
|
+
### 4a: Style selection
|
|
270
124
|
|
|
271
|
-
Read `${CLAUDE_SKILL_DIR}
|
|
125
|
+
Read `${CLAUDE_SKILL_DIR}/../gsp-style/styles/INDEX.yml` and present styles grouped by category. Use `AskUserQuestion` with one option per mood group (showing 2-3 preset names as preview) plus **Surprise me**. When user picks a group, drill into specific presets. If user names a preset directly, skip the group step.
|
|
272
126
|
|
|
273
127
|
**"Surprise me" logic:** Weight by codebase type — dev tools → dark/minimal, content → editorial, SaaS → minimal/bold, e-commerce → warm/playful, unknown → random.
|
|
274
128
|
|
|
275
|
-
###
|
|
129
|
+
### 4b: Create minimal brand
|
|
276
130
|
|
|
277
131
|
1. Create brand directory:
|
|
278
132
|
```bash
|
|
@@ -304,7 +158,7 @@ mkdir -p .design/branding/_style-{preset}/patterns/
|
|
|
304
158
|
- Phase 3 (Identity): `skipped`
|
|
305
159
|
- Phase 4 (System): `complete`
|
|
306
160
|
|
|
307
|
-
###
|
|
161
|
+
### 4c: Transition to project
|
|
308
162
|
|
|
309
163
|
Display:
|
|
310
164
|
```
|
|
@@ -314,17 +168,12 @@ Display:
|
|
|
314
168
|
now let's scope your project.
|
|
315
169
|
```
|
|
316
170
|
|
|
317
|
-
|
|
318
|
-
- Skip "show available brands" — auto-select `_style-{preset}`
|
|
319
|
-
- Go straight to asking for project name
|
|
320
|
-
- Set `style_preset: "{preset}"` in the project's `config.json`
|
|
321
|
-
- Set `identity_hash: "style-only"` in `brand.ref`
|
|
322
|
-
- Proceed with the normal sequential project brief gathering
|
|
171
|
+
Route to `/gsp-project-brief` via Skill tool with the style brand pre-selected.
|
|
323
172
|
|
|
324
173
|
### Upgrade path
|
|
325
174
|
|
|
326
175
|
If a user later wants full branding, they can:
|
|
327
|
-
1. Run `/gsp-start` → "
|
|
176
|
+
1. Run `/gsp-start` → "New brand" to create a real brand
|
|
328
177
|
2. Full diamond produces identity + patterns with real tokens
|
|
329
178
|
3. Update the project's `brand.ref` to point to the new brand
|
|
330
179
|
4. Re-run build phases — they pick up the new tokens automatically
|