get-shit-pretty 0.6.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/bin/install.js +36 -20
  2. package/gsp/agents/gsp-accessibility-auditor.md +1 -1
  3. package/gsp/agents/gsp-ascii-artist.md +1 -1
  4. package/gsp/agents/gsp-brand-auditor.md +1 -1
  5. package/gsp/agents/gsp-brand-strategist.md +1 -1
  6. package/gsp/agents/gsp-builder.md +1 -1
  7. package/gsp/agents/gsp-campaign-director.md +1 -1
  8. package/gsp/agents/gsp-creative-director.md +4 -4
  9. package/gsp/agents/gsp-critic.md +3 -3
  10. package/gsp/agents/gsp-designer.md +2 -2
  11. package/gsp/agents/gsp-project-researcher.md +1 -1
  12. package/gsp/agents/gsp-researcher.md +1 -1
  13. package/gsp/agents/gsp-reviewer.md +1 -1
  14. package/gsp/agents/gsp-scoper.md +1 -1
  15. package/gsp/skills/get-shit-pretty/SKILL.md +10 -9
  16. package/gsp/skills/gsp-accessibility/SKILL.md +1 -1
  17. package/gsp/skills/gsp-accessibility-audit/SKILL.md +2 -2
  18. package/gsp/skills/gsp-add-reference/SKILL.md +5 -0
  19. package/gsp/skills/gsp-art/SKILL.md +5 -0
  20. package/gsp/skills/gsp-brand-audit/SKILL.md +2 -2
  21. package/gsp/skills/gsp-brand-guidelines/SKILL.md +2 -2
  22. package/gsp/skills/gsp-brand-identity/SKILL.md +3 -3
  23. package/gsp/skills/gsp-brand-refine/SKILL.md +1 -1
  24. package/gsp/skills/gsp-brand-research/SKILL.md +2 -2
  25. package/gsp/skills/gsp-brand-strategy/SKILL.md +4 -4
  26. package/gsp/skills/gsp-brand-sync/SKILL.md +3 -3
  27. package/gsp/skills/gsp-brand-sync/chunk-format.md +79 -0
  28. package/gsp/skills/gsp-color/SKILL.md +24 -56
  29. package/gsp/skills/gsp-color/chunk-format.md +79 -0
  30. package/gsp/skills/{gsp-palette/SKILL.md → gsp-color/domains/palette.md} +31 -101
  31. package/gsp/skills/gsp-color/domains/system.md +123 -0
  32. package/gsp/skills/gsp-design-system/SKILL.md +5 -0
  33. package/gsp/skills/gsp-help/SKILL.md +4 -3
  34. package/gsp/skills/gsp-icons/SKILL.md +1 -1
  35. package/gsp/skills/gsp-icons/chunk-format.md +79 -0
  36. package/gsp/skills/gsp-launch/SKILL.md +1 -1
  37. package/gsp/skills/gsp-logo/SKILL.md +2 -2
  38. package/gsp/skills/gsp-logo/chunk-format.md +79 -0
  39. package/gsp/skills/gsp-phase-transition/SKILL.md +124 -0
  40. package/gsp/skills/gsp-project-brief/SKILL.md +1 -1
  41. package/gsp/skills/gsp-project-build/SKILL.md +10 -5
  42. package/gsp/skills/gsp-project-critique/SKILL.md +5 -5
  43. package/gsp/{references → skills/gsp-project-critique}/visual-taste.md +1 -1
  44. package/gsp/skills/gsp-project-design/SKILL.md +1 -1
  45. package/gsp/skills/gsp-project-research/SKILL.md +1 -1
  46. package/gsp/skills/gsp-project-review/SKILL.md +1 -1
  47. package/gsp/skills/gsp-start/SKILL.md +1 -1
  48. package/gsp/skills/gsp-style/SKILL.md +4 -4
  49. package/gsp/skills/gsp-style/chunk-format.md +79 -0
  50. package/gsp/skills/gsp-style/style-preset-schema.md +124 -0
  51. package/gsp/skills/gsp-typography/SKILL.md +28 -66
  52. package/gsp/skills/gsp-typography/chunk-format.md +79 -0
  53. package/gsp/skills/gsp-typography/domains/pairing.md +109 -0
  54. package/gsp/skills/gsp-typography/domains/scale.md +227 -0
  55. package/gsp/skills/gsp-typography/domains/system.md +108 -0
  56. package/gsp/skills/gsp-visuals/SKILL.md +82 -0
  57. package/gsp/skills/gsp-visuals/chunk-format.md +79 -0
  58. package/gsp/skills/{gsp-3d/SKILL.md → gsp-visuals/domains/3d.md} +62 -47
  59. package/gsp/skills/{gsp-images/SKILL.md → gsp-visuals/domains/imagery.md} +17 -69
  60. package/gsp/skills/{gsp-textures/SKILL.md → gsp-visuals/domains/textures.md} +54 -48
  61. package/gsp/skills/{gsp-video/SKILL.md → gsp-visuals/domains/video.md} +53 -47
  62. package/gsp/templates/branding/config.json +1 -1
  63. package/gsp/templates/phases/brief.md +1 -1
  64. package/gsp/templates/phases/critique.md +1 -1
  65. package/gsp/templates/phases/design.md +1 -1
  66. package/gsp/templates/phases/discover.md +1 -1
  67. package/gsp/templates/phases/identity.md +1 -1
  68. package/gsp/templates/phases/launch.md +1 -1
  69. package/gsp/templates/phases/patterns.md +1 -1
  70. package/gsp/templates/phases/research.md +1 -1
  71. package/gsp/templates/phases/review.md +1 -1
  72. package/gsp/templates/phases/strategy.md +1 -1
  73. package/gsp/templates/projects/config.json +1 -1
  74. package/package.json +1 -1
  75. package/gsp/references/phase-transitions.md +0 -132
  76. package/gsp/references/style-preset-schema.md +0 -63
  77. package/gsp/skills/gsp-typescale/SKILL.md +0 -234
  78. /package/gsp/{references → skills/gsp-accessibility-audit}/wcag-checklist.md +0 -0
  79. /package/gsp/{references → skills/gsp-art}/terminal-art.md +0 -0
  80. /package/gsp/{references → skills/gsp-brand-audit}/chunk-format.md +0 -0
  81. /package/gsp/{references → skills/gsp-brand-guidelines}/design-tokens.md +0 -0
  82. /package/gsp/{references → skills/gsp-brand-guidelines}/token-mapping.md +0 -0
  83. /package/gsp/{references → skills/gsp-brand-research}/design-trends.md +0 -0
  84. /package/gsp/{references → skills/gsp-brand-strategy}/brand-archetypes.md +0 -0
  85. /package/gsp/{references → skills/gsp-brand-strategy}/brand-prism.md +0 -0
  86. /package/gsp/{references → skills/gsp-brand-strategy}/positioning-frameworks.md +0 -0
  87. /package/gsp/{references → skills/gsp-brand-strategy}/voice-tone.md +0 -0
  88. /package/gsp/{references → skills/gsp-color/references}/color-composition.md +0 -0
  89. /package/gsp/{references → skills/gsp-project-build}/visual-effects.md +0 -0
  90. /package/gsp/{references → skills/gsp-project-critique}/anti-patterns.md +0 -0
  91. /package/gsp/{references → skills/gsp-project-critique}/nielsen-heuristics.md +0 -0
  92. /package/gsp/{references → skills/gsp-project-design}/apple-hig-patterns.md +0 -0
  93. /package/gsp/{references → skills/gsp-project-design}/block-patterns.md +0 -0
  94. /package/gsp/{references → skills/gsp-start}/questioning.md +0 -0
  95. /package/gsp/{references → skills/gsp-typography/references}/typography-scales.md +0 -0
package/bin/install.js CHANGED
@@ -1205,8 +1205,26 @@ function installLocalSymlinks(targetDir, src) {
1205
1205
  forceSymlink(path.join('..', '..', 'gsp', 'skills', dir.name), path.join(skillsDest, dir.name));
1206
1206
  skillCount++;
1207
1207
  }
1208
+ // ── Dev skill symlinks (local only — not shipped in npm package) ──
1209
+ const devSkillsSrc = path.join(cwd, 'dev', 'skills');
1210
+ let devSkillCount = 0;
1211
+ try {
1212
+ if (fs.existsSync(devSkillsSrc)) {
1213
+ for (const dir of fs.readdirSync(devSkillsSrc, { withFileTypes: true })) {
1214
+ if (!dir.isDirectory()) continue;
1215
+ forceSymlink(path.join('..', '..', 'dev', 'skills', dir.name), path.join(skillsDest, dir.name));
1216
+ devSkillCount++;
1217
+ }
1218
+ }
1219
+ } catch {
1220
+ console.log(` ${c.secondary}! Could not read dev/skills/ — skipping dev skills${c.reset}`);
1221
+ }
1222
+
1208
1223
  if (skillCount > 0) {
1209
- console.log(` ${c.success}✓${c.reset} Symlinked ${skillCount} skills`);
1224
+ const msg = devSkillCount > 0
1225
+ ? `Symlinked ${skillCount} skills + ${devSkillCount} dev`
1226
+ : `Symlinked ${skillCount} skills`;
1227
+ console.log(` ${c.success}✓${c.reset} ${msg}`);
1210
1228
  } else { failures.push('skills'); }
1211
1229
 
1212
1230
  // Clean up legacy commands/gsp dir (may be broken symlink)
@@ -1217,24 +1235,25 @@ function installLocalSymlinks(targetDir, src) {
1217
1235
  console.log(` ${c.success}✓${c.reset} Removed legacy commands/gsp`);
1218
1236
  } catch {}
1219
1237
 
1220
- // ── Bundle symlinks (templates, references → runtime root) ──
1238
+ // ── Bundle symlinks (templates → runtime root) ──
1221
1239
  // Clean up legacy dirs
1222
1240
  const legacyBundleDest = path.join(targetDir, 'get-shit-pretty');
1223
1241
  if (fs.existsSync(legacyBundleDest)) {
1224
1242
  fs.rmSync(legacyBundleDest, { recursive: true });
1225
1243
  console.log(` ${c.success}✓${c.reset} Removed legacy get-shit-pretty/ bundle`);
1226
1244
  }
1227
- const legacyPrompts = path.join(targetDir, 'prompts');
1228
- if (fs.existsSync(legacyPrompts)) {
1229
- fs.rmSync(legacyPrompts, { recursive: true });
1230
- console.log(` ${c.success}✓${c.reset} Removed legacy prompts/`);
1245
+ for (const legacyDir of ['prompts', 'references']) {
1246
+ const legacyPath = path.join(targetDir, legacyDir);
1247
+ try {
1248
+ fs.lstatSync(legacyPath);
1249
+ fs.rmSync(legacyPath, { recursive: true });
1250
+ console.log(` ${c.success}✓${c.reset} Removed legacy ${legacyDir}/`);
1251
+ } catch {}
1231
1252
  }
1232
1253
 
1233
- for (const dir of ['templates', 'references']) {
1234
- if (fs.existsSync(path.join(gspRoot, dir))) {
1235
- forceSymlink(path.join('..', 'gsp', dir), path.join(targetDir, dir));
1236
- console.log(` ${c.success}✓${c.reset} Symlinked ${dir}/`);
1237
- }
1254
+ if (fs.existsSync(path.join(gspRoot, 'templates'))) {
1255
+ forceSymlink(path.join('..', 'gsp', 'templates'), path.join(targetDir, 'templates'));
1256
+ console.log(` ${c.success}✓${c.reset} Symlinked templates/`);
1238
1257
  }
1239
1258
 
1240
1259
  // Write VERSION from package.json (local dev uses repo root VERSION via symlinks)
@@ -1435,15 +1454,12 @@ function install(isGlobal, runtime = 'claude') {
1435
1454
  console.log(` ${c.success}✓${c.reset} Removed legacy prompts/`);
1436
1455
  }
1437
1456
 
1438
- const bundleDirs = ['templates', 'references'];
1439
- for (const dir of bundleDirs) {
1440
- const dirSrc = path.join(gspRoot, dir);
1441
- if (fs.existsSync(dirSrc)) {
1442
- copyWithPathReplacement(dirSrc, path.join(targetDir, dir), pathPrefix, runtime);
1443
- if (verifyInstalled(path.join(targetDir, dir), dir)) {
1444
- console.log(` ${c.success}✓${c.reset} Installed ${dir}/`);
1445
- } else { failures.push(dir); }
1446
- }
1457
+ const templatesSrc = path.join(gspRoot, 'templates');
1458
+ if (fs.existsSync(templatesSrc)) {
1459
+ copyWithPathReplacement(templatesSrc, path.join(targetDir, 'templates'), pathPrefix, runtime);
1460
+ if (verifyInstalled(path.join(targetDir, 'templates'), 'templates')) {
1461
+ console.log(` ${c.success}✓${c.reset} Installed templates/`);
1462
+ } else { failures.push('templates'); }
1447
1463
  }
1448
1464
 
1449
1465
  // Write VERSION file
@@ -58,7 +58,7 @@ Write your audit as chunks to the output directory (path provided by the skill t
58
58
 
59
59
  ### Chunk files
60
60
 
61
- Write each chunk following the format in `references/chunk-format.md`:
61
+ Write each chunk following the standard chunk format:
62
62
 
63
63
  1. **`accessibility-audit.md`** (~100-150 lines) — Perceivable, Operable, Understandable, Robust checklists (pass/fail per criterion with notes), Mobile accessibility, Cognitive accessibility, summary (total pass/fail/not-applicable counts, overall conformance level), accessibility statement draft
64
64
  2. **`accessibility-fixes.md`** (~50-100 lines) — Violations table (issue, severity Critical/Major/Minor, WCAG criterion, remediation steps). Only Critical and Major severity items.
@@ -19,7 +19,7 @@ You are a creative who happens to work in a grid of fixed-width cells. Every pie
19
19
  </role>
20
20
 
21
21
  <reference>
22
- @references/terminal-art.md
22
+ @skills/gsp-art/terminal-art.md
23
23
  </reference>
24
24
 
25
25
  <methodology>
@@ -38,7 +38,7 @@ Assess existing brand identities — coherence, market fit, equity, evolution op
38
38
  <output>
39
39
  Write 5 chunks + INDEX.md to the audit directory (path provided by the skill that spawned you).
40
40
 
41
- Each chunk follows `references/chunk-format.md`.
41
+ Each chunk follows the standard chunk format.
42
42
 
43
43
  1. **`brand-inventory.md`** — structured inventory of all current assets (logo, colors with hex, typefaces, voice samples, messaging, positioning)
44
44
  2. **`coherence-assessment.md`** — strategy coherence (1-5), strategy↔visual alignment (1-5), key disconnects
@@ -50,7 +50,7 @@ Act as Head of Strategy at a top branding agency. Define the strategic foundatio
50
50
  <output>
51
51
  Write 5 chunks + INDEX.md to the strategy directory (path provided by the skill that spawned you).
52
52
 
53
- Each chunk follows `references/chunk-format.md`.
53
+ Each chunk follows the standard chunk format.
54
54
 
55
55
  1. **`positioning.md`** — positioning statement + 2-axis map with competitors plotted + white space analysis
56
56
  2. **`archetype.md`** — primary + secondary archetype, rationale, shadow traits, communication style, visual tendencies
@@ -165,7 +165,7 @@ When in **revision mode** (addressing QA issues), append a revision section:
165
165
 
166
166
  ### `build/INDEX.md`
167
167
 
168
- After writing BUILD-LOG.md, write `build/INDEX.md` following the standard chunk INDEX format (see `references/chunk-format.md`). Reference BUILD-LOG.md (and CODE.md + components/ in figma mode).
168
+ After writing BUILD-LOG.md, write `build/INDEX.md` following the standard chunk INDEX format (standard chunk format). Reference BUILD-LOG.md (and CODE.md + components/ in figma mode).
169
169
 
170
170
  > **Note:** `codebase/MANIFEST.md` is written by the skill (`project-build`), not by this agent.
171
171
 
@@ -50,7 +50,7 @@ Write your campaign as chunks to the project's launch directory (path provided b
50
50
 
51
51
  ### Chunk files
52
52
 
53
- Write each chunk following the format in `references/chunk-format.md`:
53
+ Write each chunk following the standard chunk format:
54
54
 
55
55
  1. **`campaign-strategy.md`** (~50-80 lines) — Objective, audience, key message, tone, channels
56
56
  2. **`digital-ads.md`** (~80-120 lines) — Google Ads + Meta/Instagram + TikTok (all formats and A/B variants)
@@ -12,7 +12,7 @@ You are a GSP creative director spawned by `/gsp-brand-identity`.
12
12
 
13
13
  Act as Creative Director at Pentagram. Make the creative decisions for the brand's visual identity — logo concepts, color choices, typeface selections, imagery direction — grounded in strategy and voice.
14
14
 
15
- You make CREATIVE decisions. Domain skills (`/gsp-color`, `/gsp-typography`, `/gsp-logo`, `/gsp-images`) handle TECHNICAL execution after you finish. Focus on the WHY and WHAT, not the HOW — no OKLCH math, no contrast calculations, no type scale formulas. Those are enriched by specialists.
15
+ You make CREATIVE decisions. Domain skills (`/gsp-color`, `/gsp-typography`, `/gsp-logo`, `/gsp-visuals --imagery`) handle TECHNICAL execution after you finish. Focus on the WHY and WHAT, not the HOW — no OKLCH math, no contrast calculations, no type scale formulas. Those are enriched by specialists.
16
16
  </role>
17
17
 
18
18
  <inputs>
@@ -42,7 +42,7 @@ You make CREATIVE decisions. Domain skills (`/gsp-color`, `/gsp-typography`, `/g
42
42
  2. **Direct logo system** — define the brand's logo personality: what the mark should express, the energy (bold/elegant/playful/technical/minimal), and how it connects to strategy. Write `logo-directions.md` with 3 concepts and strategic rationale. Detailed construction, variations, and usage rules are handled by `/gsp-logo --enrich` after you finish.
43
43
  3. **Choose colors** — pick primary, secondary, accent hex values with strategic rationale. Connect each choice to brand archetype/positioning. Define dark mode direction. Write `color-system.md` with chosen colors, rationale, and semantic mapping. Technical execution (OKLCH palettes, WCAG contrast math) is handled by `/gsp-color --enrich` after you finish — focus on the CREATIVE decisions.
44
44
  4. **Choose typography** — pick primary + secondary typefaces. Connect to voice: "We chose X because our voice is Y." Define scale direction (tight/airy, editorial/technical). Write `typography.md` with choices and rationale. Technical execution (mathematical scale, fluid type, font loading) is handled by `/gsp-typography --enrich` after you finish.
45
- 5. **Direct imagery** — photography style, illustration approach, iconography direction. Connected to archetype and brand essence. Write `imagery-style.md` with creative direction. Technical execution (icon library specifics, CSS treatment recipes) is handled by `/gsp-images --enrich` after you finish.
45
+ 5. **Direct imagery** — photography style, illustration approach, iconography direction. Connected to archetype and brand essence. Write `imagery-style.md` with creative direction. Technical execution (icon library specifics, CSS treatment recipes) is handled by `/gsp-visuals --imagery --enrich` after you finish.
46
46
  6. **Show applications** — brand in context across key touchpoints
47
47
 
48
48
  ## Quality Standards
@@ -55,12 +55,12 @@ You make CREATIVE decisions. Domain skills (`/gsp-color`, `/gsp-typography`, `/g
55
55
  <output>
56
56
  Write 5 chunks + INDEX.md to the identity directory (path provided by the skill that spawned you).
57
57
 
58
- Each chunk follows `references/chunk-format.md`. Your chunks capture CREATIVE decisions — domain skills (`/gsp-color`, `/gsp-typography`, `/gsp-images`) enrich them with technical precision after you finish.
58
+ Each chunk follows the standard chunk format. Your chunks capture CREATIVE decisions — domain skills (`/gsp-color`, `/gsp-typography`, `/gsp-visuals --imagery`) enrich them with technical precision after you finish.
59
59
 
60
60
  1. **`logo-directions.md`** (~100-120 lines) — 3 directions with concept, rationale, variations, usage rules
61
61
  2. **`color-system.md`** (~80-120 lines) — chosen hex values for primary/secondary/accent/neutral, strategic rationale per color, semantic mapping, dark mode direction. Do NOT generate OKLCH palettes or calculate contrast ratios — `/gsp-color --enrich` handles that.
62
62
  3. **`typography.md`** (~50-70 lines) — chosen typefaces with voice rationale, scale direction (tight/airy), weight strategy. Do NOT calculate mathematical scale or fluid type — `/gsp-typography --enrich` handles that.
63
- 4. **`imagery-style.md`** (~50-70 lines) — photography style, illustration approach, iconography direction. Do NOT specify icon libraries or CSS treatments — `/gsp-images --enrich` handles that.
63
+ 4. **`imagery-style.md`** (~50-70 lines) — photography style, illustration approach, iconography direction. Do NOT specify icon libraries or CSS treatments — `/gsp-visuals --imagery --enrich` handles that.
64
64
  5. **`brand-applications.md`** (~50-70 lines) — key touchpoints showing brand in use
65
65
 
66
66
  ### INDEX.md
@@ -104,11 +104,11 @@ The gap between "correct" and "good." Evaluate:
104
104
  - **Craft in details** — tinted shadows, considered spacing rhythm, typographic hierarchy through weight+color+spacing not just size
105
105
  - **Would someone ask "who designed this?"** — or does it look like any other product?
106
106
 
107
- Full scoring via `references/visual-taste.md` (15 items, X/75) — Read when you want to produce a formal taste score.
107
+ Full scoring via `skills/gsp-project-critique/visual-taste.md` (15 items, X/75) — Read when you want to produce a formal taste score.
108
108
 
109
109
  ### Supplementary (Read from disk when needed)
110
110
 
111
- 8. **Full anti-pattern scan** — Read `references/anti-patterns.md` for typography, color, and code quality patterns beyond the core checks above.
111
+ 8. **Full anti-pattern scan** — Read `skills/gsp-project-critique/anti-patterns.md` for typography, color, and code quality patterns beyond the core checks above.
112
112
  9. **Color composition** — Evaluate palette strategy using the inlined color-composition reference (60-30-10 rule, monochrome vs accent, warm/cool consistency).
113
113
 
114
114
  ### Synthesis
@@ -129,7 +129,7 @@ Write your critique as chunks to the project's critique directory (path provided
129
129
 
130
130
  ### Chunk files
131
131
 
132
- Write each chunk following the format in `references/chunk-format.md`:
132
+ Write each chunk following the standard chunk format:
133
133
 
134
134
  1. **`critique.md`** (~120-180 lines) — Strategy evaluation, brand compliance (X/25 when STYLE.md), usability evaluation (10 heuristics scored 1-5, total X/50), accessibility findings, content quality, implementation quality, taste assessment. Taste scoring (X/75) included when `visual-taste.md` was read.
135
135
  2. **`prioritized-fixes.md`** (~50-100 lines) — Critical / Important / Polish fix lists with specific remediation per screen/component. **Tag style-level issues** with `[STYLE]` prefix — these need `/gsp-brand-refine` to update the `.yml` source, not just a design revision. Style-level: constraint violations, pattern mismatches, intensity miscalibration, missing bold bets. Screen-level: layout choices, content placement, component selection.
@@ -64,7 +64,7 @@ Baseline design principles — **STYLE.md overrides these** when present. A brut
64
64
  - Accessibility: VoiceOver labels on every element, respect `prefers-reduced-motion`, support all 12 text sizes
65
65
  - Gestures: never override system back, tap for primary action, long press for context menu
66
66
 
67
- Full reference: `references/apple-hig-patterns.md` (available via Read for specific HIG pattern details).
67
+ Full reference: `skills/gsp-project-design/apple-hig-patterns.md` (available via Read for specific HIG pattern details).
68
68
 
69
69
  ## Anti-Pattern Awareness (distilled)
70
70
 
@@ -93,7 +93,7 @@ Write your screens as chunks to the project's design directory (path provided by
93
93
 
94
94
  ### Screen chunks
95
95
 
96
- Write one chunk per screen (~150-200 lines each), following `references/chunk-format.md`:
96
+ Write one chunk per screen (~150-200 lines each), following the standard chunk format:
97
97
 
98
98
  **Naming:** `screen-{NN}-{kebab-case-name}.md` (e.g., `screen-01-home.md`, `screen-03-user-profile.md`)
99
99
 
@@ -44,7 +44,7 @@ Write your research as chunks to the project's research directory (path provided
44
44
 
45
45
  ### Research chunks
46
46
 
47
- Write each chunk following the format in `references/chunk-format.md`:
47
+ Write each chunk following the standard chunk format:
48
48
 
49
49
  1. **`ux-patterns.md`** (~120-180 lines) — Established UX patterns for this product type: navigation, interaction, IA, onboarding, empty states. With sources and examples.
50
50
  2. **`competitor-ux.md`** (~100-150 lines) — 3-5 competitor UX deep-dives with strengths, weaknesses, unique patterns, opportunity gaps, best-in-class moments.
@@ -46,7 +46,7 @@ Act as a senior design researcher. Analyze the market landscape and competitive
46
46
  <output>
47
47
  Write 4 chunks + INDEX.md to the discover directory (path provided by the skill that spawned you).
48
48
 
49
- Each chunk follows `references/chunk-format.md`.
49
+ Each chunk follows the standard chunk format.
50
50
 
51
51
  1. **`market-landscape.md`** — industry context, key players, trajectory, user expectation shifts relevant to this brand's personas
52
52
  2. **`competitive-audit.md`** — competitors on Conservative↔Progressive × Traditional↔Modern axes, visual language analysis, white space
@@ -50,7 +50,7 @@ Write your review as chunks to the project's review directory (path provided by
50
50
 
51
51
  ### Review chunks
52
52
 
53
- Write each chunk following the format in `references/chunk-format.md`:
53
+ Write each chunk following the standard chunk format:
54
54
 
55
55
  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
56
  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.
@@ -44,7 +44,7 @@ Write your brief as chunks to the project's brief directory (path provided by th
44
44
 
45
45
  ### Brief chunks
46
46
 
47
- Write each chunk following the format in `references/chunk-format.md`:
47
+ Write each chunk following the standard chunk format:
48
48
 
49
49
  1. **`scope.md`** (~80-120 lines) — Prioritized screen list, component scope, project boundaries, success criteria, dependencies, issue framing
50
50
  2. **`target-adaptations.md`** (~60-100 lines) — Token overrides, component adaptations, platform considerations, implementation target mapping
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: get-shit-pretty
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."
3
+ description: "Design engineering for AI coding tools. Full pipeline: brand research, strategy, identity, guidelines, UI design, critique, accessibility audit, build, and launch. Expertise skills (color, typography, visuals) serve the entire pipeline. 15 specialized agents with Apple HIG, Nielsen's heuristics, WCAG 2.2 AA, and design token standards."
4
4
  user-invocable: false
5
5
  model: opus
6
6
  effort: high
@@ -12,8 +12,6 @@ Design engineering system for AI coding tools. Brand identity + design projects,
12
12
 
13
13
  ## Install
14
14
 
15
- GSP requires a full installation to work — agents, prompts, templates, and references that power the pipeline. Run:
16
-
17
15
  ```bash
18
16
  npx get-shit-pretty
19
17
  ```
@@ -22,11 +20,14 @@ Pick your runtime (Claude Code, OpenCode, Gemini CLI, or Codex CLI), choose glob
22
20
 
23
21
  ## What You Get
24
22
 
25
- A dual-diamond design pipeline with 23 commands:
23
+ A dual-diamond design pipeline with 34 skills across two layers:
26
24
 
27
25
  ```
26
+ ◆ Expertise (knowledge owners — serve the full pipeline)
27
+ color · typography · visuals · accessibility · style
28
+
28
29
  ◆ Branding
29
- research → strategy → identity → patterns
30
+ research → strategy → identity → guidelines
30
31
 
31
32
  ◆ Project
32
33
  brief → research → design → critique → build → review → launch
@@ -34,12 +35,12 @@ brief → research → design → critique → build → review → launch
34
35
  └──── loop ────────┘
35
36
  ```
36
37
 
37
- Each skill spawns a specialized agent modeled after a real design discipline:
38
+ Each pipeline phase spawns specialized agents. Expertise skills carry domain knowledge as sibling files — loaded on demand, zero session-start cost.
38
39
 
39
40
  - **Brand Research** — market landscape, audience, competitors
40
- - **Brand Strategy** — archetype, positioning, personality, voice, tone, messaging (Kapferer Prism)
41
- - **Brand Identity** — logo directions, color palette, typography
42
- - **Brand Patterns** — design tokens, component foundations
41
+ - **Brand Strategy** — archetype, positioning, voice, messaging (Kapferer Prism)
42
+ - **Brand Identity** — logo directions, color, typography, imagery
43
+ - **Brand Guidelines** — design tokens, STYLE.md, component mapping
43
44
  - **Project Brief** — scope, screen list, gap analysis
44
45
  - **Project Research** — UX patterns, competitor experiences
45
46
  - **Project Design** — screens and flows (Apple HIG)
@@ -35,7 +35,7 @@ Run lightweight accessibility checks inline — contrast ratio lookups and token
35
35
  - Quick check mode (`--check`) produces display output only — no files written
36
36
  - Token audit mode runs inline — no agent spawned
37
37
  - Default conformance level is AA unless overridden by `--level AAA` or config
38
- - Foundation chunks follow `references/chunk-format.md` format
38
+ - Foundation chunks follow `chunk-format.md` format
39
39
  </rules>
40
40
 
41
41
  <process>
@@ -33,7 +33,7 @@ Run full accessibility audits — design screen reviews, codebase ARIA/keyboard/
33
33
  </objective>
34
34
 
35
35
  <execution_context>
36
- @${CLAUDE_SKILL_DIR}/../../references/wcag-checklist.md
36
+ @${CLAUDE_SKILL_DIR}/wcag-checklist.md
37
37
  </execution_context>
38
38
 
39
39
  <rules>
@@ -41,7 +41,7 @@ Run full accessibility audits — design screen reviews, codebase ARIA/keyboard/
41
41
  - One decision per question — never batch multiple questions in a single message
42
42
  - Statement mode reads prior audit results — fails gracefully if none exist
43
43
  - Default conformance level is AA unless overridden by `--level AAA` or config
44
- - Foundation chunks follow `references/chunk-format.md` format
44
+ - Foundation chunks follow `chunk-format.md` format
45
45
  </rules>
46
46
 
47
47
  <process>
@@ -23,6 +23,11 @@ Add reference material to a project for downstream agents to consume.
23
23
  **Output:** `{project}/references/` with organized reference files + `references/INDEX.md`
24
24
  </objective>
25
25
 
26
+ <rules>
27
+ - Always use `AskUserQuestion` for user interaction — never prompt via plain text
28
+ - One decision per question — never batch multiple questions in a single message
29
+ </rules>
30
+
26
31
  <process>
27
32
  ## Step 0: Resolve project
28
33
 
@@ -23,6 +23,11 @@ Create terminal art with the user in the loop — gather intent, create, iterate
23
23
  **Agent:** `gsp-ascii-artist`
24
24
  </objective>
25
25
 
26
+ <rules>
27
+ - Always use `AskUserQuestion` for user interaction — never prompt via plain text
28
+ - One decision per question — never batch multiple questions in a single message
29
+ </rules>
30
+
26
31
  <process>
27
32
  ## Step 1: Gather intent
28
33
 
@@ -26,7 +26,7 @@ Audit an existing brand. Produce evolution map that guides research, strategy, a
26
26
  </objective>
27
27
 
28
28
  <execution_context>
29
- @${CLAUDE_SKILL_DIR}/../../references/chunk-format.md
29
+ @${CLAUDE_SKILL_DIR}/chunk-format.md
30
30
  </execution_context>
31
31
 
32
32
  <rules>
@@ -88,5 +88,5 @@ Update `evolution_scope` in `{BRAND_PATH}/config.json` with confirmed decisions.
88
88
 
89
89
  Update `{BRAND_PATH}/STATE.md`: set Phase 0 (Audit) to `complete`.
90
90
 
91
- Render phase transition (see `references/phase-transitions.md`).
91
+ Invoke `/gsp-phase-transition` with phase `audit` and output directory `{BRAND_PATH}/audit/`.
92
92
  </process>
@@ -28,7 +28,7 @@ Operationalize brand identity into project-ready artifacts and complete the bran
28
28
 
29
29
  <execution_context>
30
30
  @${CLAUDE_SKILL_DIR}/../../templates/phases/patterns.md
31
- @${CLAUDE_SKILL_DIR}/../../references/design-tokens.md
31
+ @${CLAUDE_SKILL_DIR}/design-tokens.md
32
32
  </execution_context>
33
33
 
34
34
  <rules>
@@ -212,7 +212,7 @@ Update `{BRAND_PATH}/STATE.md`:
212
212
 
213
213
  ## Step 5: Phase transition output
214
214
 
215
- Render phase transition (see `references/phase-transitions.md`).
215
+ Invoke `/gsp-phase-transition` with phase `guidelines` and output directory `{BRAND_PATH}/patterns/`.
216
216
 
217
217
  **E2E mode:** Read `{BRAND_PATH}/config.json`. If `e2e` is `true`, auto-invoke `/gsp-start` via Skill tool — it will detect the completed brand and route directly to project setup (Step 4). No need to ask the user.
218
218
 
@@ -27,7 +27,7 @@ Build the brand's visual identity.
27
27
 
28
28
  <execution_context>
29
29
  @${CLAUDE_SKILL_DIR}/../../templates/phases/identity.md
30
- @${CLAUDE_SKILL_DIR}/../../references/color-composition.md
30
+ @${CLAUDE_SKILL_DIR}/../gsp-color/references/color-composition.md
31
31
  </execution_context>
32
32
 
33
33
  <rules>
@@ -113,7 +113,7 @@ After the creative-director finishes, invoke domain skills to add technical prec
113
113
  1. **Invoke `/gsp-logo --enrich`** — reads `logo-directions.md`, enriches each direction with detailed construction geometry, complete variation specs, clear space rules, and minimum size calculations.
114
114
  2. **Invoke `/gsp-color --enrich`** — reads `color-system.md`, generates OKLCH palettes via tints.dev, calculates WCAG contrast, writes `palettes.json`, enriches with contrast ratios and semantic mapping.
115
115
  3. **Invoke `/gsp-typography --enrich`** — reads `typography.md`, generates mathematical type scale, adds fluid type formulas, enriches with font loading instructions.
116
- 4. **Invoke `/gsp-images --enrich`** — reads `imagery-style.md`, adds icon library specifics, CSS texture/treatment recipes, enriches with technical implementation details.
116
+ 4. **Invoke `/gsp-visuals --imagery --enrich`** — reads `imagery-style.md`, adds icon library specifics, CSS texture/treatment recipes, enriches with technical implementation details.
117
117
 
118
118
  Each skill loads its own domain references on-demand — no upfront context cost.
119
119
 
@@ -137,5 +137,5 @@ Use `AskUserQuestion`:
137
137
 
138
138
  Update `{BRAND_PATH}/STATE.md`: set Phase 3 (Identity) to `complete`, Prettiness Level to 80%.
139
139
 
140
- Render phase transition (see `references/phase-transitions.md`).
140
+ Invoke `/gsp-phase-transition` with phase `identity` and output directory `{BRAND_PATH}/identity/`.
141
141
  </process>
@@ -27,7 +27,7 @@ Accept natural language feedback about brand visuals, identify which `.yml` valu
27
27
  </objective>
28
28
 
29
29
  <execution_context>
30
- @${CLAUDE_SKILL_DIR}/../../references/design-tokens.md
30
+ @${CLAUDE_SKILL_DIR}/../gsp-brand-guidelines/design-tokens.md
31
31
  </execution_context>
32
32
 
33
33
  <rules>
@@ -27,7 +27,7 @@ Research market context that will inform brand strategy.
27
27
 
28
28
  <execution_context>
29
29
  @${CLAUDE_SKILL_DIR}/../../templates/phases/discover.md
30
- @${CLAUDE_SKILL_DIR}/../../references/design-trends.md (index only — agent loads specific trend files only after open research validates relevance)
30
+ @${CLAUDE_SKILL_DIR}/design-trends.md (index only — agent loads specific trend files only after open research validates relevance)
31
31
  @${CLAUDE_SKILL_DIR}/../gsp-style/styles/INDEX.yml
32
32
  </execution_context>
33
33
 
@@ -85,5 +85,5 @@ Update `{BRAND_PATH}/STATE.md`: set Phase 1 (Discover) to `complete`.
85
85
 
86
86
  ## Step 5: Phase transition
87
87
 
88
- Render phase transition (see `references/phase-transitions.md`).
88
+ Invoke `/gsp-phase-transition` with phase `discover` and output directory `{BRAND_PATH}/research/`.
89
89
  </process>
@@ -27,9 +27,9 @@ Define brand strategy and voice through interactive creative direction, then pro
27
27
 
28
28
  <execution_context>
29
29
  @${CLAUDE_SKILL_DIR}/../../templates/phases/strategy.md
30
- @${CLAUDE_SKILL_DIR}/../../references/brand-archetypes.md
31
- @${CLAUDE_SKILL_DIR}/../../references/positioning-frameworks.md
32
- @${CLAUDE_SKILL_DIR}/../../references/voice-tone.md
30
+ @${CLAUDE_SKILL_DIR}/brand-archetypes.md
31
+ @${CLAUDE_SKILL_DIR}/positioning-frameworks.md
32
+ @${CLAUDE_SKILL_DIR}/voice-tone.md
33
33
  </execution_context>
34
34
 
35
35
  <rules>
@@ -146,5 +146,5 @@ If adjust → loop back. If confirmed → proceed.
146
146
 
147
147
  Update `{BRAND_PATH}/STATE.md`: set Phase 2 (Strategy) to `complete`.
148
148
 
149
- Render phase transition (see `references/phase-transitions.md`).
149
+ Invoke `/gsp-phase-transition` with phase `strategy` and output directory `{BRAND_PATH}/strategy/`.
150
150
  </process>
@@ -33,8 +33,8 @@ Compare a project's shipped state against its source brand across all dimensions
33
33
  </objective>
34
34
 
35
35
  <execution_context>
36
- @${CLAUDE_SKILL_DIR}/../../references/design-tokens.md
37
- @${CLAUDE_SKILL_DIR}/../../references/chunk-format.md
36
+ @${CLAUDE_SKILL_DIR}/../gsp-brand-guidelines/design-tokens.md
37
+ @${CLAUDE_SKILL_DIR}/chunk-format.md
38
38
  </execution_context>
39
39
 
40
40
  <rules>
@@ -93,7 +93,7 @@ Use the Update Map from the sync report. For each confirmed change:
93
93
 
94
94
  **Personality** — update `{BRAND_PATH}/strategy/archetype.md` and `positioning.md`. Update `brand-platform.md` if values/promise shifted.
95
95
 
96
- Preserve chunk format per `references/chunk-format.md`. Update INDEX.md files if chunks were added.
96
+ Preserve chunk format per `chunk-format.md`. Update INDEX.md files if chunks were added.
97
97
 
98
98
  ## Step 4: Summary
99
99
 
@@ -0,0 +1,79 @@
1
+ # Chunk Format Reference
2
+
3
+ Standard format for all GSP phase output files. Chunks are the primary output — agents write chunks directly, not monoliths.
4
+
5
+ ## File Format
6
+
7
+ Every chunk follows this structure:
8
+
9
+ # {Section/Component/Screen Name}
10
+
11
+ > Phase: {phase} | Brand/Project: {name} | Generated: {DATE}
12
+
13
+ ---
14
+
15
+ {Content for this chunk}
16
+
17
+ ---
18
+
19
+ ## Related
20
+
21
+ - [{Related chunk name}]({relative-path-to-related-chunk})
22
+
23
+ ## Naming Conventions
24
+
25
+ - **Singular, kebab-case, lowercase:** "Buttons" → `button.md`, "Date Picker" → `date-picker.md`
26
+ - **Screen files:** `screen-{NN}-{kebab-case-name}.md` (e.g., `screen-01-home.md`)
27
+
28
+ ## INDEX.md Format
29
+
30
+ Each phase directory gets an INDEX.md manifest:
31
+
32
+ # {Phase Name}
33
+ > Phase: {phase} | Brand/Project: {name} | Generated: {DATE}
34
+
35
+ | Chunk | File | ~Lines |
36
+ |-------|------|--------|
37
+ | {Section} | [{filename}](./{filename}) | ~{N} |
38
+
39
+ Lightweight — just a lookup table. No prose.
40
+
41
+ ## Rules
42
+
43
+ - **Chunks are primary output** — agents write chunks directly to the phase directory
44
+ - **No monoliths** — do not write a single large file then re-chunk it
45
+ - **Size target:** 50-200 lines per chunk
46
+ - **Self-contained:** each chunk must be understandable without loading other chunks
47
+ - **Cross-references:** `## Related` section uses relative paths to related chunks
48
+ - **Idempotent:** re-running a phase regenerates all chunks in that phase directory
49
+
50
+ ## Output Budgets
51
+
52
+ Context is finite. Every line in a chunk is consumed by downstream agents. Budget accordingly.
53
+
54
+ ### Per-chunk budgets
55
+
56
+ | Chunk type | Target | Hard max | Notes |
57
+ |-----------|--------|----------|-------|
58
+ | Phase chunk (design, research, etc.) | 50-150 lines | 200 lines | Self-contained, one concept per chunk |
59
+ | INDEX.md | 10-30 lines | 50 lines | Lookup table only, no prose |
60
+ | BUILD-LOG.md | 50-100 lines | 150 lines | Summary + tables, not narrative |
61
+ | Component spec | 30-80 lines | 120 lines | Props, states, behavior — not full implementation |
62
+ | Screen spec | 80-150 lines | 200 lines | Layout, components, interactions, states |
63
+
64
+ ### Per-phase budgets (total across all chunks)
65
+
66
+ | Phase | Target total | Hard max | Typical chunks |
67
+ |-------|-------------|----------|----------------|
68
+ | Brief | 100-200 lines | 300 lines | 2-4 |
69
+ | Research | 200-400 lines | 600 lines | 5-8 |
70
+ | Design | 300-600 lines | 800 lines | 6-12 |
71
+ | Critique | 100-200 lines | 300 lines | 2-4 |
72
+ | Build log | 50-100 lines | 150 lines | 1 |
73
+ | Review | 100-200 lines | 300 lines | 2-4 |
74
+
75
+ ### Terminal output (inline skills)
76
+
77
+ - **Diagnostic** (doctor, progress): uncapped — user needs to see it, does not persist in agent context
78
+ - **Greeting/status** (start): 20-40 lines
79
+ - **Phase transitions**: 10-20 lines