get-shit-pretty 0.6.1 → 0.6.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.
Files changed (39) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +2 -0
  3. package/bin/install.js +6 -0
  4. package/gsp/agents/gsp-identity-designer.md +5 -8
  5. package/gsp/hooks/hooks.json +54 -0
  6. package/gsp/skills/get-shit-pretty/SKILL.md +2 -0
  7. package/gsp/skills/gsp-accessibility/SKILL.md +1 -0
  8. package/gsp/skills/gsp-accessibility-audit/SKILL.md +2 -0
  9. package/gsp/skills/gsp-add-reference/SKILL.md +1 -0
  10. package/gsp/skills/gsp-art/SKILL.md +1 -0
  11. package/gsp/skills/gsp-brand-audit/SKILL.md +2 -0
  12. package/gsp/skills/gsp-brand-identity/SKILL.md +14 -12
  13. package/gsp/skills/gsp-brand-patterns/SKILL.md +2 -0
  14. package/gsp/skills/gsp-brand-refine/SKILL.md +1 -0
  15. package/gsp/skills/gsp-brand-research/SKILL.md +2 -0
  16. package/gsp/skills/gsp-brand-strategy/SKILL.md +2 -0
  17. package/gsp/skills/gsp-brand-sync/SKILL.md +2 -0
  18. package/gsp/skills/gsp-design-system/SKILL.md +1 -0
  19. package/gsp/skills/gsp-doctor/SKILL.md +1 -0
  20. package/gsp/skills/gsp-help/SKILL.md +1 -0
  21. package/gsp/skills/gsp-launch/SKILL.md +11 -2
  22. package/gsp/skills/gsp-palette/SKILL.md +1 -0
  23. package/gsp/skills/gsp-pretty/SKILL.md +1 -0
  24. package/gsp/skills/gsp-progress/SKILL.md +1 -0
  25. package/gsp/skills/gsp-project-brief/SKILL.md +10 -9
  26. package/gsp/skills/gsp-project-build/SKILL.md +15 -5
  27. package/gsp/skills/gsp-project-critique/SKILL.md +34 -10
  28. package/gsp/skills/gsp-project-design/SKILL.md +30 -7
  29. package/gsp/skills/gsp-project-research/SKILL.md +11 -9
  30. package/gsp/skills/gsp-project-review/SKILL.md +3 -0
  31. package/gsp/skills/gsp-scaffold/SKILL.md +1 -0
  32. package/gsp/skills/gsp-start/SKILL.md +12 -20
  33. package/gsp/skills/gsp-style/SKILL.md +1 -0
  34. package/gsp/skills/gsp-typescale/SKILL.md +1 -0
  35. package/gsp/skills/gsp-update/SKILL.md +1 -0
  36. package/gsp/templates/branding/config.json +1 -1
  37. package/gsp/templates/phases/identity.md +2 -6
  38. package/gsp/templates/projects/config.json +1 -1
  39. package/package.json +12 -14
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gsp",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Design engineering system for AI coding agents. Brand identity + design projects, from strategy to code.",
5
5
  "author": {
6
6
  "name": "jubscodes",
package/README.md CHANGED
@@ -183,6 +183,7 @@ Create marketing campaign assets — landing page copy, social media content, la
183
183
  | `/gsp:brand-strategy` | Define archetype, positioning, personality, voice, messaging |
184
184
  | `/gsp:brand-identity` | Create visual identity — logo, color, type |
185
185
  | `/gsp:brand-patterns` | Build design system — tokens, components |
186
+ | `/gsp:brand-refine` | Surgical token and palette adjustments mid-project |
186
187
 
187
188
  ### Project
188
189
 
@@ -200,6 +201,7 @@ Create marketing campaign assets — landing page copy, social media content, la
200
201
 
201
202
  | Command | What it does |
202
203
  |---------|--------------|
204
+ | `/gsp:accessibility-audit` | Full WCAG 2.2 AA accessibility audit |
203
205
  | `/gsp:add-reference` | Add reference material to a project |
204
206
  | `/gsp:doctor` | Check project health |
205
207
  | `/gsp:update` | Update GSP to latest version |
package/bin/install.js CHANGED
@@ -605,6 +605,8 @@ function convertClaudeSkillToOpencode(content, skillName) {
605
605
  if (trimmed.startsWith('color:')) { inList = false; continue; }
606
606
  if (trimmed.startsWith('context:')) { inList = false; continue; }
607
607
  if (trimmed.startsWith('agent:')) { inList = false; continue; }
608
+ if (trimmed.startsWith('model:')) { inList = false; continue; }
609
+ if (trimmed.startsWith('effort:')) { inList = false; continue; }
608
610
  // Skip list items under dropped fields
609
611
  if (inList) {
610
612
  if (trimmed.startsWith('- ')) continue;
@@ -783,6 +785,8 @@ function convertClaudeSkillToGemini(content, skillName) {
783
785
  if (trimmed.startsWith('color:')) { inList = false; continue; }
784
786
  if (trimmed.startsWith('context:')) { inList = false; continue; }
785
787
  if (trimmed.startsWith('agent:')) { inList = false; continue; }
788
+ if (trimmed.startsWith('model:')) { inList = false; continue; }
789
+ if (trimmed.startsWith('effort:')) { inList = false; continue; }
786
790
  if (inList) {
787
791
  if (trimmed.startsWith('- ')) continue;
788
792
  else if (trimmed && !trimmed.startsWith('-')) inList = false;
@@ -858,6 +862,8 @@ function convertClaudeSkillToCodex(content, skillName) {
858
862
  if (trimmed.startsWith('color:')) { inList = false; continue; }
859
863
  if (trimmed.startsWith('context:')) { inList = false; continue; }
860
864
  if (trimmed.startsWith('agent:')) { inList = false; continue; }
865
+ if (trimmed.startsWith('model:')) { inList = false; continue; }
866
+ if (trimmed.startsWith('effort:')) { inList = false; continue; }
861
867
  if (inList) {
862
868
  if (trimmed.startsWith('- ')) continue;
863
869
  else if (trimmed && !trimmed.startsWith('-')) inList = false;
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: gsp-identity-designer
3
3
  description: Creates visual identity — logo, color, typography, imagery. Spawned by /gsp:brand-identity.
4
- tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch, WebFetch
5
- maxTurns: 40
4
+ tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch
5
+ maxTurns: 30
6
6
  permissionMode: acceptEdits
7
7
  color: magenta
8
8
  ---
@@ -30,12 +30,11 @@ You do NOT create strategy or voice. You receive those as input and translate th
30
30
  1. **Absorb inputs** — strategy chunks for strategic grounding, voice-and-tone for verbal-visual alignment, mood board for visual starting point
31
31
  1.5. **Seed from style base** — if style base preset files are provided, read the `.yml` for token values (palette, typography, spacing) and the `.md` for design philosophy. Use these as vocabulary, not constraint — adapt freely where the brand demands it. The preset is a starting palette and type direction, not a rulebook.
32
32
  2. **Design logo system** — 3 distinct directions, each expressing strategy differently. For each: concept, rationale (connects to archetype + positioning), variations, usage rules
33
- 3. **Build color system** — primary, secondary, accent, semantic. Each color needs strategic rationale. Include Hex, RGB, Pantone, CMYK. Map dark mode. Calculate WCAG AA contrast.
34
- 4. **Generate palettes** — use tints.dev API: `https://tints.dev/api/{colorName}/{hexWithout#}`. Store in `identity/palettes.json`
33
+ 3. **Build color system** — primary, secondary, accent, neutral, semantic. Each color needs strategic rationale. Include Hex and RGB. Map dark mode. Calculate WCAG AA contrast. Semantic colors (success, warning, error, info) are standard values — define them in color-system.md but do NOT generate tints.dev palettes for them.
34
+ 4. **Generate palettes** — use tints.dev API: `https://tints.dev/api/{colorName}/{hexWithout#}`. **Only for brand colors (primary, secondary, accent) and neutrals.** Store in `identity/palettes.json`
35
35
  5. **Define typography** — primary + secondary typefaces. Connect choices to voice: "We chose X because our voice is Y"
36
36
  6. **Specify imagery** — photography, illustration, iconography. Connected to archetype and brand essence
37
37
  7. **Show applications** — brand in context across key touchpoints
38
- 8. **Outline brand book** — 20-page structure
39
38
 
40
39
  ## Quality Standards
41
40
  - Every visual decision traces to strategy: "We chose X because [archetype/positioning/voice]"
@@ -44,7 +43,7 @@ You do NOT create strategy or voice. You receive those as input and translate th
44
43
  </methodology>
45
44
 
46
45
  <output>
47
- Write 6 chunks + palettes.json + INDEX.md to the identity directory (path provided by the skill that spawned you).
46
+ Write 5 chunks + palettes.json + INDEX.md to the identity directory (path provided by the skill that spawned you).
48
47
 
49
48
  Each chunk follows `references/chunk-format.md`.
50
49
 
@@ -53,7 +52,6 @@ Each chunk follows `references/chunk-format.md`.
53
52
  3. **`typography.md`** (~60-80 lines) — primary + secondary typefaces with rationale, type scale, responsive behavior
54
53
  4. **`imagery-style.md`** (~50-70 lines) — photography, illustration, iconography guidelines
55
54
  5. **`brand-applications.md`** (~50-70 lines) — key touchpoints showing brand in use
56
- 6. **`brand-book.md`** (~40-50 lines) — 20-page outline
57
55
 
58
56
  ### palettes.json
59
57
  tints.dev OKLCH palettes in the identity directory.
@@ -71,7 +69,6 @@ tints.dev OKLCH palettes in the identity directory.
71
69
  | Typography | [typography.md](./typography.md) | ~{N} |
72
70
  | Imagery Style | [imagery-style.md](./imagery-style.md) | ~{N} |
73
71
  | Brand Applications | [brand-applications.md](./brand-applications.md) | ~{N} |
74
- | Brand Book | [brand-book.md](./brand-book.md) | ~{N} |
75
72
  | Palettes | [palettes.json](./palettes.json) | — |
76
73
  ```
77
74
  </output>
@@ -12,6 +12,60 @@
12
12
  }
13
13
  ],
14
14
  "SubagentStop": [
15
+ {
16
+ "matcher": "gsp-designer",
17
+ "hooks": [
18
+ {
19
+ "type": "prompt",
20
+ "prompt": "The gsp-designer agent just finished. Verify: (1) at least one design/screen-*.md chunk was written, (2) design/INDEX.md was written, (3) design/preview.html was written. Report any missing deliverables to the user."
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "matcher": "gsp-critic",
26
+ "hooks": [
27
+ {
28
+ "type": "prompt",
29
+ "prompt": "The gsp-critic agent just finished. Verify: (1) critique/critique.md was written with a heuristics score, (2) critique/prioritized-fixes.md was written, (3) critique/strengths.md was written. Report any missing deliverables to the user."
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "matcher": "gsp-identity-designer",
35
+ "hooks": [
36
+ {
37
+ "type": "prompt",
38
+ "prompt": "The gsp-identity-designer agent just finished. Verify: (1) identity/INDEX.md was written, (2) identity/color-system.md exists, (3) identity/typography.md exists, (4) identity/palettes.json exists. Report any missing deliverables to the user."
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "matcher": "gsp-pattern-architect",
44
+ "hooks": [
45
+ {
46
+ "type": "prompt",
47
+ "prompt": "The gsp-pattern-architect agent just finished. Verify: (1) tokens.json was written, (2) INDEX.md was written, (3) at least one foundations/ chunk exists. Report any missing deliverables to the user."
48
+ }
49
+ ]
50
+ },
51
+ {
52
+ "matcher": "gsp-scoper",
53
+ "hooks": [
54
+ {
55
+ "type": "prompt",
56
+ "prompt": "The gsp-scoper agent just finished. Verify: (1) brief/scope.md was written, (2) brief/target-adaptations.md was written, (3) brief/INDEX.md was written. Report any missing deliverables to the user."
57
+ }
58
+ ]
59
+ },
60
+ {
61
+ "matcher": "gsp-campaign-director",
62
+ "hooks": [
63
+ {
64
+ "type": "prompt",
65
+ "prompt": "The gsp-campaign-director agent just finished. Verify: (1) launch/campaign-strategy.md was written, (2) launch/INDEX.md was written. Report any missing deliverables to the user."
66
+ }
67
+ ]
68
+ },
15
69
  {
16
70
  "matcher": "gsp-builder",
17
71
  "hooks": [
@@ -2,6 +2,8 @@
2
2
  name: get-shit-pretty
3
3
  description: "Design engineering for AI coding tools. Full pipeline: brand research, strategy, identity, design system, UI design, critique, accessibility audit, build, and launch. Runs specialized agents with Apple HIG, Nielsen's heuristics, WCAG 2.2 AA, and design token standards baked in."
4
4
  user-invocable: false
5
+ model: opus
6
+ effort: high
5
7
  ---
6
8
 
7
9
  # Get Shit Pretty
@@ -2,6 +2,7 @@
2
2
  name: accessibility
3
3
  description: Quick contrast checks and token WCAG audits — inline, no agent
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -2,6 +2,8 @@
2
2
  name: accessibility-audit
3
3
  description: Full WCAG accessibility audit — design screens, codebase, or generate compliance statement
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -2,6 +2,7 @@
2
2
  name: add-reference
3
3
  description: Add reference material to a project
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -2,6 +2,7 @@
2
2
  name: art
3
3
  description: "Craft ASCII art interactively — you direct, the artist creates"
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Bash
@@ -2,6 +2,8 @@
2
2
  name: brand-audit
3
3
  description: Audit an existing brand before evolving it
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -2,6 +2,8 @@
2
2
  name: brand-identity
3
3
  description: Create your visual identity — logo, color, typography
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -85,26 +87,26 @@ After visual direction is confirmed, ask as a separate `AskUserQuestion`:
85
87
 
86
88
  ## Step 3: Spawn identity designer
87
89
 
88
- Spawn the `gsp-identity-designer` agent with:
89
- - BRIEF.md content
90
- - Strategy chunks: archetype.md, positioning.md, brand-platform.md, voice-and-tone.md
91
- - discover/mood-board-direction.md
92
- - Brand Identity Creator prompt (02)
93
- - Identity output template
90
+ Spawn the `gsp-identity-designer` agent. **Inline all content** — the agent should not need to read any input files.
91
+
92
+ Pass in the agent prompt:
93
+ - **Content of** BRIEF.md (loaded in Step 1)
94
+ - **Content of** strategy chunks: archetype.md, positioning.md, brand-platform.md, voice-and-tone.md (loaded in Step 1)
95
+ - **Content of** discover/mood-board-direction.md (loaded in Step 1)
96
+ - **Content of** style base preset files `.yml` + `.md` (when loaded in Step 1)
97
+ - **Content of** audit/brand-inventory.md (when loaded in Step 2)
98
+ - Brand Identity Creator prompt (02), identity output template, color composition reference (from execution_context)
94
99
  - User-confirmed visual direction + constraints
95
- - Style base preset files (`.yml` + `.md`) if loaded
96
- - Audit chunks if they exist
97
100
  - **Output path:** `{BRAND_PATH}/identity/`
98
101
 
99
- The agent writes 6 chunks + palettes.json + INDEX.md:
102
+ The agent writes 5 chunks + palettes.json + INDEX.md:
100
103
  1. `logo-directions.md`
101
104
  2. `color-system.md`
102
105
  3. `typography.md`
103
106
  4. `imagery-style.md`
104
107
  5. `brand-applications.md`
105
- 6. `brand-book.md`
106
- 7. `palettes.json`
107
- 8. `INDEX.md`
108
+ 6. `palettes.json`
109
+ 7. `INDEX.md`
108
110
 
109
111
  ## Step 4: Perspective check
110
112
 
@@ -2,6 +2,8 @@
2
2
  name: brand-patterns
3
3
  description: Build your design system — tokens, components, brand guidelines
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -2,6 +2,7 @@
2
2
  name: brand-refine
3
3
  description: Targeted brand adjustments mid-project — tweak colors, typography, or spacing without re-running the full branding diamond
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -2,6 +2,8 @@
2
2
  name: brand-research
3
3
  description: Research your market and competitors
4
4
  user-invocable: true
5
+ model: sonnet
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -2,6 +2,8 @@
2
2
  name: brand-strategy
3
3
  description: Define positioning, voice, and messaging
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -2,6 +2,8 @@
2
2
  name: brand-sync
3
3
  description: Sync brand to match a project's shipped state — tokens, voice, visual patterns, personality
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -2,6 +2,7 @@
2
2
  name: design-system
3
3
  description: Scan and document the existing design system state
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -2,6 +2,7 @@
2
2
  name: doctor
3
3
  description: Check project health
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Glob
@@ -2,6 +2,7 @@
2
2
  name: help
3
3
  description: Show all skills
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  ---
6
7
  <objective>
7
8
  Display the complete GSP skill reference as plain text.
@@ -2,6 +2,9 @@
2
2
  name: launch
3
3
  description: Create launch and marketing assets
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
7
+ context: fork
5
8
  allowed-tools:
6
9
  - Read
7
10
  - Write
@@ -63,9 +66,15 @@ Read `{PROJECT_PATH}/BRIEF.md` — audience, goals.
63
66
 
64
67
  ## Step 2: Spawn campaign director
65
68
 
66
- Spawn the `gsp-campaign-director` agent with identity chunks, strategy voice-and-tone + messaging chunks, screen chunks, and brief. The Marketing Asset Factory prompt (04). The launch output template.
69
+ Spawn the `gsp-campaign-director` agent. **Inline all content** the agent should not need to read any input files.
67
70
 
68
- **Output path:** `{PROJECT_PATH}/launch/`
71
+ Pass in the agent prompt:
72
+ - **Content of** all identity chunks (loaded in Step 1)
73
+ - **Content of** strategy voice-and-tone.md + messaging.md (loaded in Step 1)
74
+ - **Content of** all design screen chunks (loaded in Step 1)
75
+ - **Content of** BRIEF.md (loaded in Step 1)
76
+ - The Marketing Asset Factory prompt (04), launch output template (from execution_context)
77
+ - **Output path:** `{PROJECT_PATH}/launch/`
69
78
 
70
79
  The agent writes chunks directly:
71
80
  - `launch/campaign-strategy.md`
@@ -2,6 +2,7 @@
2
2
  name: palette
3
3
  description: Generate OKLCH color palettes — standalone or as a building block for identity
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -2,6 +2,7 @@
2
2
  name: pretty
3
3
  description: "Surprise ASCII art in the terminal"
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Bash
@@ -2,6 +2,7 @@
2
2
  name: progress
3
3
  description: How pretty are we?
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Glob
@@ -2,6 +2,7 @@
2
2
  name: project-brief
3
3
  description: Scope what you're building
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -79,15 +80,15 @@ If the project scope feels large, suggest breaking it into multiple bounded issu
79
80
 
80
81
  ## Step 2: Spawn scoper
81
82
 
82
- Spawn the `gsp-scoper` agent with:
83
- - Brand system chunks (or fallback)
84
- - tokens.json
85
- - BRIEF.md
86
- - config.json preferences
87
- - `.design/system/STACK.md`, `COMPONENTS.md` (when exist)
88
- - CHANGELOG.md + relevant MANIFEST.md files for overlap detection and provenance
89
- - The Project Scoper prompt (10)
90
- - The brief output template
83
+ Spawn the `gsp-scoper` agent. **Inline all content** — the agent should not need to read any input files.
84
+
85
+ Pass in the agent prompt:
86
+ - **Content of** brand patterns foundation + component chunks (loaded in Step 1)
87
+ - **Content of** tokens.json (loaded in Step 1)
88
+ - **Content of** BRIEF.md (loaded in Step 1)
89
+ - **Content of** `.design/system/STACK.md`, `COMPONENTS.md` (when loaded in Step 1)
90
+ - **Content of** CHANGELOG.md + relevant MANIFEST.md files (loaded in Step 1)
91
+ - The Project Scoper prompt (10), brief output template (from execution_context)
91
92
  - `implementation_target`, `design_scope`, `codebase_type`
92
93
  - **Output path:** `{PROJECT_PATH}/brief/`
93
94
 
@@ -2,6 +2,8 @@
2
2
  name: project-build
3
3
  description: Translate designs to code
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -49,9 +51,6 @@ Implement designs as production-ready code in the codebase via phased pipeline w
49
51
  <execution_context>
50
52
  @${CLAUDE_SKILL_DIR}/../../prompts/09-design-to-code-translator.md
51
53
  @${CLAUDE_SKILL_DIR}/../../templates/phases/build.md
52
- @${CLAUDE_SKILL_DIR}/../../references/visual-effects.md
53
- @${CLAUDE_SKILL_DIR}/../../references/block-patterns.md
54
- @${CLAUDE_SKILL_DIR}/../../references/anti-patterns.md
55
54
  </execution_context>
56
55
 
57
56
  <process>
@@ -110,6 +109,15 @@ After scaffold completes, verify `{PROJECT_PATH}/build/SCAFFOLD-LOG.md` exists.
110
109
 
111
110
  **Gate:** If scaffold reports build failure, stop and surface the error. Do not proceed to foundations with a broken build.
112
111
 
112
+ ## Step 2.5: Load build references
113
+
114
+ Read these reference files (relative to skill dir `${CLAUDE_SKILL_DIR}/../../references/`):
115
+ - `visual-effects.md`
116
+ - `block-patterns.md`
117
+ - `anti-patterns.md`
118
+
119
+ Hold their content for inlining into agent prompts in Steps 3 and 5.
120
+
113
121
  ## Step 3: Phase 2 — FOUNDATIONS
114
122
 
115
123
  Spawn `gsp-builder` agent with **execution_mode: foundations**.
@@ -125,7 +133,8 @@ Spawn `gsp-builder` agent with **execution_mode: foundations**.
125
133
  | `.design/system/CONVENTIONS.md` | Codebase conventions (if exists) |
126
134
  | `.design/system/COMPONENTS.md` | Existing components (if exists) |
127
135
  | `{PROJECT_PATH}/config.json` | Tech stack, target |
128
- | Design-to-Code Translator prompt (09) | Translation methodology |
136
+ | Design-to-Code Translator prompt (09, from execution_context) | Translation methodology |
137
+ | Visual effects, block patterns, anti-patterns refs (loaded in Step 2.5) | Design patterns + constraints |
129
138
 
130
139
  ### Agent instructions:
131
140
 
@@ -222,7 +231,8 @@ Build screens sequentially. For each screen in `SCREENS`:
222
231
  | `{PROJECT_PATH}/brief/target-adaptations.md` | Component adaptations |
223
232
  | `{PROJECT_PATH}/research/reference-specs.md` (if exists) | Technical specs |
224
233
  | `{PROJECT_PATH}/critique/prioritized-fixes.md` (if exists) | Critique fixes relevant to this screen |
225
- | Design-to-Code Translator prompt (09) | Translation methodology |
234
+ | Design-to-Code Translator prompt (09, from execution_context) | Translation methodology |
235
+ | Visual effects, block patterns, anti-patterns refs (loaded in Step 2.5) | Design patterns + constraints |
226
236
 
227
237
  **Does NOT receive:** other screen chunks, tokens.json (already in codebase), full brand system, research monoliths.
228
238
 
@@ -2,6 +2,9 @@
2
2
  name: project-critique
3
3
  description: Critique your designs + accessibility audit
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
7
+ context: fork
5
8
  allowed-tools:
6
9
  - Read
7
10
  - Write
@@ -26,11 +29,6 @@ Critique design quality and audit accessibility compliance.
26
29
  @${CLAUDE_SKILL_DIR}/../../prompts/06-design-critique-partner.md
27
30
  @${CLAUDE_SKILL_DIR}/../../prompts/08-accessibility-auditor.md
28
31
  @${CLAUDE_SKILL_DIR}/../../templates/phases/critique.md
29
- @${CLAUDE_SKILL_DIR}/../../references/nielsen-heuristics.md
30
- @${CLAUDE_SKILL_DIR}/../../references/visual-taste.md
31
- @${CLAUDE_SKILL_DIR}/../../references/anti-patterns.md
32
- @${CLAUDE_SKILL_DIR}/../../references/wcag-checklist.md
33
- @${CLAUDE_SKILL_DIR}/../../references/color-composition.md
34
32
  </execution_context>
35
33
 
36
34
  <process>
@@ -72,13 +70,39 @@ Read `{PROJECT_PATH}/config.json` to get `implementation_target`, `design_scope`
72
70
 
73
71
  **Otherwise:** If design chunks don't exist and scope is not `tokens`, tell the user to complete the design phase first.
74
72
 
75
- ## Step 2: Spawn critics (parallel)
73
+ ## Step 1.8: Load critique references
74
+
75
+ Read these reference files (relative to skill dir `${CLAUDE_SKILL_DIR}/../../references/`):
76
+ - `nielsen-heuristics.md`
77
+ - `visual-taste.md`
78
+ - `anti-patterns.md`
79
+ - `wcag-checklist.md`
80
+ - `color-composition.md`
76
81
 
77
- **Agent 1: gsp-critic** Design critique using Nielsen's 10 Heuristics reference + all design chunks.
78
- Output path: `{PROJECT_PATH}/critique/`
82
+ Hold their content for inlining into agent prompts in Step 2.
83
+
84
+ ## Step 2: Spawn critics (parallel)
79
85
 
80
- **Agent 2: gsp-accessibility-auditor** — Check if `{PROJECT_PATH}/critique/accessibility-audit.md` already exists from a prior `/gsp:accessibility` run. If yes, skip spawning the accessibility auditor — reuse the existing output. If no, spawn `gsp-accessibility-auditor` with WCAG 2.2 audit using WCAG checklist + all design chunks. Pass `accessibility_level` from config (defaults to "WCAG 2.2 AA") so the auditor adapts its criteria (AA vs AAA).
81
- Output path: `{PROJECT_PATH}/critique/`
86
+ **Inline all content** — agents should not need to read any input files.
87
+
88
+ **Agent 1: gsp-critic** — Pass in the agent prompt:
89
+ - **Content of** all design chunks (loaded in Step 1)
90
+ - **Content of** all identity chunks (loaded in Step 1)
91
+ - **Content of** all patterns chunks (loaded in Step 1)
92
+ - **Content of** brief chunks (loaded in Step 1)
93
+ - **Content of** research recommendations.md (loaded in Step 1)
94
+ - **Content of** BRIEF.md
95
+ - **Content of** Nielsen's 10 Heuristics, visual taste, anti-patterns, color composition references (loaded in Step 1.8)
96
+ - The Design Critique Partner prompt (06), critique output template (from execution_context)
97
+ - Output path: `{PROJECT_PATH}/critique/`
98
+
99
+ **Agent 2: gsp-accessibility-auditor** — Check if `{PROJECT_PATH}/critique/accessibility-audit.md` already exists from a prior `/gsp:accessibility` run. If yes, skip spawning the accessibility auditor — reuse the existing output. If no, pass in the agent prompt:
100
+ - **Content of** all design chunks (loaded in Step 1)
101
+ - **Content of** identity color-system.md and typography.md (loaded in Step 1)
102
+ - **Content of** patterns tokens chunks (loaded in Step 1)
103
+ - **Content of** WCAG checklist reference (loaded in Step 1.8), Accessibility Auditor prompt (08, from execution_context)
104
+ - `accessibility_level` from config (defaults to "WCAG 2.2 AA")
105
+ - Output path: `{PROJECT_PATH}/critique/`
82
106
 
83
107
  ## Step 3: Write critique INDEX.md
84
108
 
@@ -2,6 +2,9 @@
2
2
  name: project-design
3
3
  description: Design screens and interaction flows
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
7
+ context: fork
5
8
  allowed-tools:
6
9
  - Read
7
10
  - Write
@@ -27,10 +30,6 @@ Design core UI/UX screens and interaction flows.
27
30
  <execution_context>
28
31
  @${CLAUDE_SKILL_DIR}/../../prompts/03-ui-ux-pattern-master.md
29
32
  @${CLAUDE_SKILL_DIR}/../../templates/phases/design.md
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
34
33
  </execution_context>
35
34
 
36
35
  <process>
@@ -111,11 +110,35 @@ When `implementation_target` is not `figma`:
111
110
  - **If `.design/system/COMPONENTS.md` and `.design/system/TOKENS.md` exist**, read them. Pass to the agent.
112
111
  - **If not**, fall back to scanning the codebase.
113
112
 
114
- ## Step 3: Spawn designer
113
+ ## Step 2.5: Load design references
114
+
115
+ Read these reference files (relative to skill dir `${CLAUDE_SKILL_DIR}/../../references/`):
116
+ - `apple-hig-patterns.md`
117
+ - `visual-effects.md`
118
+ - `block-patterns.md`
119
+ - `anti-patterns.md`
115
120
 
116
- 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).
121
+ Hold their content for inlining into the agent prompt in Step 3.
122
+
123
+ ## Step 3: Spawn designer
117
124
 
118
- **Output path:** `{PROJECT_PATH}/design/`
125
+ Spawn the `gsp-designer` agent. **Inline all content** — the agent should not need to read any input files.
126
+
127
+ Pass in the agent prompt:
128
+ - **Content of** all brand patterns foundation chunks + selective component chunks (loaded in Step 1)
129
+ - **Content of** brand identity chunks: color-system.md, typography.md, imagery-style.md (loaded in Step 1)
130
+ - **Content of** brand style prompt ({brand-name}.md) when available
131
+ - **Content of** brief chunks: scope.md, target-adaptations.md (loaded in Step 1)
132
+ - **Content of** research chunks: ux-patterns.md, recommendations.md, reference-specs.md (loaded in Step 1)
133
+ - **Content of** BRIEF.md
134
+ - **Content of** `.design/system/COMPONENTS.md`, `TOKENS.md` (when loaded in Step 2)
135
+ - **Content of** custom references (when loaded in Step 1)
136
+ - **Content of** critique fixes: prioritized-fixes.md, accessibility-fixes.md (when in revision mode)
137
+ - The UI/UX Pattern Master prompt (03), design output template (from execution_context)
138
+ - **Content of** Apple HIG patterns, visual effects, block patterns, anti-patterns references (loaded in Step 2.5)
139
+ - `implementation_target`, `design_scope`, `codebase_type`
140
+ - Target screens (when partial)
141
+ - **Output path:** `{PROJECT_PATH}/design/`
119
142
 
120
143
  The agent writes chunks directly:
121
144
  - `design/screen-{NN}-{name}.md` (one per screen)
@@ -2,6 +2,8 @@
2
2
  name: project-research
3
3
  description: Research UX patterns and technical approaches
4
4
  user-invocable: true
5
+ model: sonnet
6
+ effort: high
5
7
  allowed-tools:
6
8
  - Read
7
9
  - Write
@@ -80,16 +82,16 @@ If competitor URLs or reference sites are mentioned in BRIEF.md or `{PROJECT_PAT
80
82
 
81
83
  ## Step 2: Spawn project researcher
82
84
 
83
- Include any pre-fetched reference content in the agent context.
85
+ Spawn the `gsp-project-researcher` agent. **Inline all content** the agent should not need to read any input files.
84
86
 
85
- Spawn the `gsp-project-researcher` agent with:
86
- - Brief scope chunks
87
- - Brand system foundation chunks
88
- - Brand discovery chunks (competitive audit, trends to build on, not duplicate)
89
- - BRIEF.md
90
- - config.json preferences
91
- - The Project Researcher prompt (12)
92
- - The research output template
87
+ Pass in the agent prompt:
88
+ - **Content of** brief scope chunks: scope.md, target-adaptations.md (loaded in Step 1)
89
+ - **Content of** brand patterns foundation chunks (loaded in Step 1)
90
+ - **Content of** brand discovery chunks: competitive-audit.md, trend-analysis.md (loaded in Step 1)
91
+ - **Content of** custom references (loaded in Step 1)
92
+ - **Content of** BRIEF.md (loaded in Step 1)
93
+ - Any pre-fetched reference content (from Step 1.75)
94
+ - The Project Researcher prompt (12), research output template (from execution_context)
93
95
  - `implementation_target`, `platform`, `tech_stack`
94
96
  - **Output path:** `{PROJECT_PATH}/research/`
95
97
 
@@ -2,6 +2,9 @@
2
2
  name: project-review
3
3
  description: QA review — validate implementation against designs
4
4
  user-invocable: true
5
+ model: opus
6
+ effort: high
7
+ context: fork
5
8
  allowed-tools:
6
9
  - Read
7
10
  - Write
@@ -2,6 +2,7 @@
2
2
  name: scaffold
3
3
  description: Deterministic stack setup — install deps, create configs, verify build compiles
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -2,6 +2,7 @@
2
2
  name: start
3
3
  description: Start here — picks up where you left off
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -30,15 +31,6 @@ Through a sequential one-question-at-a-time conversation, gather a complete brie
30
31
 
31
32
  <execution_context>
32
33
  @${CLAUDE_SKILL_DIR}/../../references/questioning.md
33
- @${CLAUDE_SKILL_DIR}/../../templates/branding/brief.md
34
- @${CLAUDE_SKILL_DIR}/../../templates/branding/state.md
35
- @${CLAUDE_SKILL_DIR}/../../templates/branding/config.json
36
- @${CLAUDE_SKILL_DIR}/../../templates/branding/roadmap.md
37
- @${CLAUDE_SKILL_DIR}/../../templates/projects/brief.md
38
- @${CLAUDE_SKILL_DIR}/../../templates/projects/state.md
39
- @${CLAUDE_SKILL_DIR}/../../templates/projects/config.json
40
- @${CLAUDE_SKILL_DIR}/../../templates/projects/roadmap.md
41
- @${CLAUDE_SKILL_DIR}/../../templates/exports-index.md
42
34
  </execution_context>
43
35
 
44
36
  <rules>
@@ -194,11 +186,11 @@ Note: competitive landscape deep-dive happens in the research phase — don't re
194
186
 
195
187
  Skip any question you can already answer from prior context. Don't over-ask.
196
188
 
197
- 4. Write artifacts:
198
- - `.design/branding/{name}/BRIEF.md` from brand brief template
199
- - `.design/branding/{name}/STATE.md` from brand state template
200
- - `.design/branding/{name}/config.json` from brand config template
201
- - `.design/branding/{name}/ROADMAP.md` from brand roadmap template
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
202
194
 
203
195
  5. Set `brand_mode` in config.json based on Step 2 routing decision.
204
196
 
@@ -258,12 +250,12 @@ Use the background `git branch --show-current` result. If detected, confirm bran
258
250
 
259
251
  Skip any question you can already answer from the codebase scan. Don't over-ask.
260
252
 
261
- 8. Write artifacts:
262
- - `.design/projects/{name}/BRIEF.md` from project brief template
263
- - `.design/projects/{name}/STATE.md` from project state template — populate `## Git` table with detected/confirmed branch (or "—")
264
- - `.design/projects/{name}/config.json` from project config template — populate `git.branch` with detected/confirmed branch (or empty string)
265
- - `.design/projects/{name}/ROADMAP.md` from project roadmap template
266
- - `.design/projects/{name}/exports/INDEX.md` from exports-index template
253
+ 8. Read templates from `${CLAUDE_SKILL_DIR}/../../templates/projects/` and write artifacts:
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`
267
259
 
268
260
  9. Route using `AskUserQuestion`: "Project set up! Ready to scope what you're building?"
269
261
  - **Continue to scoping** — "Scope the project now" → invoke `/gsp:project-brief` via Skill tool
@@ -2,6 +2,7 @@
2
2
  name: style
3
3
  description: Apply a design style — get tokens and foundations without the branding diamond
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -2,6 +2,7 @@
2
2
  name: typescale
3
3
  description: Generate a mathematical type scale — standalone or as a building block for identity
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Write
@@ -2,6 +2,7 @@
2
2
  name: update
3
3
  description: Update GSP to the latest version
4
4
  user-invocable: true
5
+ model: sonnet
5
6
  allowed-tools:
6
7
  - Read
7
8
  - Bash
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.5.0",
2
+ "version": "0.6.2",
3
3
  "project_type": "brand",
4
4
  "brand": {
5
5
  "name": "",
@@ -5,7 +5,7 @@
5
5
 
6
6
  ---
7
7
 
8
- > This phase produces 6 chunks + palettes.json + INDEX.md in the `identity/` directory.
8
+ > This phase produces 5 chunks + palettes.json + INDEX.md in the `identity/` directory.
9
9
 
10
10
  ## Inputs
11
11
  - BRIEF.md — personas, constraints
@@ -26,7 +26,6 @@
26
26
  | `typography.md` | Primary + secondary typefaces, full type scale, responsive behavior |
27
27
  | `imagery-style.md` | Photography, illustration, iconography guidelines |
28
28
  | `brand-applications.md` | Key touchpoints showing the brand in use |
29
- | `brand-book.md` | 20-page brand book outline with section descriptions |
30
29
 
31
30
  Also produces `palettes.json` — machine-readable OKLCH color scales.
32
31
 
@@ -43,7 +42,7 @@ Each chunk follows the format in `references/chunk-format.md`.
43
42
  - **Usage rules**
44
43
 
45
44
  ### color-system.md
46
- - Full palette table: Role, Hex, RGB, Pantone, CMYK, Usage, Rationale
45
+ - Full palette table: Role, Hex, RGB, Usage, Rationale
47
46
  - Semantic colors (error, success, warning)
48
47
  - Color rationale — connects to archetype and brand essence
49
48
  - Dark mode mapping table
@@ -65,6 +64,3 @@ Each chunk follows the format in `references/chunk-format.md`.
65
64
  - Key touchpoints showing the brand in use (digital, print, social)
66
65
  - Each application with visual direction and design notes
67
66
 
68
- ### brand-book.md
69
- - 20-page outline covering: Brand Story, Strategy, Voice, Logo System,
70
- Color, Typography, Imagery, Layout, Applications, Do's and Don'ts
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.5.0",
2
+ "version": "0.6.2",
3
3
  "project_type": "design",
4
4
  "project": {
5
5
  "name": "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-shit-pretty",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Design engineering system for AI coding agents. Brand identity + design projects, from strategy to code.",
5
5
  "bin": {
6
6
  "get-shit-pretty": "bin/install.js"
@@ -39,32 +39,30 @@
39
39
  "url": "git+https://github.com/jubscodes/get-shit-pretty.git"
40
40
  },
41
41
  "devDependencies": {
42
- "@tailwindcss/postcss": "^4.2.2",
43
- "@types/node": "^25.5.0",
44
- "@types/react": "^19.2.14",
45
- "@types/react-dom": "^19.2.3",
46
- "next": "^16.2.0",
47
- "postcss": "^8.5.8",
48
- "react": "^19.2.4",
49
- "react-dom": "^19.2.4",
50
- "tailwindcss": "^4.2.2",
51
- "typescript": "^5.9.3"
52
- },
53
- "dependencies": {
54
42
  "@base-ui/react": "^1.3.0",
55
43
  "@mdx-js/loader": "^3.1.1",
56
44
  "@mdx-js/mdx": "^3.1.1",
57
45
  "@mdx-js/react": "^3.1.1",
58
46
  "@next/mdx": "^16.2.1",
47
+ "@tailwindcss/postcss": "^4.2.2",
48
+ "@types/node": "^25.5.0",
49
+ "@types/react": "^19.2.14",
50
+ "@types/react-dom": "^19.2.3",
59
51
  "class-variance-authority": "^0.7.1",
60
52
  "clsx": "^2.1.1",
61
53
  "gray-matter": "^4.0.3",
62
54
  "lucide-react": "^0.577.0",
55
+ "next": "^16.2.0",
63
56
  "next-themes": "^0.4.6",
57
+ "postcss": "^8.5.8",
58
+ "react": "^19.2.4",
59
+ "react-dom": "^19.2.4",
64
60
  "shadcn": "^4.1.0",
65
61
  "shiki": "^4.0.2",
66
62
  "sonner": "^2.0.7",
67
63
  "tailwind-merge": "^3.5.0",
68
- "tw-animate-css": "^1.4.0"
64
+ "tailwindcss": "^4.2.2",
65
+ "tw-animate-css": "^1.4.0",
66
+ "typescript": "^5.9.3"
69
67
  }
70
68
  }