get-shit-pretty 0.6.2 → 0.6.3

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 (121) hide show
  1. package/README.md +7 -12
  2. package/bin/install.js +96 -71
  3. package/gsp/agents/gsp-accessibility-auditor.md +3 -3
  4. package/gsp/agents/gsp-ascii-artist.md +1 -1
  5. package/gsp/agents/gsp-brand-auditor.md +2 -2
  6. package/gsp/agents/gsp-brand-engineer.md +131 -0
  7. package/gsp/agents/gsp-brand-strategist.md +2 -2
  8. package/gsp/agents/gsp-brand-syncer.md +8 -7
  9. package/gsp/agents/gsp-builder.md +48 -5
  10. package/gsp/agents/gsp-campaign-director.md +2 -3
  11. package/gsp/agents/gsp-creative-director.md +80 -0
  12. package/gsp/agents/gsp-critic.md +99 -17
  13. package/gsp/agents/gsp-designer.md +51 -4
  14. package/gsp/agents/gsp-project-researcher.md +3 -3
  15. package/gsp/agents/gsp-researcher.md +4 -4
  16. package/gsp/agents/gsp-reviewer.md +2 -2
  17. package/gsp/agents/gsp-scoper.md +2 -2
  18. package/gsp/hooks/hooks.json +5 -5
  19. package/gsp/references/design-trends.md +4 -4
  20. package/gsp/references/phase-transitions.md +12 -12
  21. package/gsp/references/questioning.md +1 -1
  22. package/gsp/references/token-mapping.md +329 -0
  23. package/gsp/skills/gsp-3d/SKILL.md +112 -0
  24. package/gsp/skills/gsp-accessibility/SKILL.md +11 -11
  25. package/gsp/skills/gsp-accessibility-audit/SKILL.md +6 -7
  26. package/gsp/skills/gsp-add-reference/SKILL.md +1 -1
  27. package/gsp/skills/gsp-art/SKILL.md +1 -1
  28. package/gsp/skills/gsp-brand-audit/SKILL.md +3 -3
  29. package/gsp/skills/gsp-brand-guidelines/SKILL.md +233 -0
  30. package/gsp/skills/gsp-brand-identity/SKILL.md +27 -18
  31. package/gsp/skills/gsp-brand-refine/SKILL.md +29 -22
  32. package/gsp/skills/gsp-brand-research/SKILL.md +2 -2
  33. package/gsp/skills/gsp-brand-strategy/SKILL.md +3 -3
  34. package/gsp/skills/gsp-brand-sync/SKILL.md +7 -7
  35. package/gsp/skills/gsp-color/SKILL.md +105 -0
  36. package/gsp/skills/gsp-design-system/SKILL.md +4 -4
  37. package/gsp/skills/gsp-doctor/SKILL.md +25 -18
  38. package/gsp/skills/gsp-help/SKILL.md +28 -28
  39. package/gsp/skills/gsp-icons/SKILL.md +108 -0
  40. package/gsp/skills/gsp-images/SKILL.md +197 -0
  41. package/gsp/skills/gsp-launch/SKILL.md +2 -3
  42. package/gsp/skills/gsp-logo/SKILL.md +173 -0
  43. package/gsp/skills/gsp-palette/SKILL.md +13 -13
  44. package/gsp/skills/gsp-pretty/SKILL.md +2 -2
  45. package/gsp/skills/gsp-progress/SKILL.md +20 -20
  46. package/gsp/skills/gsp-project-brief/SKILL.md +7 -8
  47. package/gsp/skills/gsp-project-build/SKILL.md +21 -21
  48. package/gsp/skills/gsp-project-critique/SKILL.md +13 -14
  49. package/gsp/skills/gsp-project-design/SKILL.md +17 -17
  50. package/gsp/skills/gsp-project-research/SKILL.md +5 -6
  51. package/gsp/skills/gsp-project-review/SKILL.md +7 -9
  52. package/gsp/skills/gsp-scaffold/SKILL.md +3 -3
  53. package/gsp/skills/gsp-start/SKILL.md +14 -14
  54. package/gsp/skills/gsp-style/SKILL.md +41 -43
  55. package/gsp/skills/gsp-style/styles/INDEX.yml +1 -1
  56. package/gsp/skills/gsp-style/styles/academia.yml +80 -0
  57. package/gsp/skills/gsp-style/styles/art-deco.yml +81 -0
  58. package/gsp/skills/gsp-style/styles/bauhaus.yml +78 -0
  59. package/gsp/skills/gsp-style/styles/bold-typography.yml +73 -0
  60. package/gsp/skills/gsp-style/styles/botanical.yml +78 -0
  61. package/gsp/skills/gsp-style/styles/claymorphism.yml +84 -0
  62. package/gsp/skills/gsp-style/styles/cyberpunk.yml +87 -0
  63. package/gsp/skills/gsp-style/styles/enterprise.yml +81 -0
  64. package/gsp/skills/gsp-style/styles/flat-design.yml +67 -0
  65. package/gsp/skills/gsp-style/styles/fluent.yml +82 -0
  66. package/gsp/skills/gsp-style/styles/glassmorphism.yml +83 -0
  67. package/gsp/skills/gsp-style/styles/humanist-literary.yml +74 -0
  68. package/gsp/skills/gsp-style/styles/industrial.yml +82 -0
  69. package/gsp/skills/gsp-style/styles/kinetic.yml +94 -0
  70. package/gsp/skills/gsp-style/styles/liquid-glass.yml +91 -0
  71. package/gsp/skills/gsp-style/styles/luxury.yml +83 -0
  72. package/gsp/skills/gsp-style/styles/material.yml +83 -0
  73. package/gsp/skills/gsp-style/styles/maximalism.yml +92 -0
  74. package/gsp/skills/gsp-style/styles/minimal-dark.yml +75 -0
  75. package/gsp/skills/gsp-style/styles/modern-dark.yml +88 -0
  76. package/gsp/skills/gsp-style/styles/monochrome.yml +68 -0
  77. package/gsp/skills/gsp-style/styles/neubrutalism.yml +83 -0
  78. package/gsp/skills/gsp-style/styles/neumorphism.yml +77 -0
  79. package/gsp/skills/gsp-style/styles/newsprint.yml +81 -0
  80. package/gsp/skills/gsp-style/styles/organic.yml +77 -0
  81. package/gsp/skills/gsp-style/styles/playful-geometric.yml +90 -0
  82. package/gsp/skills/gsp-style/styles/professional.yml +67 -0
  83. package/gsp/skills/gsp-style/styles/retro.yml +85 -0
  84. package/gsp/skills/gsp-style/styles/saas.yml +83 -0
  85. package/gsp/skills/gsp-style/styles/sketch.yml +86 -0
  86. package/gsp/skills/gsp-style/styles/swiss-minimalist.yml +69 -0
  87. package/gsp/skills/gsp-style/styles/terminal.yml +83 -0
  88. package/gsp/skills/gsp-style/styles/vaporwave.yml +84 -0
  89. package/gsp/skills/gsp-style/styles/web3.yml +82 -0
  90. package/gsp/skills/gsp-textures/SKILL.md +132 -0
  91. package/gsp/skills/gsp-typescale/SKILL.md +11 -11
  92. package/gsp/skills/gsp-typography/SKILL.md +108 -0
  93. package/gsp/skills/gsp-update/SKILL.md +1 -2
  94. package/gsp/skills/gsp-video/SKILL.md +101 -0
  95. package/gsp/templates/branding/config.json +1 -1
  96. package/gsp/templates/branding/roadmap.md +9 -9
  97. package/gsp/templates/exports-index.md +8 -8
  98. package/gsp/templates/phases/build.md +1 -1
  99. package/gsp/templates/phases/design.md +1 -1
  100. package/gsp/templates/phases/patterns.md +60 -71
  101. package/gsp/templates/phases/style.md +158 -0
  102. package/gsp/templates/projects/config.json +1 -1
  103. package/gsp/templates/projects/roadmap.md +7 -7
  104. package/gsp/templates/projects/state.md +1 -1
  105. package/package.json +1 -2
  106. package/.claude-plugin/plugin.json +0 -24
  107. package/gsp/agents/gsp-identity-designer.md +0 -74
  108. package/gsp/agents/gsp-pattern-architect.md +0 -189
  109. package/gsp/prompts/01-design-system-architect.md +0 -19
  110. package/gsp/prompts/02-brand-identity-creator.md +0 -16
  111. package/gsp/prompts/03-ui-ux-pattern-master.md +0 -21
  112. package/gsp/prompts/04-marketing-asset-factory.md +0 -14
  113. package/gsp/prompts/05-implementation-spec-expert.md +0 -15
  114. package/gsp/prompts/06-design-critique-partner.md +0 -14
  115. package/gsp/prompts/07-design-trend-synthesizer.md +0 -3
  116. package/gsp/prompts/08-accessibility-auditor.md +0 -23
  117. package/gsp/prompts/09-design-to-code-translator.md +0 -49
  118. package/gsp/prompts/10-project-scoper.md +0 -17
  119. package/gsp/prompts/11-deliverable-reviewer.md +0 -18
  120. package/gsp/prompts/12-project-researcher.md +0 -18
  121. package/gsp/skills/gsp-brand-patterns/SKILL.md +0 -240
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: design-system
2
+ name: gsp-design-system
3
3
  description: Scan and document the existing design system state
4
4
  user-invocable: true
5
5
  model: sonnet
@@ -15,8 +15,8 @@ allowed-tools:
15
15
  Composable skill that scans the workspace codebase and documents the existing design system state. Produces focused documents that downstream skills and agents consume selectively.
16
16
 
17
17
  Works two ways:
18
- 1. **Standalone** — user runs `/gsp:design-system` for a quick workspace audit
19
- 2. **Building block** — `/gsp:start` invokes this in the background during project setup
18
+ 1. **Standalone** — user runs `/gsp-design-system` for a quick workspace audit
19
+ 2. **Building block** — `/gsp-start` invokes this in the background during project setup
20
20
 
21
21
  Output is workspace-level (not project-scoped), so it's shared across all projects and only needs to run once per codebase state change. Re-runnable — overwrites previous output.
22
22
  </context>
@@ -136,7 +136,7 @@ Each concern includes: file paths, severity (high/medium/low), and fix approach.
136
136
  Display a summary box:
137
137
 
138
138
  ```
139
- /gsp: design-system scan complete
139
+ /gsp- design-system scan complete
140
140
 
141
141
  ┌──────────────────────────────────────────┐
142
142
  │ type {classification} │
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: doctor
2
+ name: gsp-doctor
3
3
  description: Check project health
4
4
  user-invocable: true
5
5
  model: sonnet
@@ -27,7 +27,7 @@ Check for `.design/` in the current directory.
27
27
  If not found:
28
28
  ```
29
29
  🩺 GSP Doctor — No project found
30
- No .design/ directory detected. Run /gsp:start to start.
30
+ No .design/ directory detected. Run /gsp-start to start.
31
31
  ```
32
32
  Stop here.
33
33
 
@@ -68,12 +68,12 @@ If all 4 phases complete, check:
68
68
  - `identity/INDEX.md` exists (chunk format)
69
69
  - `identity/palettes.json` exists (WARN if missing)
70
70
  - `patterns/INDEX.md` exists (chunk format)
71
- - `patterns/tokens.json` exists (WARN if missing)
71
+ - `patterns/*.yml` preset exists (WARN if missing)
72
72
  - If monolith exists without INDEX.md → WARN: "Legacy monolith format"
73
73
 
74
74
  **Check B4: Legacy Monolith Detection**
75
75
  For each brand phase directory (discover, strategy, identity, patterns):
76
- - If monolith exists but no INDEX.md → WARN: "Monolith files are no longer supported in GSP v0.6.0+. Re-run `/gsp:brand-{phase}` to generate chunk output."
76
+ - If monolith exists but no INDEX.md → WARN: "Monolith files are no longer supported in GSP v0.6.0+. Re-run `/gsp-brand-{phase}` to generate chunk output."
77
77
 
78
78
  ### Per-Project Checks (6-phase)
79
79
 
@@ -86,12 +86,12 @@ Required dirs: brief/, research/, design/, critique/, build/, review/
86
86
 
87
87
  Check each exists:
88
88
  - All present → PASS
89
- - Core files missing → FAIL: list which are missing, suggest `/gsp:start`
89
+ - Core files missing → FAIL: list which are missing, suggest `/gsp-start`
90
90
 
91
91
  **Design system check:**
92
92
  - If `.design/system/` directory exists, verify at least `STACK.md` is present → PASS
93
- - If `.design/system/` is missing and codebase is not greenfield → WARN: "Design system scan missing. Run `/gsp:design-system` to scan."
94
- - If old project-scoped `codebase/INVENTORY.md` exists → WARN: "Legacy INVENTORY.md found. Run `/gsp:design-system` to migrate to workspace-level design system docs."
93
+ - If `.design/system/` is missing and codebase is not greenfield → WARN: "Design system scan missing. Run `/gsp-design-system` to scan."
94
+ - If old project-scoped `codebase/INVENTORY.md` exists → WARN: "Legacy INVENTORY.md found. Run `/gsp-design-system` to migrate to workspace-level design system docs."
95
95
 
96
96
  Legacy detection: if system/, screens/, specs/, plan/ dirs exist → WARN: "Legacy structure detected — project uses old phase layout"
97
97
 
@@ -103,7 +103,7 @@ WARN if brand referenced but system not complete
103
103
  **Check P3: Brand Drift**
104
104
  Read `identity_hash` from brand.ref
105
105
  If brand identity/IDENTITY.md exists, compute current hash (first 8 chars of md5)
106
- If hashes differ → WARN: "Brand identity has changed since project consumed it. Consider re-running `/gsp:project-brief`."
106
+ If hashes differ → WARN: "Brand identity has changed since project consumed it. Consider re-running `/gsp-project-brief`."
107
107
  If identity_hash is "pending" → INFO: "Brand identity wasn't complete when project was created."
108
108
 
109
109
  **Check P4: Phase Ordering**
@@ -117,7 +117,7 @@ brief < research < design < critique < build < review
117
117
  2. Valid skip scenarios (not violations):
118
118
  - design skipped when `design_scope` is `tokens`
119
119
  - research can proceed without brief
120
- 3. build complete but critique pending → WARN: "Build completed without critique. Run `/gsp:project-critique` to audit."
120
+ 3. build complete but critique pending → WARN: "Build completed without critique. Run `/gsp-project-critique` to audit."
121
121
  4. Any other out-of-order completion → FAIL with specifics
122
122
 
123
123
  All phases in order (or validly skipped) → PASS
@@ -130,7 +130,7 @@ Only check phases that are `complete`. All paths relative to the project instanc
130
130
 
131
131
  **When `system_strategy` is `extend`:**
132
132
  - Check if brand's `patterns/` output contains "Component Audit" or "KEEP" or "RESTYLE" or "REFACTOR" or "REPLACE"
133
- - If none found → WARN: "Strategy is `extend` but system output lacks component audit table. Re-run `/gsp:brand-patterns`."
133
+ - If none found → WARN: "Strategy is `extend` but system output lacks component audit table. Re-run `/gsp-brand-guidelines`."
134
134
 
135
135
  **When `implementation_target` is `shadcn`:**
136
136
  - If brief phase is complete, check brief/ output for "shadcn" or "npx shadcn"
@@ -169,7 +169,7 @@ No drift detected → PASS
169
169
  **What it catches:** Chunk directories missing, INDEX.md references broken.
170
170
 
171
171
  For each completed project phase (brief, research, design, critique, build, review):
172
- - Check for `{phase}/INDEX.md` — if missing → WARN: "Phase {phase} is complete but has no INDEX.md. Re-run `/gsp:{command}` to generate chunks."
172
+ - Check for `{phase}/INDEX.md` — if missing → WARN: "Phase {phase} is complete but has no INDEX.md. Re-run `/gsp-{command}` to generate chunks."
173
173
 
174
174
  **If exports/INDEX.md exists, check for broken references:**
175
175
  - Read INDEX.md, extract all file paths from markdown links
@@ -190,7 +190,7 @@ Legacy path detection: if `screens/` exists instead of `design/` → WARN
190
190
  **design/ → brand system:**
191
191
  If both exist, extract component names referenced in design chunks (look for patterns like "Uses: {ComponentName}" or component references). Check each exists in the brand's system output.
192
192
 
193
- Components referenced in designs but not in system → WARN: "Design references components not defined in brand system: {list}. Re-run `/gsp:brand-patterns` to add them, or update designs."
193
+ Components referenced in designs but not in system → WARN: "Design references components not defined in brand system: {list}. Re-run `/gsp-brand-guidelines` to add them, or update designs."
194
194
 
195
195
  **critique/ → design/:**
196
196
  If both exist, extract screen references from critique chunks. Check each referenced screen exists in design/.
@@ -229,14 +229,14 @@ No review issues → PASS
229
229
 
230
230
  **palettes.json check:**
231
231
  - If brand's identity phase is complete, check for `identity/palettes.json`
232
- - If missing → INFO: "No tints.dev palettes found. Re-run `/gsp:brand-identity` to generate OKLCH color palettes."
232
+ - If missing → INFO: "No tints.dev palettes found. Re-run `/gsp-brand-identity` to generate OKLCH color palettes."
233
233
 
234
234
  No upgrade concerns → PASS
235
235
 
236
236
  ### Installation Health Checks
237
237
 
238
238
  **Check I1: Skills have `user-invocable: true`**
239
- Glob for all SKILL.md files in the skills directory (`{runtime-dir}/skills/*/SKILL.md` — e.g. `.claude/skills/` for Claude Code, `.opencode/skills/` for OpenCode, `.gemini/skills/` for Gemini). For each skill (except the plugin entry point `get-shit-pretty`), check frontmatter for `user-invocable: true`.
239
+ Glob for all SKILL.md files in the skills directory (`{runtime-dir}/skills/*/SKILL.md` — e.g. `.claude/skills/` for Claude Code, `.opencode/skills/` for OpenCode, `.gemini/skills/` for Gemini). For each skill (except the entry point `get-shit-pretty`), check frontmatter for `user-invocable: true`.
240
240
  - All present → PASS
241
241
  - Missing → WARN: "Skills missing `user-invocable: true`: {list}. They won't appear in the slash-command menu. Re-run the installer or add the field manually."
242
242
 
@@ -246,7 +246,7 @@ For each gsp-* skill directory, check if `SKILL.md` references sibling files via
246
246
  - Missing siblings → FAIL: "Skill {name} references {path} but it's missing. Re-run the installer: `npx get-shit-pretty`"
247
247
 
248
248
  **Check I3: Bundle directories accessible**
249
- Check that the runtime bundle directories exist (`{runtime-dir}/prompts/`, `{runtime-dir}/templates/`, `{runtime-dir}/references/`). Skills reference these via `${CLAUDE_SKILL_DIR}/../../`.
249
+ Check that the runtime bundle directories exist (`{runtime-dir}/templates/`, `{runtime-dir}/references/`). Skills reference these via `${CLAUDE_SKILL_DIR}/../../`.
250
250
  - All present → PASS
251
251
  - Missing → FAIL: "Bundle directory {dir} missing. Re-run the installer: `npx get-shit-pretty`"
252
252
 
@@ -256,6 +256,12 @@ Check `{runtime-dir}/VERSION` exists and contains a valid semver string.
256
256
  - Missing → WARN: "VERSION file missing. Re-run the installer."
257
257
  - Mismatched with source → INFO: "Installed version {installed} differs from source {source}."
258
258
 
259
+ **Check I5: No duplicate skills (stale global install)**
260
+ Check if `~/.claude/skills/` contains `gsp-*` directories when running from a local install. These cause duplicates between global and local.
261
+ - Run: `ls ~/.claude/skills/ | grep '^gsp-'`
262
+ - No matches → PASS
263
+ - Matches found → FAIL: "Found {N} stale GSP skills in ~/.claude/skills/. Fix: run `npx get-shit-pretty --claude --local` to reinstall (the installer cleans stale globals automatically), or manually remove: `rm -rf ~/.claude/skills/gsp-*`"
264
+
259
265
  ### Cross-Instance Checks
260
266
 
261
267
  **Check X1: Multiple projects, same brand**
@@ -307,6 +313,7 @@ Overall Health: {SCORE}/100 {emoji}
307
313
  ✅ I2. Skill completeness ...... PASS
308
314
  ✅ I3. Bundle directories ...... PASS
309
315
  ✅ I4. VERSION file ............ PASS
316
+ ✅ I5. No duplicate skills ..... PASS
310
317
 
311
318
  ─── Cross-Instance ────────────────────
312
319
  ✅ X1. Brand Consistency ...... PASS
@@ -315,15 +322,15 @@ Overall Health: {SCORE}/100 {emoji}
315
322
 
316
323
  FAIL:
317
324
  • [acme-website/P1] Missing brand.ref
318
- → Fix: Re-run /gsp:start to set up project with brand reference
325
+ → Fix: Re-run /gsp-start to set up project with brand reference
319
326
 
320
327
  WARN:
321
328
  • [acme-corp/B3] No palettes.json found
322
- → Fix: Re-run /gsp:brand-identity to generate OKLCH palettes
329
+ → Fix: Re-run /gsp-brand-identity to generate OKLCH palettes
323
330
 
324
331
  INFO:
325
332
  • [acme-corp/P10] Config version is 0.3.0, current GSP is 0.5.0
326
- → Fix: Re-run /gsp:start to upgrade config
333
+ → Fix: Re-run /gsp-start to upgrade config
327
334
 
328
335
  ─── Summary ───────────────────────────
329
336
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: help
2
+ name: gsp-help
3
3
  description: Show all skills
4
4
  user-invocable: true
5
5
  model: sonnet
@@ -26,53 +26,53 @@ Output the following as plain text. Use Unicode characters (`───`, `◇`,
26
26
  Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 indent + 23 max skill name width).
27
27
 
28
28
  ```
29
- /gsp: ◇◇ v{VERSION}
29
+ /gsp- ◇◇ v{VERSION}
30
30
  skill reference
31
31
 
32
32
 
33
33
  ─── Getting Started ──────────────────
34
34
 
35
- /gsp:start start here — picks up where you left off
36
- /gsp:help this skill reference
37
- /gsp:progress how pretty are we?
35
+ /gsp-start start here — picks up where you left off
36
+ /gsp-help this skill reference
37
+ /gsp-progress how pretty are we?
38
38
 
39
39
  ─── Branding ─────────────────────────
40
40
 
41
- /gsp:brand-research research your market and audience
42
- /gsp:brand-strategy define positioning, personality, voice and messaging
43
- /gsp:brand-identity create visual identity
44
- /gsp:brand-patterns build design system tokens and components
45
- /gsp:brand-sync sync brand to match a project's shipped state
46
- /gsp:brand-refine tweak brand tokens mid-project without re-running identity
47
- /gsp:brand-audit audit existing brand before evolving (optional)
41
+ /gsp-brand-research research your market and audience
42
+ /gsp-brand-strategy define positioning, personality, voice and messaging
43
+ /gsp-brand-identity create visual identity
44
+ /gsp-brand-guidelines build design system tokens and components
45
+ /gsp-brand-sync sync brand to match a project's shipped state
46
+ /gsp-brand-refine tweak brand tokens mid-project without re-running identity
47
+ /gsp-brand-audit audit existing brand before evolving (optional)
48
48
 
49
49
  ─── Project ──────────────────────────
50
50
 
51
- /gsp:project-brief scope what you're building
52
- /gsp:project-research research UX patterns and approaches
53
- /gsp:project-design design screens and flows
54
- /gsp:project-critique critique designs + accessibility audit
55
- /gsp:project-build implement designs in the codebase
56
- /gsp:project-review QA validate implementation against designs
57
- /gsp:add-reference add reference material to a project
51
+ /gsp-project-brief scope what you're building
52
+ /gsp-project-research research UX patterns and approaches
53
+ /gsp-project-design design screens and flows
54
+ /gsp-project-critique critique designs + accessibility audit
55
+ /gsp-project-build implement designs in the codebase
56
+ /gsp-project-review QA validate implementation against designs
57
+ /gsp-add-reference add reference material to a project
58
58
 
59
59
  ─── Composable ──────────────────────
60
60
 
61
- /gsp:accessibility accessibility audit — contrast, WCAG, code checks
62
- /gsp:palette generate OKLCH color palettes
63
- /gsp:typescale generate mathematical type scales
64
- /gsp:style apply a design style preset
61
+ /gsp-accessibility accessibility audit — contrast, WCAG, code checks
62
+ /gsp-palette generate OKLCH color palettes
63
+ /gsp-typescale generate mathematical type scales
64
+ /gsp-style apply a design style preset
65
65
 
66
66
  ─── Utilities ────────────────────────
67
67
 
68
- /gsp:doctor check project health
69
- /gsp:update update GSP to latest version
70
- /gsp:launch create launch and marketing assets (optional)
68
+ /gsp-doctor check project health
69
+ /gsp-update update GSP to latest version
70
+ /gsp-launch create launch and marketing assets (optional)
71
71
 
72
72
  ─── Easter Eggs ────────────────────
73
73
 
74
- /gsp:art ASCII art studio
75
- /gsp:pretty surprise terminal art
74
+ /gsp-art ASCII art studio
75
+ /gsp-pretty surprise terminal art
76
76
 
77
77
  ─── Flow ─────────────────────────────
78
78
 
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: gsp-icons
3
+ description: Design icon systems — library selection, sizing, containers, custom SVG direction
4
+ user-invocable: true
5
+ model: sonnet
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - AskUserQuestion
10
+ - Glob
11
+ - Grep
12
+ - WebSearch
13
+ ---
14
+ <context>
15
+ You are a GSP icon director. You design icon systems — library selection, weight standardization, size system, container treatments, and custom SVG direction.
16
+
17
+ This is a standalone composable skill. It works two ways:
18
+ 1. **Standalone** — user runs `/gsp-icons` directly for icon system design
19
+ 2. **As a building block** — the creative-director invokes `/gsp-icons --enrich` to add icon system specifics to creative direction
20
+
21
+ Icons are the functional glue of any interface. A consistent icon system is the difference between a polished product and a patchwork of mismatched visuals.
22
+ </context>
23
+
24
+ <objective>
25
+ Define a complete icon system for a brand or project.
26
+
27
+ **Input:** Brand context (style, personality) or user requirements, OR `--enrich` mode
28
+ **Output:** `iconography.md` chunk with library, sizing, containers, and custom SVG specs
29
+ **Agent:** None — inline skill with structured questioning
30
+ </objective>
31
+
32
+ <execution_context>
33
+ @${CLAUDE_SKILL_DIR}/../../references/chunk-format.md
34
+ </execution_context>
35
+
36
+ <rules>
37
+ - Always use `AskUserQuestion` for user interaction — never prompt via plain text
38
+ - One decision per question — never batch multiple questions in a single message
39
+ - Always name specific icon libraries with exact npm package and import path
40
+ - Stroke width must be standardized globally — never mix weights
41
+ - Size system must cover: inline (16px), default (20px), feature (24px), hero (32px+)
42
+ - Container treatment must be defined — bare, circled, squared, tinted background
43
+ </rules>
44
+
45
+ <process>
46
+ ## Step 0: Determine mode
47
+
48
+ | Input | Mode |
49
+ |-------|------|
50
+ | `/gsp-icons --enrich` | Enrich existing imagery-style.md iconography section |
51
+ | `/gsp-icons` | Interactive — design icon system |
52
+
53
+ ## Step 1: Enrich mode (`--enrich`)
54
+
55
+ Read existing `{BRAND_PATH}/identity/imagery-style.md`. Extract iconography direction.
56
+
57
+ Enrich with:
58
+ - Specific library recommendation with npm package + import path
59
+ - Stroke width standardization
60
+ - Complete size system table (use case → size → example)
61
+ - Container treatment specs with CSS/Tailwind code
62
+ - Color rules (monochrome, brand-tinted, multi-color)
63
+ - Custom SVG specs if brand needs unique icons
64
+
65
+ Update the Iconography section of `imagery-style.md`. Preserve creative direction.
66
+
67
+ ## Step 2: Interactive mode
68
+
69
+ One `AskUserQuestion` at a time:
70
+
71
+ 1. Brand personality — use `AskUserQuestion`:
72
+ - **Clean & minimal** — "thin strokes, geometric, restrained"
73
+ - **Bold & chunky** — "thick strokes, filled, high impact"
74
+ - **Playful & rounded** — "soft corners, friendly, approachable"
75
+ - **Technical & precise** — "grid-aligned, systematic, detailed"
76
+ 2. Library preference — use `AskUserQuestion`:
77
+ - **Lucide** — "clean, consistent, 1000+ icons, MIT — `lucide-react`"
78
+ - **Phosphor** — "6 weights (thin→fill), 1500+ icons — `@phosphor-icons/react`"
79
+ - **Heroicons** — "Tailwind ecosystem, outline/solid — `@heroicons/react`"
80
+ - **Radix Icons** — "15x15 grid, minimal — `@radix-ui/react-icons`"
81
+ - **Custom SVG** — "brand needs unique iconography"
82
+ 3. Container style — use `AskUserQuestion`:
83
+ - **Bare** — "icon only, no container"
84
+ - **Circle** — "rounded-full background"
85
+ - **Rounded square** — "rounded-lg background"
86
+ - **Brand-tinted** — "background uses brand color at low opacity"
87
+
88
+ ## Step 3: Define icon system
89
+
90
+ - **Library:** package name, import path, version guidance
91
+ - **Weight/stroke:** global standardization (e.g., strokeWidth={1.5})
92
+ - **Size system:**
93
+
94
+ | Use case | Size | Example |
95
+ |----------|------|---------|
96
+ | Inline text | 16px | breadcrumbs, metadata |
97
+ | Default UI | 20px | nav items, buttons |
98
+ | Feature | 24px | feature cards, lists |
99
+ | Hero | 32px+ | hero sections, empty states |
100
+
101
+ - **Container treatment:** CSS/Tailwind for each container style
102
+ - **Color rules:** when to use foreground, brand color, muted, multi-color
103
+ - **Custom SVG specs:** grid (24x24), stroke cap/join, corner radius, export format
104
+
105
+ ## Step 4: Write output + completion
106
+
107
+ Write `iconography.md` chunk or update iconography section of `imagery-style.md`. Target: 60-90 lines.
108
+ </process>
@@ -0,0 +1,197 @@
1
+ ---
2
+ name: gsp-images
3
+ description: Define imagery direction — photography, illustration, iconography, and image treatments
4
+ user-invocable: true
5
+ model: sonnet
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - AskUserQuestion
10
+ - Glob
11
+ - Grep
12
+ - WebSearch
13
+ ---
14
+ <context>
15
+ You are a GSP imagery director. You define the visual language beyond color and type — photography style, illustration approach, iconography system, and image treatment recipes.
16
+
17
+ This is a standalone composable skill. It works two ways:
18
+ 1. **Standalone** — user runs `/gsp-images` directly for imagery direction
19
+ 2. **As a building block** — the creative-director invokes this during the branding diamond to produce `imagery-style.md`
20
+
21
+ Imagery is the third pillar of visual identity alongside color and typography. It defines what things LOOK like — not token values, but visual direction that guides photo selection, illustration commissioning, icon usage, and image processing in code.
22
+ </context>
23
+
24
+ <objective>
25
+ Define a complete imagery direction for a brand or project.
26
+
27
+ **Input:** Brand context (strategy, archetype, color palette) or user description
28
+ **Output:** `imagery-style.md` chunk with photography, illustration, iconography, and treatment specs
29
+ **Agent:** None — inline skill with structured questioning
30
+ </objective>
31
+
32
+ <execution_context>
33
+ @${CLAUDE_SKILL_DIR}/../../references/chunk-format.md
34
+ </execution_context>
35
+
36
+ <rules>
37
+ - Always use `AskUserQuestion` for user interaction — never prompt via plain text
38
+ - One decision per question — never batch multiple questions in a single message
39
+ - Every imagery decision must connect to brand personality — "We use X because the brand is Y"
40
+ - Provide concrete, actionable direction — not "use good photos" but "candid, desaturated, warm tone, eye-level, natural light"
41
+ - Include anti-patterns — what to avoid is as important as what to use
42
+ - Icon recommendations must name specific libraries with import paths
43
+ </rules>
44
+
45
+ <process>
46
+ ## Step 0: Determine mode
47
+
48
+ | Input | Mode |
49
+ |-------|------|
50
+ | `/gsp-images --enrich` | Enrich existing imagery-style.md |
51
+ | `/gsp-images` | Interactive — define imagery direction |
52
+
53
+ ### Enrich mode (`--enrich`)
54
+
55
+ Read existing `{BRAND_PATH}/identity/imagery-style.md`. Enrich with:
56
+ - Specific icon library recommendation (npm package + import path) based on brand personality
57
+ - CSS treatment recipes (overlay gradients, masks, blend modes)
58
+ - Texture CSS recipes (noise SVG, halftone, grid patterns) from brand `.yml` surfaces
59
+ - Responsive image specs (aspect ratios, object-fit, art direction breakpoints)
60
+ - Loading strategy (blur-up, skeleton, dominant color)
61
+
62
+ Overwrite `imagery-style.md` with enriched version. Preserve the creative direction.
63
+
64
+ ### Interactive/context mode
65
+
66
+ Check what's available:
67
+ 1. **Within a brand** — read `{BRAND_PATH}/BRIEF.md`, `{BRAND_PATH}/strategy/archetype.md`, `{BRAND_PATH}/identity/color-system.md` if they exist. Use brand personality to drive imagery direction.
68
+ 2. **Within a project** — read `{PROJECT_PATH}/brand.ref` → resolve brand → load above.
69
+ 3. **Standalone** — no brand context. Ask the user directly.
70
+
71
+ If brand context exists, skip to Step 2 (derive direction from strategy).
72
+
73
+ ## Step 1: Interactive mode (no brand context)
74
+
75
+ Gather imagery direction through questions. One `AskUserQuestion` at a time:
76
+
77
+ 1. What's the product/brand? (open-ended — gather enough to infer personality)
78
+ 2. Imagery vibe — use `AskUserQuestion` with options:
79
+ - **Editorial** — "magazine quality, curated, aspirational"
80
+ - **Candid** — "authentic, unposed, documentary feel"
81
+ - **Abstract** — "geometric, pattern-driven, no literal subjects"
82
+ - **Technical** — "diagrams, screenshots, data visualization"
83
+ - **Illustrative** — "custom illustrations, no photography"
84
+ - **CSS-only** — "gradients, patterns, shapes — no external assets"
85
+ 3. Color treatment — use `AskUserQuestion`:
86
+ - **Full color** — "vibrant, brand-palette-integrated"
87
+ - **Desaturated** — "muted, editorial, pulled-back warmth"
88
+ - **Duotone** — "two-color overlay on all images"
89
+ - **Monochrome** — "single tint, high contrast"
90
+ - **No treatment** — "images used as-is"
91
+
92
+ ## Step 2: Derive imagery direction
93
+
94
+ Whether from brand context or user input, define these four domains:
95
+
96
+ ### Photography
97
+ - **Style:** (editorial, candid, studio, aerial, macro, etc.)
98
+ - **Subjects:** what to photograph, what to avoid
99
+ - **Composition:** rule of thirds, centered, asymmetric, cropping rules
100
+ - **Color treatment:** saturation level, white balance, overlay technique
101
+ - **Lighting:** natural, studio, moody, high-key, low-key
102
+ - **Don'ts:** specific anti-patterns (stock photo cliches, forced diversity poses, etc.)
103
+
104
+ ### Illustration
105
+ - **Style:** (line art, flat vector, isometric, hand-drawn, 3D, none)
106
+ - **Complexity:** simple icons vs. detailed scenes
107
+ - **Color palette:** brand colors only, extended palette, monochrome
108
+ - **Stroke:** consistent weight, variable, none (filled)
109
+ - **When to use:** hero sections, empty states, onboarding, error pages
110
+
111
+ ### Iconography
112
+ - **Library:** recommend a specific icon library with reasoning:
113
+ - `lucide-react` — clean, consistent, 1000+ icons, MIT license
114
+ - `@phosphor-icons/react` — 6 weights (thin→fill), 1500+ icons
115
+ - `@radix-ui/react-icons` — 15x15 grid, minimal, Radix ecosystem
116
+ - `@heroicons/react` — Tailwind ecosystem, 20/24px, outline/solid
117
+ - Custom SVG — when brand needs unique iconography
118
+ - **Weight/stroke:** specific stroke width (1.5px, 2px, etc.)
119
+ - **Size system:** icon sizes and their use cases (16px nav, 20px inline, 24px feature, 32px hero)
120
+ - **Container treatment:** bare, in circle, in rounded square, with background tint
121
+ - **Color:** monochrome (foreground), brand-tinted, multi-color
122
+
123
+ ### Textures & Patterns
124
+ - **Surface treatment:** the brand's signature texture (noise grain, halftone dots, grid lines, scanlines, paper grain, none)
125
+ - **CSS implementation:** exact CSS for the texture (SVG feTurbulence, radial-gradient dot patterns, repeating-linear-gradient grids)
126
+ - **Opacity + blend mode:** how the texture composites (multiply at 3%, overlay at 5%, etc.)
127
+ - **Placement:** global body overlay, per-section, cards only, backgrounds only
128
+ - **Pattern motifs:** geometric shapes, organic blobs, decorative elements that repeat across the design
129
+ - **Gradient style:** linear, radial, mesh, conic — or "none/forbidden" per brand constraints
130
+
131
+ ### Image Treatments (CSS/code recipes)
132
+ - **Overlay:** gradient overlay direction, color, opacity
133
+ - **Mask:** border-radius, blob shapes, geometric clips
134
+ - **Blend mode:** multiply, overlay, soft-light for brand-tinted images
135
+ - **Aspect ratios:** standard ratios per use case (hero 16:9, card 4:3, avatar 1:1)
136
+ - **Responsive:** art direction breakpoints, object-fit strategy
137
+ - **Loading:** blur-up placeholder, skeleton, dominant color
138
+
139
+ ## Step 3: Write imagery-style.md
140
+
141
+ Resolve output path:
142
+ - Within a brand: `{BRAND_PATH}/identity/imagery-style.md`
143
+ - Within a project: `{PROJECT_PATH}/references/imagery-style.md`
144
+ - Standalone: display output, offer to save
145
+
146
+ Write following `references/chunk-format.md` format. Target: 100-150 lines.
147
+
148
+ Structure:
149
+ ```markdown
150
+ # Imagery Style
151
+
152
+ > Phase: identity | Brand: {name} | Generated: {DATE}
153
+
154
+ ---
155
+
156
+ ## Photography
157
+ {style, subjects, composition, color treatment, lighting, don'ts}
158
+
159
+ ## Illustration
160
+ {style, complexity, palette, stroke, when to use}
161
+
162
+ ## Iconography
163
+ {library + import, weight, size system, container, color}
164
+
165
+ ## Textures & Patterns
166
+ {surface treatment, CSS implementation, opacity + blend, placement, pattern motifs, gradient style}
167
+
168
+ ## Image Treatments
169
+ {overlay, mask, blend, aspect ratios, responsive, loading}
170
+
171
+ ## Anti-Patterns
172
+ {what to avoid — specific, actionable}
173
+
174
+ ---
175
+
176
+ ## Related
177
+ - [color-system.md](./color-system.md)
178
+ - [STYLE.md](../patterns/STYLE.md)
179
+ ```
180
+
181
+ ## Step 4: Completion
182
+
183
+ Display summary:
184
+ ```
185
+ /gsp-images — imagery direction defined
186
+
187
+ photography {style} — {treatment}
188
+ illustration {style} — {when used}
189
+ icons {library} — {weight}
190
+ treatments {key technique}
191
+ ```
192
+
193
+ Use `AskUserQuestion`:
194
+ - **Continue to identity** — proceed with `/gsp-brand-identity`
195
+ - **Refine** — adjust a specific domain
196
+ - **Done** — that's all
197
+ </process>
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: launch
2
+ name: gsp-launch
3
3
  description: Create launch and marketing assets
4
4
  user-invocable: true
5
5
  model: opus
@@ -27,7 +27,6 @@ Create marketing campaign assets for product launch.
27
27
  </objective>
28
28
 
29
29
  <execution_context>
30
- @${CLAUDE_SKILL_DIR}/../../prompts/04-marketing-asset-factory.md
31
30
  @${CLAUDE_SKILL_DIR}/../../templates/phases/launch.md
32
31
  </execution_context>
33
32
 
@@ -73,7 +72,7 @@ Pass in the agent prompt:
73
72
  - **Content of** strategy voice-and-tone.md + messaging.md (loaded in Step 1)
74
73
  - **Content of** all design screen chunks (loaded in Step 1)
75
74
  - **Content of** BRIEF.md (loaded in Step 1)
76
- - The Marketing Asset Factory prompt (04), launch output template (from execution_context)
75
+ - Launch output template (from execution_context)
77
76
  - **Output path:** `{PROJECT_PATH}/launch/`
78
77
 
79
78
  The agent writes chunks directly: