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: project-design
2
+ name: gsp-project-design
3
3
  description: Design screens and interaction flows
4
4
  user-invocable: true
5
5
  model: opus
@@ -28,7 +28,6 @@ Design core UI/UX screens and interaction flows.
28
28
  </objective>
29
29
 
30
30
  <execution_context>
31
- @${CLAUDE_SKILL_DIR}/../../prompts/03-ui-ux-pattern-master.md
32
31
  @${CLAUDE_SKILL_DIR}/../../templates/phases/design.md
33
32
  </execution_context>
34
33
 
@@ -42,7 +41,7 @@ Read `{PROJECT_PATH}/brand.ref` → set `BRAND_PATH`.
42
41
  ## Step 0.5: Validate prerequisites
43
42
 
44
43
  Read `{PROJECT_PATH}/STATE.md`. Check that Brief (Phase 1) is `complete`.
45
- If not: "Brief hasn't been completed yet. Run `/gsp:project-brief` first." Then stop.
44
+ If not: "Brief hasn't been completed yet. Run `/gsp-project-brief` first." Then stop.
46
45
 
47
46
  Research (Phase 2) is recommended but not required — if skipped, log: "No research artifacts found — designing from brief only."
48
47
 
@@ -67,19 +66,21 @@ If `{PROJECT_PATH}/references/` exists, scan for files (images, PDFs, markdown,
67
66
 
68
67
  Read `{BRAND_PATH}/patterns/INDEX.md`. If it exists, load all foundation chunks + selective component chunks.
69
68
 
70
- If it doesn't exist, tell the user to run `/gsp:brand-patterns` first.
69
+ If it doesn't exist, tell the user to run `/gsp-brand-guidelines` first.
71
70
 
72
71
  ### Brand context (selective)
73
72
 
74
73
  Read `{BRAND_PATH}/identity/INDEX.md`. If it exists, load `color-system.md`, `typography.md`, and `imagery-style.md`.
75
74
 
76
- ### Brand style prompt (visual DNA)
75
+ ### STYLE.md (visual DNA)
77
76
 
78
- Scan `{BRAND_PATH}/patterns/` for a `.md` file that is NOT `INDEX.md`, `principles.md`, or inside `foundations/` or `components/`. This is the brand's custom style prompt (`{brand-name}.md`).
77
+ Check for `{BRAND_PATH}/patterns/STYLE.md`. This is the single document that governs all visual decisions.
79
78
 
80
- If found, read it. Pass to the designer agent in Step 3 as the **primary visual direction** — it contains design philosophy, bold visual bets, effects vocabulary, and component stylings with CSS/Tailwind hints.
79
+ If found, read it. Pass to the designer agent in Step 3 as the **primary visual direction** — it contains intensity dials, component patterns, constraints (never/always), effects vocabulary, and bold bets.
81
80
 
82
- If not found, proceed without it (older brands may not have this file).
81
+ If not found, fall back to scanning `{BRAND_PATH}/patterns/` for a `.md` file that is NOT `INDEX.md` or inside `components/` (legacy `{brand-name}.md` format).
82
+
83
+ If neither found, proceed without it (older brands may not have this file).
83
84
 
84
85
  ### Brief (chunk-first)
85
86
 
@@ -98,7 +99,7 @@ If research doesn't exist, proceed without it (research is informative, not bloc
98
99
  **If `design_scope` is `tokens`:**
99
100
  1. Update `{PROJECT_PATH}/STATE.md` — set Phase 3 (Design) status to `skipped`
100
101
  2. Display: "Design phase skipped — design scope is `tokens`."
101
- 3. Route: "Run `/gsp:project-build`."
102
+ 3. Route: "Run `/gsp-project-build`."
102
103
  4. Stop here.
103
104
 
104
105
  **If `design_scope` is `partial`:**
@@ -113,29 +114,28 @@ When `implementation_target` is not `figma`:
113
114
  ## Step 2.5: Load design references
114
115
 
115
116
  Read these reference files (relative to skill dir `${CLAUDE_SKILL_DIR}/../../references/`):
116
- - `apple-hig-patterns.md`
117
- - `visual-effects.md`
118
117
  - `block-patterns.md`
119
- - `anti-patterns.md`
120
118
 
121
119
  Hold their content for inlining into the agent prompt in Step 3.
122
120
 
121
+ > **Note:** Apple HIG patterns and anti-patterns are distilled into the `gsp-designer` agent prompt. Visual effects are covered by STYLE.md's patterns/constraints/effects blocks (from #69). Full refs remain on disk for edge-case agent lookup.
122
+
123
123
  ## Step 3: Spawn designer
124
124
 
125
125
  Spawn the `gsp-designer` agent. **Inline all content** — the agent should not need to read any input files.
126
126
 
127
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
128
+ - **Content of** STYLE.md when available this is the primary visual direction. When STYLE.md exists, skip foundation chunks (color-system, typography, spacing, elevation, border-radius) — STYLE.md already contains this data. Only load selective component chunks.
129
+ - **Content of** all brand patterns foundation chunks (only when STYLE.md does NOT exist — fallback for older brands)
130
+ - **Content of** brand identity chunks: imagery-style.md (always — not covered by STYLE.md). Skip identity color-system.md and typography.md when STYLE.md exists (redundant).
131
131
  - **Content of** brief chunks: scope.md, target-adaptations.md (loaded in Step 1)
132
132
  - **Content of** research chunks: ux-patterns.md, recommendations.md, reference-specs.md (loaded in Step 1)
133
133
  - **Content of** BRIEF.md
134
134
  - **Content of** `.design/system/COMPONENTS.md`, `TOKENS.md` (when loaded in Step 2)
135
135
  - **Content of** custom references (when loaded in Step 1)
136
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)
137
+ - Design output template (from execution_context)
138
+ - **Content of** block patterns reference (loaded in Step 2.5)
139
139
  - `implementation_target`, `design_scope`, `codebase_type`
140
140
  - Target screens (when partial)
141
141
  - **Output path:** `{PROJECT_PATH}/design/`
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: project-research
2
+ name: gsp-project-research
3
3
  description: Research UX patterns and technical approaches
4
4
  user-invocable: true
5
5
  model: sonnet
@@ -17,7 +17,7 @@ allowed-tools:
17
17
  <context>
18
18
  Phase 2 of the GSP project diamond. Deep research phase that investigates UX patterns, competitor experiences, technical approaches, accessibility strategies, and content patterns specific to what this project is building.
19
19
 
20
- This is NOT brand-level discovery (that's `/gsp:brand-research`). This is project-level research — focused on the product type, user flows, and implementation challenges.
20
+ This is NOT brand-level discovery (that's `/gsp-brand-research`). This is project-level research — focused on the product type, user flows, and implementation challenges.
21
21
 
22
22
  Works with the dual-diamond architecture: reads brand context from `.design/branding/{brand}/` via `brand.ref`, reads/writes project assets in `.design/projects/{project}/`.
23
23
  </context>
@@ -31,7 +31,6 @@ Deep research into UX patterns, competitor experiences, and technical approaches
31
31
  </objective>
32
32
 
33
33
  <execution_context>
34
- @${CLAUDE_SKILL_DIR}/../../prompts/12-project-researcher.md
35
34
  @${CLAUDE_SKILL_DIR}/../../templates/phases/research.md
36
35
  </execution_context>
37
36
 
@@ -48,7 +47,7 @@ Read `{PROJECT_PATH}/brand.ref` → set `BRAND_PATH`.
48
47
 
49
48
  Read `{PROJECT_PATH}/brief/INDEX.md`. If it exists, load `scope.md` and `target-adaptations.md`.
50
49
 
51
- If brief doesn't exist, tell the user to run `/gsp:project-brief` first.
50
+ If brief doesn't exist, tell the user to run `/gsp-project-brief` first.
52
51
 
53
52
  ### Brand system (selective)
54
53
 
@@ -73,7 +72,7 @@ Read:
73
72
  **If `design_scope` is `tokens`:**
74
73
  1. Update `{PROJECT_PATH}/STATE.md` — set Phase 2 (Research) status to `skipped`
75
74
  2. Display: "Research phase skipped — design scope is `tokens`."
76
- 3. Route: "Run `/gsp:project-build`."
75
+ 3. Route: "Run `/gsp-project-build`."
77
76
  4. Stop here.
78
77
 
79
78
  ## Step 1.75: Pre-fetch references (background)
@@ -91,7 +90,7 @@ Pass in the agent prompt:
91
90
  - **Content of** custom references (loaded in Step 1)
92
91
  - **Content of** BRIEF.md (loaded in Step 1)
93
92
  - Any pre-fetched reference content (from Step 1.75)
94
- - The Project Researcher prompt (12), research output template (from execution_context)
93
+ - Research output template (from execution_context)
95
94
  - `implementation_target`, `platform`, `tech_stack`
96
95
  - **Output path:** `{PROJECT_PATH}/research/`
97
96
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: project-review
2
+ name: gsp-project-review
3
3
  description: QA review — validate implementation against designs
4
4
  user-invocable: true
5
5
  model: opus
@@ -28,7 +28,6 @@ QA validate the codebase implementation against design intent.
28
28
  </objective>
29
29
 
30
30
  <execution_context>
31
- @${CLAUDE_SKILL_DIR}/../../prompts/11-deliverable-reviewer.md
32
31
  @${CLAUDE_SKILL_DIR}/../../templates/phases/review.md
33
32
  </execution_context>
34
33
 
@@ -43,7 +42,7 @@ Read `{PROJECT_PATH}/brand.ref` → set `BRAND_PATH`.
43
42
 
44
43
  Read `{PROJECT_PATH}/config.json` to get `implementation_target`, `design_scope`, `codebase_type`.
45
44
 
46
- **Prior code accessibility audit:** Check if `{PROJECT_PATH}/review/accessibility-audit.md` exists from a prior `/gsp:accessibility --code` run. If yes, load it — the reviewer will reference these findings instead of performing inline a11y checks.
45
+ **Prior code accessibility audit:** Check if `{PROJECT_PATH}/review/accessibility-audit.md` exists from a prior `/gsp-accessibility --code` run. If yes, load it — the reviewer will reference these findings instead of performing inline a11y checks.
47
46
 
48
47
  ### Load all artifacts
49
48
 
@@ -56,7 +55,7 @@ Read `{PROJECT_PATH}/config.json` to get `implementation_target`, `design_scope`
56
55
  **Design:** Read `{PROJECT_PATH}/design/INDEX.md` → load all screen chunks.
57
56
 
58
57
  **Brand patterns:** Read `{BRAND_PATH}/patterns/INDEX.md` → load foundation + component chunks.
59
- Also read `{BRAND_PATH}/patterns/tokens.json`.
58
+ Also read `{BRAND_PATH}/patterns/{brand-name}.yml` (the brand's token/style source of truth).
60
59
 
61
60
  **Brand identity (selective):** Read `{BRAND_PATH}/identity/imagery-style.md` (if exists) — needed for imagery audit.
62
61
 
@@ -76,7 +75,7 @@ Also read `{BRAND_PATH}/patterns/tokens.json`.
76
75
  3. Write `{PROJECT_PATH}/review/INDEX.md`
77
76
  4. Update `{PROJECT_PATH}/exports/INDEX.md` between `<!-- BEGIN:review -->` and `<!-- END:review -->` with populated table
78
77
  5. Update `{PROJECT_PATH}/STATE.md` — set Phase 6 (Review) to `complete` or `needs-revision`
79
- 6. Route: display verdict and suggest `/gsp:launch` or re-run `/gsp:project-review`
78
+ 6. Route: display verdict and suggest `/gsp-launch` or re-run `/gsp-project-review`
80
79
  7. **Stop here**
81
80
 
82
81
  ## Step 2: Spawn reviewer
@@ -86,14 +85,13 @@ Spawn the `gsp-reviewer` agent with:
86
85
  - Actual codebase file paths (from BUILD-LOG.md)
87
86
  - `git diff` output
88
87
  - Design chunks
89
- - Brand system chunks + tokens.json
88
+ - Brand system chunks + `{brand-name}.yml`
90
89
  - Brief chunks
91
90
  - Critique fixes (to verify resolution)
92
91
  - `.design/system/COMPONENTS.md` (when exists — to verify existing components weren't broken)
93
92
  - MANIFEST.md (when exists — to verify build claims match reality)
94
93
  - `codebase_type` from config.json
95
- - The Deliverable Reviewer prompt (11)
96
- - The review output template
94
+ - Review output template (from execution_context)
97
95
  - **Output path:** `{PROJECT_PATH}/review/`
98
96
  - Prior code accessibility findings (if `{PROJECT_PATH}/review/accessibility-audit.md` exists — tell reviewer to reference these instead of performing inline a11y checks; reviewer keeps inline checks as fallback if no prior audit exists)
99
97
  - **Clear instruction:** "Review actual codebase files, not `.design/build/` specs. Use Grep to search for hardcoded values. Use `git diff` to verify changes. Reference actual file paths in issues."
@@ -175,5 +173,5 @@ If verdict is **Fail**:
175
173
 
176
174
  Render phase transition (see `references/phase-transitions.md`). This phase has pass/fail variants — the reference covers both.
177
175
 
178
- If review identified brand-level issues (token values that don't work in context), note: "Some issues are brand-level — run `/gsp:brand-refine` to adjust tokens without re-running identity."
176
+ If review identified brand-level issues (token values that don't work in context), note: "Some issues are brand-level — run `/gsp-brand-refine` to adjust tokens without re-running identity."
179
177
  </process>
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: scaffold
2
+ name: gsp-scaffold
3
3
  description: Deterministic stack setup — install deps, create configs, verify build compiles
4
4
  user-invocable: true
5
5
  model: sonnet
@@ -16,8 +16,8 @@ Composable stack setup skill. No agent — all inline Bash commands. Determinist
16
16
  Reads project config and stack state, installs dependencies, creates config files, installs component library primitives, and verifies the build compiles. Produces `SCAFFOLD-LOG.md`.
17
17
 
18
18
  Works two ways:
19
- 1. **Standalone** — user runs `/gsp:scaffold` directly to set up a project's stack
20
- 2. **As a building block** — `/gsp:project-build` invokes this as Phase 1 before spawning builder agents
19
+ 1. **Standalone** — user runs `/gsp-scaffold` directly to set up a project's stack
20
+ 2. **As a building block** — `/gsp-project-build` invokes this as Phase 1 before spawning builder agents
21
21
  </context>
22
22
 
23
23
  <objective>
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: start
2
+ name: gsp-start
3
3
  description: Start here — picks up where you left off
4
4
  user-invocable: true
5
5
  model: sonnet
@@ -64,7 +64,7 @@ Scan `.design/` for existing brands and projects:
64
64
 
65
65
  ### Step 1b: Run design system scan (background)
66
66
 
67
- Spawn `/gsp:design-system` as a background agent (`run_in_background: true`, `subagent_type: "general-purpose"`). It writes to `.design/system/` — don't wait for it. Store the task reference for the brand essence questions or Step 4.
67
+ Spawn `/gsp-design-system` as a background agent (`run_in_background: true`, `subagent_type: "general-purpose"`). It writes to `.design/system/` — don't wait for it. Store the task reference for the brand essence questions or Step 4.
68
68
 
69
69
  ### Step 1c: Greet
70
70
 
@@ -80,7 +80,7 @@ Adapt the greeting based on what the scan revealed. Use plain text with Unicode
80
80
  - **Summary box:** `┌──┐│└──┘` border with key-value pairs inside
81
81
 
82
82
  **Fresh start (no `.design/`):**
83
- Show ` /gsp: ◇◇\n looks like a fresh start.` (append codebase scanning note if `package.json` exists). Use `AskUserQuestion` with: Brand identity, Design project, Both (brand + project), Quick project.
83
+ Show ` /gsp- ◇◇\n looks like a fresh start.` (append codebase scanning note if `package.json` exists). Use `AskUserQuestion` with: Brand identity, Design project, Both (brand + project), Quick project.
84
84
 
85
85
  **Legacy `.design/` detected (flat structure, pre-0.4.0):**
86
86
  Acknowledge the legacy project. Use `AskUserQuestion`: Start fresh brand, Start design project, Keep working.
@@ -98,7 +98,7 @@ Show compact brand (single-line if complete) + full project pipeline flow. Then
98
98
  When codebase has been scanned (`.design/system/STACK.md` exists), show a Summary Box using data from STACK.md and COMPONENTS.md:
99
99
  ```
100
100
  ┌──────────────────────────────────────────┐
101
- │ /gsp: ◆◈ │
101
+ │ /gsp- ◆◈ │
102
102
  │ │
103
103
  │ framework Next.js 14 │
104
104
  │ styling Tailwind + shadcn/ui │
@@ -118,7 +118,7 @@ From the greeting exchange, determine which flow to run:
118
118
  - **Design project** → Check for brands first. If none exist, explain they need a brand first. Offer to create one, then auto-transition to project flow.
119
119
  - **Full design (brand + project)** → Brand flow (Step 3), with E2E flag so brand completion auto-transitions to project flow (Step 4)
120
120
  - **Quick project** → Quick flow (Step 5)
121
- - **Continue existing work** → route to `/gsp:progress`
121
+ - **Continue existing work** → route to `/gsp-progress`
122
122
 
123
123
  ## Step 3: Brand flow
124
124
 
@@ -196,10 +196,10 @@ Skip any question you can already answer from prior context. Don't over-ask.
196
196
 
197
197
  6. Route using `AskUserQuestion` — always offer Continue / Stop here / What happens next:
198
198
 
199
- - **Brand-only, new →** continue to `/gsp:brand-research`
200
- - **Brand-only, evolve →** continue to `/gsp:brand-audit`
201
- - **E2E, new →** continue to `/gsp:brand-research` (complete the entire brand pipeline first — research → strategy → identity → patterns — then auto-transition to Step 4 for project setup). Set `"e2e": true` in config.json so brand-patterns knows to route to project flow after completion.
202
- - **E2E, evolve →** continue to `/gsp:brand-audit` (complete full brand pipeline, then auto-transition to Step 4). Set `"e2e": true` in config.json.
199
+ - **Brand-only, new →** continue to `/gsp-brand-research`
200
+ - **Brand-only, evolve →** continue to `/gsp-brand-audit`
201
+ - **E2E, new →** continue to `/gsp-brand-research` (complete the entire brand pipeline first — research → strategy → identity → patterns — then auto-transition to Step 4 for project setup). Set `"e2e": true` in config.json so brand-patterns knows to route to project flow after completion.
202
+ - **E2E, evolve →** continue to `/gsp-brand-audit` (complete full brand pipeline, then auto-transition to Step 4). Set `"e2e": true` in config.json.
203
203
 
204
204
  ## Step 4: Project flow
205
205
 
@@ -258,8 +258,8 @@ Skip any question you can already answer from the codebase scan. Don't over-ask.
258
258
  - `.design/projects/{name}/exports/INDEX.md` from `${CLAUDE_SKILL_DIR}/../../templates/exports-index.md`
259
259
 
260
260
  9. Route using `AskUserQuestion`: "Project set up! Ready to scope what you're building?"
261
- - **Continue to scoping** — "Scope the project now" → invoke `/gsp:project-brief` via Skill tool
262
- - **Stop here** — "I'll come back later" → confirm files are saved, show how to resume with `/gsp:start`
261
+ - **Continue to scoping** — "Scope the project now" → invoke `/gsp-project-brief` via Skill tool
262
+ - **Stop here** — "I'll come back later" → confirm files are saved, show how to resume with `/gsp-start`
263
263
  - **What happens next?** — "Explain the scoping phase" → explain what project-brief does (screen list, component adaptations, gap analysis) and how it uses the brief
264
264
 
265
265
  ## Step 5: Quick project flow
@@ -279,8 +279,8 @@ Read `${CLAUDE_SKILL_DIR}/../../skills/gsp-style/styles/INDEX.yml` and present s
279
279
  mkdir -p .design/branding/_style-{preset}/patterns/
280
280
  ```
281
281
 
282
- 2. Invoke `/gsp:style {preset}` via Skill tool — this writes:
283
- - `tokens.json` (W3C design tokens)
282
+ 2. Invoke `/gsp-style {preset}` via Skill tool — this writes:
283
+ - `{preset}.yml` (brand style preset)
284
284
  - Foundation chunks (color, typography, spacing, elevation, radius)
285
285
  - `INDEX.md`
286
286
 
@@ -324,7 +324,7 @@ Continue directly to Step 4 (project flow) with these modifications:
324
324
  ### Upgrade path
325
325
 
326
326
  If a user later wants full branding, they can:
327
- 1. Run `/gsp:start` → "Brand identity" to create a real brand
327
+ 1. Run `/gsp-start` → "Brand identity" to create a real brand
328
328
  2. Full diamond produces identity + patterns with real tokens
329
329
  3. Update the project's `brand.ref` to point to the new brand
330
330
  4. Re-run build phases — they pick up the new tokens automatically
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: style
2
+ name: gsp-style
3
3
  description: Apply a design style — get tokens and foundations without the branding diamond
4
4
  user-invocable: true
5
5
  model: sonnet
@@ -12,10 +12,10 @@ allowed-tools:
12
12
  - Grep
13
13
  ---
14
14
  <context>
15
- You are a GSP style applicator. You produce W3C Design Tokens (`tokens.json`) and foundation chunks from style presets — bypassing the full branding diamond (discover → strategy → identity → system). Downstream agents (designer, builder) consume `tokens.json` regardless of how it was produced.
15
+ You are a GSP style applicator. You produce a brand `.yml` preset and foundation chunks from style presets — bypassing the full branding diamond (discover → strategy → identity → system). Downstream agents (designer, builder) consume the `.yml` preset regardless of how it was produced.
16
16
 
17
17
  This is a standalone composable skill. It works two ways:
18
- 1. **Standalone** — user runs `/gsp:style cyberpunk` directly, gets visual preview + tokens
18
+ 1. **Standalone** — user runs `/gsp-style cyberpunk` directly, gets visual preview + tokens
19
19
  2. **As a building block** — agents invoke this skill during workflows, getting tokens only
20
20
  </context>
21
21
 
@@ -23,7 +23,7 @@ This is a standalone composable skill. It works two ways:
23
23
  Apply a named style preset to produce production-ready design tokens and foundation chunks.
24
24
 
25
25
  **Input:** Style name(s), optional flags (`--list`, `--preview`)
26
- **Output:** `tokens.json` + 5 foundation chunks + `INDEX.md` in the target system directory
26
+ **Output:** `{preset-name}.yml` + `STYLE.md` + `INDEX.md` in the target system directory
27
27
  **Agent:** None — token expansion from YAML presets is handled inline
28
28
  </objective>
29
29
 
@@ -37,7 +37,7 @@ Apply a named style preset to produce production-ready design tokens and foundat
37
37
  <rules>
38
38
  - Always use `AskUserQuestion` for user interaction — never prompt via plain text
39
39
  - One decision per question — never batch multiple questions in a single message
40
- - `tokens.json` follows W3C Design Tokens format from `references/design-tokens.md`
40
+ - Token values in `.yml` presets follow W3C Design Tokens format from `references/design-tokens.md`
41
41
  - When mixing styles, later style values override earlier ones (last-wins precedence)
42
42
  - Never mix clashing styles — check the compatibility matrix first
43
43
  </rules>
@@ -49,11 +49,11 @@ Read the user's input to determine the mode:
49
49
 
50
50
  | Input | Mode |
51
51
  |-------|------|
52
- | `/gsp:style --list` | List all available presets |
53
- | `/gsp:style --preview cyberpunk` | Show tokens without writing files |
54
- | `/gsp:style cyberpunk` | Apply single style |
55
- | `/gsp:style cyberpunk + neubrutalism` | Mix styles (check compatibility) |
56
- | `/gsp:style` (no args) | Interactive — browse and pick |
52
+ | `/gsp-style --list` | List all available presets |
53
+ | `/gsp-style --preview cyberpunk` | Show tokens without writing files |
54
+ | `/gsp-style cyberpunk` | Apply single style |
55
+ | `/gsp-style cyberpunk + neubrutalism` | Mix styles (check compatibility) |
56
+ | `/gsp-style` (no args) | Interactive — browse and pick |
57
57
 
58
58
  ## Step 1: List mode (`--list`)
59
59
 
@@ -120,51 +120,49 @@ If invoked from a project context (`.design/projects/{project}/`):
120
120
 
121
121
  If `--preview`, display expanded tokens grouped by section (Color, Typography, Shape, Elevation, Motion) as key-value pairs. Footer: usage hint to apply. Stop here — do not write any files.
122
122
 
123
- ## Step 6: Expand tokens to W3C format
123
+ ## Step 6: Copy preset as brand style
124
124
 
125
- Transform the YAML preset tokens into the full W3C Design Tokens JSON structure.
125
+ Copy the preset `.yml` to the output path as the brand's style source:
126
+ - If within a brand: `{OUTPUT_PATH}/{preset-name}.yml`
127
+ - If standalone: `{OUTPUT_PATH}/_style-{preset-name}.yml`
126
128
 
127
- ### Token expansion mapping
129
+ If a `.yml` already exists at the output path, use `AskUserQuestion`: "A style preset already exists — overwrite?" with options **Overwrite** and **Cancel**. If cancelled, skip and proceed.
128
130
 
129
- Transform each YAML preset section into W3C Design Tokens JSON with `$value` and `$type` fields:
131
+ The `.yml` IS the token source of truth no separate `tokens.json` needed. The builder generates CSS variables from it at build time using `references/token-mapping.md`.
130
132
 
131
- | Preset section | Token path | $type | Notes |
132
- |---------------|------------|-------|-------|
133
- | `color.*` | `color.brand.{key}`, `color.semantic.{key}` | `color` | Split into brand (primary, secondary, accent) and semantic (background, surface, on-primary, on-background, error, success, warning, info) |
134
- | `typography.*` | `font.family.{primary,mono}` | `fontFamily` | — |
135
- | `typography.*` | `typography.{level}` | `typography` | Composite: fontFamily, fontSize, fontWeight, lineHeight, letterSpacing. 9 levels: display, heading-1 through heading-3, body-large, body, body-small, caption, overline |
136
- | `spacing.*` | `spacing.{xs,sm,md,lg,xl,2xl,3xl,4xl}` | `dimension` | — |
137
- | `elevation.*` | `shadow.{sm,md,lg,xl}` | `shadow` | Parse CSS shadow shorthand into structured format |
138
- | `shape.*` | `radius.{none,sm,md,lg,full}` | `dimension` | `full` = 9999px |
139
- | `motion.*` | `motion.duration.{fast,normal}`, `motion.easing.default` | `duration`, `cubicBezier` | — |
133
+ ## Step 7: Write STYLE.md
140
134
 
141
- **Style-specific tokens:** If preset has extra groups (e.g., `glass`, `glow`, `gradient`, `syntax`), include under `$extensions.gsp-style-specific`.
135
+ Read the style template from `${CLAUDE_SKILL_DIR}/../../templates/phases/style.md`.
142
136
 
143
- **Dark mode:** If preset has `dark_mode` section, include under `$extensions.dark` with semantic color overrides.
137
+ Read BOTH source files:
138
+ - `styles/{name}.yml` — structured data (tokens, intensity, patterns, constraints, effects)
139
+ - `styles/{name}.md` — prose companion (design philosophy, CSS code hints, component styling, textures). Skip the `<role>` block — start from `<design-system>`.
144
140
 
145
- **Extensions metadata:** Always include `$extensions.gsp-style` with the preset name.
141
+ If the `.md` companion doesn't exist, render STYLE.md from `.yml` data only (thinner but functional).
146
142
 
147
- ## Step 7: Write tokens.json
143
+ Render into the template sections:
148
144
 
149
- If `{OUTPUT_PATH}/tokens.json` already exists, use `AskUserQuestion`: "tokens.json already exists — overwrite with style preset? Existing component-level tokens will be replaced." with options **Overwrite** and **Cancel**. If cancelled, skip writing tokens.json and proceed to the next step.
145
+ - **Intensity** from `.yml` `intensity:` block
146
+ - **Philosophy** — extract from `.md` companion's Design Philosophy section. Condense to 2-4 sentences capturing the emotional DNA and cultural references.
147
+ - **Patterns** — from `.yml` `patterns:` block, rendered as tables per component
148
+ - **Constraints** — from `.yml` `constraints:` block, rendered as never/always bullet lists
149
+ - **Effects** — from `.yml` `effects:` block, rendered as interaction vocabulary + state tables
150
+ - **Bold Bets** — extract from `.md` companion's "Non-Genericness" or "Bold Factor" section. Pick 3-5 most distinctive techniques with implementation specifics.
151
+ - **Implementation** — extract from `.md` companion's component stylings and CSS code:
152
+ - **Component Code Hints** — Tailwind/CSS patterns beyond the Patterns tables
153
+ - **Textures & Surfaces** — CSS for noise, halftone, grain (skip if style has none)
154
+ - **Typography Treatments** — text-stroke, tracking overrides (skip if standard)
155
+ - **Animation Recipes** — keyframes, transitions (skip if effects vocabulary is sufficient)
150
156
 
151
- Write the complete W3C Design Tokens JSON to `{OUTPUT_PATH}/tokens.json`.
157
+ Write to `{OUTPUT_PATH}/STYLE.md`.
152
158
 
153
- ## Step 8: Write foundation chunks
159
+ ## Step 8: Write INDEX.md
154
160
 
155
- Write 5 foundation chunks to `{OUTPUT_PATH}/foundations/`, each following `references/chunk-format.md`:
161
+ Write `{OUTPUT_PATH}/INDEX.md` header with phase/style/date, applied style name + description, file table ({preset-name}.yml, STYLE.md).
156
162
 
157
- - **color-system.md**brand colors, semantic colors, dark mode mapping, WCAG contrast notes
158
- - **typography.md** — 9-level type scale, font family details + Google Fonts link, weight rationale
159
- - **spacing.md** — spacing scale with base unit and usage guidelines
160
- - **elevation.md** — shadow scale with use cases per level + style-specific notes
161
- - **border-radius.md** — radius token scale + style-specific shape notes
163
+ Foundation chunks (color-system.md, typography.md, etc.) are NOT written in the quick path the `.yml` has the token values, STYLE.md has the composition rules. Foundation chunks are only produced by the full branding diamond where the brand-engineer adds deeper analysis (WCAG ratios, font loading, semantic rationale).
162
164
 
163
- ## Step 9: Write INDEX.md
164
-
165
- Write `{OUTPUT_PATH}/INDEX.md` — header with phase/style/date, applied style name + description, foundations table (chunk name, file link, ~lines), tokens table (tokens.json link).
166
-
167
- ## Step 10: Update state
165
+ ## Step 9: Update state
168
166
 
169
167
  If a brand STATE.md exists at the brand path:
170
168
  - Set patterns phase status to `complete`
@@ -174,7 +172,7 @@ If a brand STATE.md exists at the brand path:
174
172
  If a project config.json exists:
175
173
  - Add `"style_preset": "{name}"` to preferences
176
174
 
177
- ## Step 11: Completion output
175
+ ## Step 10: Completion output
178
176
 
179
- Show: header (`/gsp:style — {name} applied`), file tree (foundations/ + tokens.json + INDEX.md). Then `AskUserQuestion`: Start a project → `/gsp:project-brief`, Build components → `/gsp:brand-patterns`, Preview tokens, Try a different style → restart Step 2.
177
+ Show: header (`/gsp-style — {name} applied`), file tree ({name}.yml + STYLE.md + INDEX.md). Then `AskUserQuestion`: Start a project → `/gsp-project-brief`, Build components → `/gsp-brand-guidelines`, Preview tokens, Try a different style → restart Step 2.
180
178
  </process>
@@ -1,6 +1,6 @@
1
1
  # Style Preset Index
2
2
  # 34 styles — sourced from designprompts.dev, GSP trend references, and original presets
3
- # Tags enable fuzzy matching: /gsp:style "something dark and techy" → cyberpunk, terminal, modern-dark
3
+ # Tags enable fuzzy matching: /gsp-style "something dark and techy" → cyberpunk, terminal, modern-dark
4
4
 
5
5
  styles:
6
6
  # ── Minimal ─────────────────────────
@@ -62,5 +62,85 @@ dark_mode:
62
62
  surface: "#251E19"
63
63
  on-background: "#E8DFD4"
64
64
 
65
+ intensity:
66
+ variance: 3 # classical symmetry with occasional 60/40 splits, mostly balanced
67
+ motion: 3 # dignified and deliberate — sepia reveals, brass shimmer, no playfulness
68
+ density: 4 # ornamental but restrained — flourishes, dividers, textures fill space with purpose
69
+
70
+ patterns:
71
+ card:
72
+ border: "{shape.border-width} solid {shape.border-color}"
73
+ shadow: "none resting, {elevation.shadow-lg} on hover — warm depth"
74
+ radius: "{shape.border-radius-md}"
75
+ background: "one layer above page — aged oak surface"
76
+ decoration: "brass corner flourishes (24px L-brackets) at opposing corners, opacity 0.6→1.0 on hover"
77
+ button-primary:
78
+ background: "{brass.gradient}"
79
+ border: "none"
80
+ shadow: "inset highlights + depth shadow, brass glow on hover"
81
+ text: "uppercase, tracking-[0.15em], {typography.font-family-display}, engraved text-shadow"
82
+ radius: "{shape.border-radius-md}"
83
+ button-secondary:
84
+ background: "transparent"
85
+ border: "2px solid {color.accent}"
86
+ text: "uppercase, tracking-[0.15em], {color.accent}"
87
+ radius: "{shape.border-radius-md}"
88
+ hover: "fills crimson — border + bg shift to accentSecondary, text inverts"
89
+ input:
90
+ border: "{shape.border-width} solid {shape.border-color}"
91
+ radius: "{shape.border-radius-md}"
92
+ background: "aged oak surface"
93
+ focus: "border-{color.accent}, ring-2 ring-{color.accent}/30 ring-offset-2"
94
+ placeholder: "italic serif, faded ink color"
95
+ badge:
96
+ shape: "circular — crimson wax seal with radial gradient and inset shadows"
97
+ text: "centered icon (star), no text — visual accent"
98
+ nav:
99
+ style: "classical horizontal with brass accent links"
100
+ links: "serif, hover shifts to brass with tracking increase (0.2em→0.25em)"
101
+ layout:
102
+ archetype: "classical-symmetric"
103
+ max-width: "max-w-6xl"
104
+ section-spacing: "py-24 to py-32 — contemplative breathing room"
105
+ grid-gap: "gap-8 to gap-12"
106
+ surfaces: "paper texture (3% opacity noise, overlay blend) + vignette darkening edges"
107
+ decoration: "ornate dividers with centered glyphs, arch-topped images (40% 40% 0 0 / 20% 20% 0 0), Roman numeral volume labels"
108
+
109
+ constraints:
110
+ never:
111
+ - "sans-serif fonts in headings — serif typography only (Cormorant, Crimson, Cinzel)"
112
+ - "bright saturated colors — everything aged and warm-toned"
113
+ - "pure black (#000000) or pure white (#FFFFFF) — warm mahogany and parchment"
114
+ - "bouncy or elastic animations — dignified motion only, like turning heavy pages"
115
+ - "sharp geometric decorations — favor architectural curves (arch-tops, flourishes)"
116
+ - "cold tones mixing with warm palette — exclusively warm throughout"
117
+ - "flat backgrounds without texture — paper grain and vignette are essential"
118
+ - "playful or whimsical elements — scholarly gravitas at all times"
119
+ always:
120
+ - "sepia filter (0.6) on all images by default, full color reveals on hover (700ms)"
121
+ - "brass (#C9A962) for ALL interactive elements — buttons, links, focus rings, hover states"
122
+ - "Roman numerals (Volume I, II, III) for section numbering"
123
+ - "arch-topped images (40% 40% 0 0 / 20% 20% 0 0 border-radius)"
124
+ - "paper texture overlay (3% opacity) + vignette radial gradient"
125
+ - "corner flourishes on major containers (brass L-brackets)"
126
+ - "ornate dividers with decorative glyphs between sections"
127
+ - "drop caps on introductory paragraphs (Cinzel, text-7xl, brass)"
128
+
129
+ effects:
130
+ interaction-vocabulary: [brass-shimmer, sepia-reveal, dignified-lift, flourish-brighten]
131
+ hover:
132
+ card: "dignified-lift — shadow appears (0→lg), border shifts brass, flourish-brighten on corners"
133
+ button-primary: "brass-shimmer — brightness increases to 110%, glow shadow appears"
134
+ button-secondary: "crimson transform — border + bg shift to crimson, text inverts to parchment"
135
+ image: "sepia-reveal — sepia(0.6)→sepia(0), scale-105 over 700ms"
136
+ link: "brass-shimmer — color shifts to brass, tracking widens slightly"
137
+ active:
138
+ button: "deeper inset shadow — pressed-into-metal feel"
139
+ focus:
140
+ general: "ring-2 ring-{color.accent} ring-offset-2 ring-offset-background"
141
+ transition: "duration-300 to duration-700, ease-out"
142
+ ambient:
143
+ - "brass-breathe — subtle brightness oscillation on brass buttons (100%→110%, 2s cycle)"
144
+
65
145
  compatibility: [swiss-minimalist, monochrome]
66
146
  clashes: [cyberpunk, vaporwave, retro]