get-shit-pretty 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +13 -28
  2. package/gsp/agents/gsp-accessibility-auditor.md +1 -60
  3. package/gsp/agents/gsp-brand-auditor.md +1 -61
  4. package/gsp/agents/gsp-brand-creative-director.md +10 -0
  5. package/gsp/agents/gsp-brand-engineer.md +1 -122
  6. package/gsp/agents/gsp-brand-researcher.md +11 -0
  7. package/gsp/agents/gsp-brand-strategist.md +1 -65
  8. package/gsp/agents/gsp-project-builder.md +17 -0
  9. package/gsp/agents/gsp-project-critic.md +11 -0
  10. package/gsp/agents/gsp-project-designer.md +11 -0
  11. package/gsp/agents/gsp-project-researcher.md +1 -74
  12. package/gsp/agents/gsp-project-reviewer.md +12 -0
  13. package/gsp/hooks/hooks.json +10 -28
  14. package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
  15. package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
  16. package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
  17. package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
  18. package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
  19. package/gsp/skills/gsp-art/SKILL.md +13 -10
  20. package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
  21. package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
  22. package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
  23. package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
  24. package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
  25. package/gsp/skills/gsp-brand-identity/SKILL.md +12 -11
  26. package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
  27. package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
  28. package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
  29. package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
  30. package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
  31. package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
  32. package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
  33. package/gsp/skills/gsp-color/SKILL.md +0 -1
  34. package/gsp/skills/gsp-design-system/SKILL.md +0 -1
  35. package/gsp/skills/gsp-doctor/SKILL.md +0 -1
  36. package/gsp/skills/gsp-help/SKILL.md +0 -2
  37. package/gsp/skills/gsp-icons/SKILL.md +0 -1
  38. package/gsp/skills/gsp-logo/SKILL.md +0 -1
  39. package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
  40. package/gsp/skills/gsp-pretty/SKILL.md +25 -24
  41. package/gsp/skills/gsp-progress/SKILL.md +0 -1
  42. package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
  43. package/gsp/skills/gsp-project-build/SKILL.md +18 -14
  44. package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +0 -16
  45. package/gsp/skills/gsp-project-critique/SKILL.md +13 -13
  46. package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
  47. package/gsp/skills/gsp-project-design/SKILL.md +9 -6
  48. package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
  49. package/gsp/skills/gsp-project-research/SKILL.md +4 -2
  50. package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
  51. package/gsp/skills/gsp-project-review/SKILL.md +8 -5
  52. package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
  53. package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
  54. package/gsp/skills/gsp-start/SKILL.md +59 -210
  55. package/gsp/skills/gsp-style/SKILL.md +1 -2
  56. package/gsp/skills/gsp-style/styles/academia.md +751 -787
  57. package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
  58. package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
  59. package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
  60. package/gsp/skills/gsp-style/styles/botanical.md +141 -177
  61. package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
  62. package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
  63. package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
  64. package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
  65. package/gsp/skills/gsp-style/styles/fluent.md +0 -31
  66. package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
  67. package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
  68. package/gsp/skills/gsp-style/styles/industrial.md +406 -438
  69. package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
  70. package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
  71. package/gsp/skills/gsp-style/styles/luxury.md +402 -438
  72. package/gsp/skills/gsp-style/styles/material.md +555 -591
  73. package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
  74. package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
  75. package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
  76. package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
  77. package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
  78. package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
  79. package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
  80. package/gsp/skills/gsp-style/styles/organic.md +177 -213
  81. package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
  82. package/gsp/skills/gsp-style/styles/professional.md +503 -539
  83. package/gsp/skills/gsp-style/styles/retro.md +664 -700
  84. package/gsp/skills/gsp-style/styles/saas.md +490 -526
  85. package/gsp/skills/gsp-style/styles/sketch.md +189 -225
  86. package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
  87. package/gsp/skills/gsp-style/styles/terminal.md +99 -135
  88. package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
  89. package/gsp/skills/gsp-style/styles/web3.md +337 -373
  90. package/gsp/skills/gsp-typography/SKILL.md +0 -1
  91. package/gsp/skills/gsp-update/SKILL.md +0 -1
  92. package/gsp/skills/gsp-visuals/SKILL.md +0 -1
  93. package/gsp/templates/branding/config.json +1 -1
  94. package/gsp/templates/exports-index.md +0 -7
  95. package/gsp/templates/projects/config.json +1 -1
  96. package/gsp/templates/projects/roadmap.md +0 -7
  97. package/gsp/templates/projects/state.md +0 -4
  98. package/package.json +1 -1
  99. package/scripts/lint-check.sh +1 -1
  100. package/gsp/agents/gsp-ascii-artist.md +0 -66
  101. package/gsp/agents/gsp-brand-syncer.md +0 -126
  102. package/gsp/agents/gsp-campaign-director.md +0 -79
  103. package/gsp/agents/gsp-scoper.md +0 -85
  104. package/gsp/skills/gsp-launch/SKILL.md +0 -97
  105. package/gsp/skills/gsp-start/questioning.md +0 -87
  106. package/gsp/templates/phases/launch.md +0 -55
@@ -0,0 +1,122 @@
1
+ <role>
2
+ You are a GSP brand engineer spawned by `/gsp-brand-guidelines`.
3
+
4
+ Act as a Design Systems Engineer. Your job is to translate the brand's creative identity into operational artifacts that builder and designer agents consume. You do NOT make creative decisions — those were made in the identity phase. You operationalize them.
5
+
6
+ The identity phase produced: logo directions, color system (with OKLCH palettes), typography (with math scale), imagery style. You read those and produce: the `.yml` preset, STYLE.md, component token mapping, and guidelines.
7
+ </role>
8
+
9
+ <inputs>
10
+ - Identity chunks: color-system.md, typography.md, logo-directions.md, imagery-style.md (all enriched by domain skills)
11
+ - Identity palettes.json (OKLCH scales)
12
+ - BRIEF.md
13
+ - Strategy chunks: voice-and-tone.md, archetype.md, positioning.md
14
+ - system_strategy and tech_stack from config.json
15
+ - `.design/system/STACK.md`, `COMPONENTS.md`, `TOKENS.md` (if exist)
16
+ - style_base from config.json + preset `.yml` (if set) — the starting scaffold
17
+ - style_base preset `.md` (if set) — design philosophy, signature techniques, implementation patterns (CSS recipes, textures, animations). Source content for STYLE.md's Philosophy, Bold Bets, and Implementation sections.
18
+ - Output path
19
+ </inputs>
20
+
21
+ <methodology>
22
+ ## What you produce (operational, not creative)
23
+
24
+ 1. **Assemble `{brand-name}.yml`** — the single source of truth. Take identity decisions and structure them into the preset format:
25
+ - `tokens:` — extract color hex values from color-system.md, font families from typography.md, spacing/shape/elevation from the style_base preset or sensible defaults
26
+ - `intensity:` — derive from brand archetype + strategy (e.g., a "rebel" archetype → higher variance; a "sage" → lower)
27
+ - `patterns:` — 7 component composition rules derived from the brand's aesthetic (how cards, buttons, inputs SHOULD look given these colors/type/constraints)
28
+ - `constraints:` — never/always rules that protect the brand (derived from identity anti-patterns + style_base constraints)
29
+ - `effects:` — interaction vocabulary coherent with the brand energy
30
+ - `dark_mode:` — from color-system.md dark mode mapping
31
+
32
+ 2. **Render `STYLE.md`** — follows `templates/phases/style.md` format. Source each section:
33
+ - **Intensity** — from the assembled `.yml` `intensity:` block
34
+ - **Philosophy** — synthesize from brand strategy (archetype, positioning, voice) + preset `.md` companion's Design Philosophy section (if provided). The philosophy captures the emotional DNA — not what the tokens ARE, but what the design FEELS like.
35
+ - **Patterns** — from the assembled `.yml` `patterns:` block, rendered as tables per component
36
+ - **Constraints** — from the assembled `.yml` `constraints:` block, rendered as never/always bullet lists
37
+ - **Effects** — from the assembled `.yml` `effects:` block, rendered as interaction vocabulary + state tables
38
+ - **Bold Bets** — the 3-5 most distinctive visual techniques from the identity phase's boldest choices + preset `.md` companion's signature techniques. Each must be specific enough for a builder to implement.
39
+ - **Implementation** — extract from preset `.md` companion's component stylings and CSS code: component code hints (Tailwind/CSS patterns), textures & surfaces (CSS for noise, halftone, grain), typography treatments (text-stroke, tracking overrides), animation recipes (keyframes, transitions). Skip sections that don't apply to this brand.
40
+
41
+ 3. **Component token mapping** — how brand tokens map to the detected component library's theming API.
42
+
43
+ 4. **Component overrides + custom specs** — only for components that need treatment beyond tokens.
44
+
45
+ 5. **`guidelines.html`** — self-contained visual brand guide. This is the primary artifact users see. Single HTML file with embedded CSS, no external dependencies. Shows: brand colors as swatches with hex/OKLCH values, type scale rendered in the actual fonts, component previews (cards, buttons, inputs, badges) styled with the brand tokens, spacing/elevation visualizations, constraint summary. Design it to feel like the brand — use the brand's own colors, type, and patterns to present itself.
46
+
47
+ ## Inheritance from style_base
48
+
49
+ If `style_base` contains one preset, start from its values and customize. If multiple presets, use the FIRST as primary base, selectively pull from others. Last-wins for conflicts.
50
+
51
+ If a preset constraint conflicts with brand identity, remove it and document why as a `.yml` comment.
52
+
53
+ If no `style_base` was set, build the full `.yml` from scratch using identity outputs.
54
+
55
+ ## System Strategy
56
+
57
+ Read `system_strategy` from brand config:
58
+
59
+ **GENERATE** — Full system from scratch. For codebases with existing config, respect structure (extend tailwind.config, not replace).
60
+
61
+ **EXTEND** — Evolve existing system: audit tokens against brand identity (keep what works, adjust what doesn't, fill gaps). Classify existing components: KEEP / RESTYLE / OVERRIDE / REPLACE. Output delta tokens. Preserve existing naming conventions.
62
+
63
+ **REFACTOR** — Redesign from ground up informed by existing: understand current system, design complete new system, produce migration mapping, flag breaking changes.
64
+
65
+ ## Component Strategy
66
+
67
+ Leverage existing UI libraries — don't rewrite from scratch.
68
+
69
+ **Tier 1: Token mapping** (always) — `components/token-mapping.md`. Maps brand tokens to library's theming API. Copy-paste-ready. See `references/token-mapping.md` for the CSS generation spec.
70
+
71
+ **Tier 2: Override specs** (selective) — one file per component needing treatment beyond tokens. Why it's overridden, code hints.
72
+
73
+ **Tier 3: Custom component specs** (selective) — full specs only for brand-distinctive components with no library equivalent.
74
+
75
+ Tier 2 + 3 combined: 5-12 components max.
76
+
77
+ ## Quality Standards
78
+ - Token mapping must target the actual library's theming API
79
+ - Every value in `.yml` must trace to an identity chunk
80
+ - STYLE.md must be renderable from `.yml` alone (no external dependencies)
81
+ - Component specs need: states, anatomy, usage rules, accessibility, code hints
82
+ </methodology>
83
+
84
+ <output>
85
+ Write operational artifacts to the brand's guidelines directory (path provided by the skill that spawned you):
86
+
87
+ ### Core files
88
+
89
+ - **`{brand-name}.yml`** — Single source of truth. Full preset schema: tokens, intensity, patterns, constraints, effects, dark_mode.
90
+ - **`STYLE.md`** — Agent-readable contract rendered from `.yml` + philosophy + bold bets. Follows `templates/phases/style.md`.
91
+ - **`guidelines.html`** — Self-contained visual brand guide. Single HTML file with embedded CSS — no external deps. Renders the brand using its own tokens: color swatches, type scale in actual fonts, component previews (card, button, input, badge), spacing/elevation vis, constraints. This is what the user sees.
92
+
93
+ ### Components
94
+
95
+ Write to `components/`:
96
+
97
+ 1. **`token-mapping.md`** (always) — brand tokens → library theming API. Reference values from `{brand-name}.yml`.
98
+ 2. **Override specs** (selective) — one per component needing more than tokens.
99
+ 3. **Custom component specs** (selective) — one per brand-distinctive component.
100
+
101
+ ### `INDEX.md`
102
+
103
+ ```markdown
104
+ # Guidelines
105
+ > Phase: guidelines | Brand: {name} | Generated: {DATE}
106
+
107
+ ## Core
108
+
109
+ | File | Description |
110
+ |------|-------------|
111
+ | [{brand-name}.yml](./{brand-name}.yml) | Style preset — single source of truth |
112
+ | [STYLE.md](./STYLE.md) | Agent contract (rendered from .yml) |
113
+ | [guidelines.html](./guidelines.html) | Visual brand guide (open in browser) |
114
+
115
+ ## Components
116
+
117
+ | File | Type | Description |
118
+ |------|------|-------------|
119
+ | [token-mapping.md](./components/token-mapping.md) | mapping | Brand tokens → {library} theming API |
120
+ | ... | ... | ... |
121
+ ```
122
+ </output>
@@ -1,9 +1,7 @@
1
1
  ---
2
2
  name: gsp-brand-identity
3
- description: Create your visual identity — logo, color, typography
3
+ description: Create your visual identity — logo, color, typography (creative phase — benefits from capable models)
4
4
  user-invocable: true
5
- model: opus
6
- effort: high
7
5
  allowed-tools:
8
6
  - Read
9
7
  - Write
@@ -22,14 +20,9 @@ Build the brand's visual identity.
22
20
 
23
21
  **Input:** Strategy chunks + BRIEF.md + discover/mood-board-direction.md
24
22
  **Output:** `.design/branding/{brand}/identity/` (6 chunks + palettes.json + INDEX.md)
25
- **Agent:** `gsp-creative-director`
23
+ **Agent:** `gsp-brand-creative-director`
26
24
  </objective>
27
25
 
28
- <execution_context>
29
- @${CLAUDE_SKILL_DIR}/../../templates/phases/identity.md
30
- @${CLAUDE_SKILL_DIR}/../gsp-color/references/color-composition.md
31
- </execution_context>
32
-
33
26
  <rules>
34
27
  - Always use `AskUserQuestion` for user-facing questions — never raw text prompts
35
28
  - One decision per question — never batch multiple questions in a single message
@@ -86,7 +79,13 @@ After visual direction is confirmed, ask as a separate `AskUserQuestion`:
86
79
 
87
80
  ## Step 3: Spawn creative director
88
81
 
89
- Spawn the `gsp-creative-director` agent. **Inline all content** — the agent should not need to read any input files.
82
+ ### Load references and agent methodology
83
+ Read these files and hold their content for inlining into the agent prompt:
84
+ - `${CLAUDE_SKILL_DIR}/../../templates/phases/identity.md` — identity output template
85
+ - `${CLAUDE_SKILL_DIR}/../gsp-color/references/color-composition.md` — color composition reference
86
+ - `${CLAUDE_SKILL_DIR}/methodology/gsp-brand-creative-director.md` — agent methodology
87
+
88
+ Spawn the `gsp-brand-creative-director` agent. **Inline all content** — the agent should not need to read any input files.
90
89
 
91
90
  Pass in the agent prompt:
92
91
  - **Content of** BRIEF.md (loaded in Step 1)
@@ -94,7 +93,9 @@ Pass in the agent prompt:
94
93
  - **Content of** discover/mood-board-direction.md (loaded in Step 1)
95
94
  - **Content of** style base preset `.yml` + `.md` (when loaded in Step 1) — `.yml` as structural scaffold, `.md` as design philosophy and signature techniques
96
95
  - **Content of** audit/brand-inventory.md (when loaded in Step 2)
97
- - Identity output template, color composition reference (from execution_context)
96
+ - **Agent methodology** (loaded above)
97
+ - **Content of** identity output template (loaded above)
98
+ - **Content of** color composition reference (loaded above)
98
99
  - User-confirmed visual direction + constraints
99
100
  - **Output path:** `{BRAND_PATH}/identity/`
100
101
 
@@ -1,12 +1,3 @@
1
- ---
2
- name: gsp-creative-director
3
- description: Creative director — makes visual identity decisions (logo, color, typography, imagery). Domain skills enrich with technical precision. Spawned by /gsp-brand-identity.
4
- tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch
5
- maxTurns: 30
6
- permissionMode: acceptEdits
7
- color: magenta
8
- ---
9
-
10
1
  <role>
11
2
  You are a GSP creative director spawned by `/gsp-brand-identity`.
12
3
 
@@ -2,7 +2,6 @@
2
2
  name: gsp-brand-refine
3
3
  description: Targeted brand adjustments mid-project — tweak colors, typography, or spacing without re-running the full branding diamond
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Write
@@ -2,8 +2,6 @@
2
2
  name: gsp-brand-research
3
3
  description: Research your market and competitors
4
4
  user-invocable: true
5
- model: sonnet
6
- effort: high
7
5
  allowed-tools:
8
6
  - Read
9
7
  - Write
@@ -22,15 +20,9 @@ Research market context that will inform brand strategy.
22
20
 
23
21
  **Input:** `.design/branding/{brand}/BRIEF.md`
24
22
  **Output:** `.design/branding/{brand}/discover/` (4 chunks + INDEX.md)
25
- **Agent:** `gsp-researcher`
23
+ **Agent:** `gsp-brand-researcher`
26
24
  </objective>
27
25
 
28
- <execution_context>
29
- @${CLAUDE_SKILL_DIR}/../../templates/phases/discover.md
30
- @${CLAUDE_SKILL_DIR}/design-trends.md (index only — agent loads specific trend files only after open research validates relevance)
31
- @${CLAUDE_SKILL_DIR}/../gsp-style/styles/INDEX.yml
32
- </execution_context>
33
-
34
26
  <rules>
35
27
  - Always use `AskUserQuestion` for user-facing questions — never raw text prompts
36
28
  - One decision per question — never batch multiple questions in a single message
@@ -60,15 +52,23 @@ While preparing the agent context, use `WebFetch` with `run_in_background: true`
60
52
 
61
53
  ## Step 3: Spawn researcher
62
54
 
55
+ ### Load references and agent methodology
56
+ Read these files and hold their content for inlining into the agent prompt:
57
+ - `${CLAUDE_SKILL_DIR}/../../templates/phases/discover.md` — discover output template
58
+ - `${CLAUDE_SKILL_DIR}/design-trends.md` — design trends index (agent loads specific trend files only after open research validates relevance)
59
+ - `${CLAUDE_SKILL_DIR}/../gsp-style/styles/INDEX.yml` — style presets index
60
+ - `${CLAUDE_SKILL_DIR}/methodology/gsp-brand-researcher.md` — agent methodology
61
+
63
62
  Include any pre-fetched competitor content in the agent context.
64
63
 
65
- Spawn the `gsp-researcher` agent with:
64
+ Spawn the `gsp-brand-researcher` agent with:
66
65
  - BRIEF.md content
67
- - Discover output template
68
- - Design trends index (reference only agent loads specific trend files only after open research validates them)
69
- - Style presets index (`INDEX.yml`) — agent matches research findings to existing aesthetics
66
+ - **Content of** discover output template (loaded above)
67
+ - **Content of** design trends index (loaded above — reference only, agent loads specific trend files only after open research validates them)
68
+ - **Content of** style presets index (loaded above) — agent matches research findings to existing aesthetics
70
69
  - User-confirmed scope adjustments
71
70
  - `brand_mode` from config.json
71
+ - **Agent methodology** (loaded above)
72
72
  - Audit chunks if they exist
73
73
  - **Output path:** `{BRAND_PATH}/discover/`
74
74
 
@@ -1,13 +1,3 @@
1
- ---
2
- name: gsp-researcher
3
- description: Researches market landscape and competitive positioning. Spawned by /gsp-brand-research.
4
- tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch
5
- disallowedTools: Edit
6
- maxTurns: 50
7
- permissionMode: acceptEdits
8
- color: magenta
9
- ---
10
-
11
1
  <role>
12
2
  You are a GSP design researcher spawned by `/gsp-brand-research`.
13
3
 
@@ -1,9 +1,7 @@
1
1
  ---
2
2
  name: gsp-brand-strategy
3
- description: Define positioning, voice, and messaging
3
+ description: Define positioning, voice, and messaging (creative phase — benefits from capable models)
4
4
  user-invocable: true
5
- model: opus
6
- effort: high
7
5
  allowed-tools:
8
6
  - Read
9
7
  - Write
@@ -25,13 +23,6 @@ Define brand strategy and voice through interactive creative direction, then pro
25
23
  **Agent:** `gsp-brand-strategist`
26
24
  </objective>
27
25
 
28
- <execution_context>
29
- @${CLAUDE_SKILL_DIR}/../../templates/phases/strategy.md
30
- @${CLAUDE_SKILL_DIR}/brand-archetypes.md
31
- @${CLAUDE_SKILL_DIR}/positioning-frameworks.md
32
- @${CLAUDE_SKILL_DIR}/voice-tone.md
33
- </execution_context>
34
-
35
26
  <rules>
36
27
  - Always use `AskUserQuestion` for user-facing questions — never raw text prompts
37
28
  - One decision per question — never batch multiple questions in a single message
@@ -103,14 +94,23 @@ If the Style Affinity section doesn't exist or discover was skipped, skip this s
103
94
 
104
95
  ## Step 6: Spawn strategist
105
96
 
97
+ ### Load references and agent methodology
98
+ Read these files and hold their content for inlining into the agent prompt:
99
+ - `${CLAUDE_SKILL_DIR}/../../templates/phases/strategy.md` — strategy output template
100
+ - `${CLAUDE_SKILL_DIR}/brand-archetypes.md` — brand archetypes reference
101
+ - `${CLAUDE_SKILL_DIR}/positioning-frameworks.md` — positioning frameworks reference
102
+ - `${CLAUDE_SKILL_DIR}/voice-tone.md` — voice-tone reference
103
+ - `${CLAUDE_SKILL_DIR}/methodology/gsp-brand-strategist.md` — agent methodology
104
+
106
105
  With confirmed archetype, positioning, and voice direction, spawn the `gsp-brand-strategist` agent with:
107
106
  - BRIEF.md content
108
107
  - All discover chunks
109
108
  - Confirmed archetype, positioning, voice direction
110
- - Strategy output template
111
- - Brand archetypes reference
112
- - Positioning frameworks reference
113
- - Voice-tone reference
109
+ - **Content of** strategy output template (loaded above)
110
+ - **Content of** brand archetypes reference (loaded above)
111
+ - **Content of** positioning frameworks reference (loaded above)
112
+ - **Content of** voice-tone reference (loaded above)
113
+ - **Agent methodology** (loaded above)
114
114
  - Audit chunks if they exist: `evolution-map.md`, `equity-analysis.md`
115
115
  - `brand_mode` from config.json
116
116
  - `style_base` from config.json (may be empty)
@@ -0,0 +1,65 @@
1
+ <role>
2
+ You are a GSP brand strategist spawned by `/gsp-brand-strategy`.
3
+
4
+ Act as Head of Strategy at a top branding agency. Define the strategic foundation — positioning, archetype, platform, voice, and messaging — that the visual identity will be built on.
5
+
6
+ </role>
7
+
8
+ <inputs>
9
+ - BRIEF.md content (business, personas, brand essence, competitive landscape)
10
+ - All 4 discover chunks
11
+ - Audit chunks (if exist): evolution-map.md, equity-analysis.md
12
+ - User-confirmed archetype, positioning, and voice direction
13
+ - brand_mode from config.json
14
+ - style_base from config.json (array of preset slugs, may be empty)
15
+ - Output path
16
+ </inputs>
17
+
18
+ <methodology>
19
+ 1. **Absorb context** — BRIEF.md for business/personas/essence, discover chunks for market/competition
20
+ 2. **Define positioning** — 2-axis map, plot competitors, claim white space. Statement formula: "For {audience} who {need}, {brand} is the {category} that {benefit} because {reason}"
21
+ 3. **Lock archetype** — primary + secondary from 12 Jungian archetypes. Justify with persona alignment and competitive gaps. Note shadow traits. If `style_base` is set, note the style direction in the visual tendencies section — connect the preset's character to the archetype (e.g. "The Sage archetype's clarity aligns with swiss-minimalist's structured restraint").
22
+ 4. **Build platform** — Purpose (Why), Vision, Mission, Values, Promise. Each must be specific and ownable.
23
+ 5. **Define voice** — 3-5 attributes with means/doesn't mean/examples. Map tone spectrum with context shifts. Include style rules.
24
+ 6. **Build messaging** — core message → 3 supporting messages with proof points → elevator pitch → tagline directions → audience-segment mapping
25
+
26
+ ## Quality Standards
27
+ - Archetype must align with persona needs and competitive gaps
28
+ - Positioning axes must matter to the target audience
29
+ - Values must be behavioral (actionable), not aspirational platitudes
30
+ - Voice attributes must be specific enough that two writers produce similar-sounding content
31
+ - Messaging must trace back to persona frustrations and aspirations from BRIEF.md
32
+ </methodology>
33
+
34
+ <references>
35
+ - `references/brand-archetypes.md` — 12 archetypes with traits, shadows, visual tendencies
36
+ - `references/positioning-frameworks.md` — positioning maps, brand pyramid
37
+ - `references/voice-tone.md` — voice attribute framework, tone spectrum, messaging matrix
38
+ </references>
39
+
40
+ <output>
41
+ Write 5 chunks + INDEX.md to the strategy directory (path provided by the skill that spawned you).
42
+
43
+ Each chunk follows the standard chunk format.
44
+
45
+ 1. **`positioning.md`** — positioning statement + 2-axis map with competitors plotted + white space analysis
46
+ 2. **`archetype.md`** — primary + secondary archetype, rationale, shadow traits, communication style, visual tendencies
47
+ 3. **`brand-platform.md`** — Purpose (Why), Vision, Mission, Values, Promise
48
+ 4. **`voice-and-tone.md`** — voice attributes (means/doesn't mean/examples), tone spectrum (scales + context shifts), do/don't chart, style rules, nomenclature
49
+ 5. **`messaging.md`** — core message, 3 supporting messages with proof points, elevator pitch, 2-3 tagline directions, audience-segment mapping per persona
50
+
51
+ ### INDEX.md
52
+
53
+ ```markdown
54
+ # Strategy
55
+ > Phase: strategy | Brand: {name} | Generated: {DATE}
56
+
57
+ | Chunk | File | ~Lines |
58
+ |-------|------|--------|
59
+ | Positioning | [positioning.md](./positioning.md) | ~{N} |
60
+ | Archetype | [archetype.md](./archetype.md) | ~{N} |
61
+ | Brand Platform | [brand-platform.md](./brand-platform.md) | ~{N} |
62
+ | Voice & Tone | [voice-and-tone.md](./voice-and-tone.md) | ~{N} |
63
+ | Messaging | [messaging.md](./messaging.md) | ~{N} |
64
+ ```
65
+ </output>
@@ -2,14 +2,11 @@
2
2
  name: gsp-brand-sync
3
3
  description: Sync brand to match a project's shipped state — tokens, voice, visual patterns, personality
4
4
  user-invocable: true
5
- model: opus
6
- effort: high
7
5
  allowed-tools:
8
6
  - Read
9
7
  - Write
10
8
  - Edit
11
9
  - Bash
12
- - Agent
13
10
  - Glob
14
11
  - Grep
15
12
  - AskUserQuestion
@@ -29,7 +26,6 @@ Compare a project's shipped state against its source brand across all dimensions
29
26
 
30
27
  **Input:** A project with a linked brand (via project config or `.design/branding/`)
31
28
  **Output:** Updated brand tokens, strategy chunks, identity chunks, and style preset (as applicable)
32
- **Agent:** `gsp-brand-syncer`
33
29
  </objective>
34
30
 
35
31
  <execution_context>
@@ -53,18 +49,72 @@ Check that the brand has at least one of: `patterns/{brand-name}.yml`, `strategy
53
49
 
54
50
  Verify the project codebase has shipped output — source files with components, copy, or styles.
55
51
 
56
- ## Step 1: Spawn syncer agent
52
+ ## Step 1: Analyze divergences
57
53
 
58
54
  ```bash
59
55
  mkdir -p {BRAND_PATH}/sync
60
56
  ```
61
57
 
62
- Spawn the `gsp-brand-syncer` agent with:
63
- - `BRAND_PATH` and all available brand files ({brand-name}.yml, strategy chunks, identity chunks, foundation chunks)
64
- - Project codebase location (working directory)
65
- - **Output path:** `{BRAND_PATH}/sync/`
58
+ Run 4-dimension analysis directly. Read brand files first: `{BRAND_PATH}/patterns/{brand-name}.yml`, strategy chunks, identity chunks.
66
59
 
67
- The agent writes `SYNC-REPORT.md` with divergences across four dimensions: tokens, voice & tone, visual patterns, personality. Each divergence includes evidence (file paths, line numbers, before/after values).
60
+ ### Dimension 1: Token diff (quantitative)
61
+
62
+ Grep for token values in: `tailwind.config.*` (`theme.extend`), CSS custom properties in globals/variables/theme CSS, theme/token JS/TS files, hardcoded values in components. Compare each against brand `.yml`. Classify: **Changed** (value differs), **Added** (in project, not brand), **Removed** (in brand, not project). Skip equivalents and framework defaults.
63
+
64
+ ### Dimension 2: Voice & tone (qualitative)
65
+
66
+ Read `{BRAND_PATH}/strategy/voice-and-tone.md` for attributes and tone spectrum. Grep project for user-facing strings — headings, button labels, error states, tooltips, onboarding, meta content. Sample 10-15 representative strings. Assess each voice attribute: does copy match? Note drift direction ("more casual", "more technical"). Flag new patterns not in spec.
67
+
68
+ ### Dimension 3: Visual patterns (qualitative)
69
+
70
+ Read brand foundations and identity chunks. Glob/Grep components for layout patterns, component styling (radius, shadow, states), color application, typography hierarchy, imagery, motion. Classify each: **Aligned**, **Evolved** (refined), **Drifted** (diverged), **New** (not in brand).
71
+
72
+ ### Dimension 4: Personality (qualitative)
73
+
74
+ Read `{BRAND_PATH}/strategy/archetype.md` and `positioning.md`. Assess holistically: does the product feel like the archetype? Has positioning shifted? Are shadow traits showing? Classify: **On-brand**, **Shifted** (name direction), **Stronger**. Connect evidence from dimensions 1-3.
75
+
76
+ ### Quality standards
77
+
78
+ - Token divergences: exact values (brand vs project)
79
+ - Voice/visual assessments: cite file:line evidence
80
+ - Personality: connect to specific patterns from other dimensions
81
+ - Only flag genuine divergences, not noise
82
+
83
+ ### Write report
84
+
85
+ Write `SYNC-REPORT.md` to `{BRAND_PATH}/sync/` with this structure:
86
+
87
+ ```markdown
88
+ # Brand Sync Report
89
+ > Brand: {name} | Project: {directory} | Generated: {DATE}
90
+
91
+ ## Tokens
92
+ | Token | Brand Value | Project Value | Status |
93
+ |-------|------------|---------------|--------|
94
+
95
+ **Summary:** {N} changed · {N} added · {N} removed
96
+
97
+ ## Voice & Tone
98
+ ### Divergences
99
+ - **{attribute}** — {aligned|drifted|new}
100
+ - Brand: "{spec}" | Project: "{reality}" | Direction: {drift}
101
+ - Evidence: {file:line}
102
+ ### Overall: {N}/{N} attributes aligned
103
+
104
+ ## Visual Patterns
105
+ ### Divergences
106
+ - **{pattern}** — {aligned|evolved|drifted|new}
107
+ - Brand: "{spec}" | Project: "{reality}"
108
+ - Evidence: {file:line}
109
+
110
+ ## Personality
111
+ - **Archetype:** {on-brand|shifted|stronger} — {assessment + evidence}
112
+ - **Positioning:** {holds|shifted} — {assessment if shifted}
113
+
114
+ ## Update Map
115
+ | Dimension | File to Update | Change |
116
+ |-----------|---------------|--------|
117
+ ```
68
118
 
69
119
  ## Step 2: Present findings
70
120
 
@@ -2,7 +2,6 @@
2
2
  name: gsp-color
3
3
  description: "Design color systems — palettes, contrast, semantic mapping, dark mode"
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Write
@@ -2,7 +2,6 @@
2
2
  name: gsp-design-system
3
3
  description: Scan and document the existing design system state
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Write
@@ -2,7 +2,6 @@
2
2
  name: gsp-doctor
3
3
  description: Check project health
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Glob
@@ -2,7 +2,6 @@
2
2
  name: gsp-help
3
3
  description: Show all skills
4
4
  user-invocable: true
5
- model: sonnet
6
5
  ---
7
6
  <objective>
8
7
  Display the complete GSP skill reference as plain text.
@@ -68,7 +67,6 @@ Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 in
68
67
 
69
68
  /gsp-doctor check project health
70
69
  /gsp-update update GSP to latest version
71
- /gsp-launch create launch and marketing assets (optional)
72
70
 
73
71
  ─── Easter Eggs ────────────────────
74
72
 
@@ -2,7 +2,6 @@
2
2
  name: gsp-icons
3
3
  description: Design icon systems — library selection, sizing, containers, custom SVG direction
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Write
@@ -2,7 +2,6 @@
2
2
  name: gsp-logo
3
3
  description: Design logo directions — concepts, variations, usage rules, and clear space
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Write
@@ -2,7 +2,6 @@
2
2
  name: gsp-phase-transition
3
3
  description: "Render phase transition screens — pipeline progress, completion banner, file tree. Invoked by pipeline skills at phase completion."
4
4
  user-invocable: false
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Glob
@@ -65,7 +64,6 @@ If audit phase exists (evolve mode), prepend: `audit ─── `
65
64
 
66
65
  `brief ─── research ─── design ─── critique ─── build ─── review`
67
66
 
68
- If launch is in scope, append: ` ─── launch`
69
67
 
70
68
  ## Step 3: Completion banner + file tree
71
69
 
@@ -116,7 +114,6 @@ If all phases in the pipeline are complete, add ` fully pretty.` after the divi
116
114
  | critique | designs critiqued |
117
115
  | build | code implemented |
118
116
  | review | implementation validated |
119
- | launch | campaign assets created |
120
117
 
121
118
  ## Step 4: Return
122
119
 
@@ -2,11 +2,10 @@
2
2
  name: gsp-pretty
3
3
  description: "Surprise ASCII art in the terminal"
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Bash
9
- - Agent
8
+ - Write
10
9
  ---
11
10
  <context>
12
11
  Easter egg command. Instantly renders a surprise piece of ASCII/Unicode terminal art. Context-aware — riffs on what the user is working on.
@@ -19,13 +18,12 @@ Surprise the user with a piece of terminal art that's relevant to their current
19
18
 
20
19
  **Input:** None explicit — you gather context yourself
21
20
  **Output:** Rendered art in the terminal
22
- **Agent:** `gsp-ascii-artist`
23
21
  </objective>
24
22
 
25
23
  <process>
26
24
  ## Step 1: Gather context clues
27
25
 
28
- Before spawning the artist, quickly gather signal about what the user is working on. Check 2-3 of these (pick whichever are most likely to yield something interesting):
26
+ Quickly gather signal about what the user is working on. Check 2-3 of these (pick whichever are most likely to yield something interesting):
29
27
 
30
28
  - `git log --oneline -5` — recent commit messages
31
29
  - The project's `package.json` name/description, or `README.md` first lines
@@ -33,29 +31,32 @@ Before spawning the artist, quickly gather signal about what the user is working
33
31
  - The current branch name
34
32
  - The current date/time and day of week
35
33
 
36
- Don't overthink it — spend 10 seconds gathering, not 10 minutes. You just need a seed for the artist.
34
+ Don't overthink it — spend 10 seconds gathering, not 10 minutes. You just need a seed.
37
35
 
38
36
  ## Step 2: Create surprise art
39
37
 
40
- Spawn the `gsp-ascii-artist` agent with this prompt, filling in the context you found:
41
-
42
- > Freestyle a single piece of terminal art. Medium size (5-15 lines). Render it via `node -e` so the user sees it directly in their terminal.
43
- >
44
- > **Context from the user's session:**
45
- > [INSERT 2-3 bullet points of what you found — project name, recent work, current date, etc.]
46
- >
47
- > **Direction:** Use that context as inspiration, not as a label. Do NOT make art about GSP, branding, or the tool itself. Be witty, culturally aware, and open-minded. The art should feel like a clever aside from someone who's been watching what you're building — not a logo for it.
48
- >
49
- > Some vibes to riff on (pick one or invent your own):
50
- > - A tiny scene with a punchline (visual wit)
51
- > - A metaphor for what the user is working on right now
52
- > - Something seasonal or timely for today's date
53
- > - A tribute to a classic (art, music, film, code) that connects to the context
54
- > - An abstract mood piece — rain, neon, space, dawn
55
- > - A visual one-liner that makes someone smile
56
- > - Something completely unexpected
57
- >
58
- > IMPORTANT: Only create ONE piece. Render it with `node -e` so it displays in the terminal. Then return the console.log() code snippet so the user can reuse it.
38
+ Read `${CLAUDE_SKILL_DIR}/../gsp-art/terminal-art.md` for the full ANSI/Unicode reference if needed.
39
+
40
+ Freestyle a single piece of terminal art. Medium size (5-15 lines).
41
+
42
+ **Creative direction:** Use the context as inspiration, not as a label. Do NOT make art about GSP, branding, or the tool itself. Be witty, culturally aware, and open-minded. The art should feel like a clever aside from someone who's been watching what you're building — not a logo for it.
43
+
44
+ **Vibes to riff on** (pick one or invent your own):
45
+ - A tiny scene with a punchline (visual wit)
46
+ - A metaphor for what the user is working on right now
47
+ - Something seasonal or timely for today's date
48
+ - A tribute to a classic (art, music, film, code) that connects to the context
49
+ - An abstract mood piece rain, neon, space, dawn
50
+ - A visual one-liner that makes someone smile
51
+ - Something completely unexpected
52
+
53
+ **Process:**
54
+ 1. Pick a technique — gradient bars, scatter/splatter, block text, box frames, shadow/depth, negative space
55
+ 2. Draft in plain text first, then add ANSI color (dim for decoration, bold for focal, cyan accents, yellow sparingly, avoid red/green)
56
+ 3. Test via `node -e` so the user sees it directly in their terminal
57
+ 4. Provide the `console.log()` code snippet so the user can reuse it
58
+
59
+ **Constraints:** max 80 columns wide, max 25 lines tall, no emoji, always reset ANSI (`\x1b[0m`), readable without color, respect `NO_COLOR`.
59
60
 
60
61
  ## Step 3: Done
61
62