get-shit-pretty 0.6.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +7 -12
  2. package/bin/install.js +125 -84
  3. package/gsp/agents/gsp-accessibility-auditor.md +4 -4
  4. package/gsp/agents/gsp-ascii-artist.md +2 -2
  5. package/gsp/agents/gsp-brand-auditor.md +3 -3
  6. package/gsp/agents/gsp-brand-engineer.md +131 -0
  7. package/gsp/agents/gsp-brand-strategist.md +3 -3
  8. package/gsp/agents/gsp-brand-syncer.md +8 -7
  9. package/gsp/agents/gsp-builder.md +49 -6
  10. package/gsp/agents/gsp-campaign-director.md +3 -4
  11. package/gsp/agents/gsp-creative-director.md +80 -0
  12. package/gsp/agents/gsp-critic.md +100 -18
  13. package/gsp/agents/gsp-designer.md +52 -5
  14. package/gsp/agents/gsp-project-researcher.md +4 -4
  15. package/gsp/agents/gsp-researcher.md +5 -5
  16. package/gsp/agents/gsp-reviewer.md +3 -3
  17. package/gsp/agents/gsp-scoper.md +3 -3
  18. package/gsp/hooks/hooks.json +5 -5
  19. package/gsp/skills/get-shit-pretty/SKILL.md +10 -9
  20. package/gsp/skills/gsp-accessibility/SKILL.md +12 -12
  21. package/gsp/skills/gsp-accessibility-audit/SKILL.md +8 -9
  22. package/gsp/skills/gsp-add-reference/SKILL.md +6 -1
  23. package/gsp/skills/gsp-art/SKILL.md +6 -1
  24. package/gsp/skills/gsp-brand-audit/SKILL.md +5 -5
  25. package/gsp/skills/gsp-brand-guidelines/SKILL.md +233 -0
  26. package/gsp/skills/gsp-brand-guidelines/token-mapping.md +329 -0
  27. package/gsp/skills/gsp-brand-identity/SKILL.md +29 -20
  28. package/gsp/skills/gsp-brand-refine/SKILL.md +30 -23
  29. package/gsp/skills/gsp-brand-research/SKILL.md +4 -4
  30. package/gsp/{references → skills/gsp-brand-research}/design-trends.md +4 -4
  31. package/gsp/skills/gsp-brand-strategy/SKILL.md +7 -7
  32. package/gsp/skills/gsp-brand-sync/SKILL.md +10 -10
  33. package/gsp/skills/gsp-brand-sync/chunk-format.md +79 -0
  34. package/gsp/skills/gsp-color/SKILL.md +73 -0
  35. package/gsp/skills/gsp-color/chunk-format.md +79 -0
  36. package/gsp/skills/{gsp-palette/SKILL.md → gsp-color/domains/palette.md} +31 -101
  37. package/gsp/skills/gsp-color/domains/system.md +123 -0
  38. package/gsp/skills/gsp-design-system/SKILL.md +9 -4
  39. package/gsp/skills/gsp-doctor/SKILL.md +25 -18
  40. package/gsp/skills/gsp-help/SKILL.md +30 -29
  41. package/gsp/skills/gsp-icons/SKILL.md +108 -0
  42. package/gsp/skills/gsp-icons/chunk-format.md +79 -0
  43. package/gsp/skills/gsp-launch/SKILL.md +3 -4
  44. package/gsp/skills/gsp-logo/SKILL.md +173 -0
  45. package/gsp/skills/gsp-logo/chunk-format.md +79 -0
  46. package/gsp/skills/gsp-phase-transition/SKILL.md +124 -0
  47. package/gsp/skills/gsp-pretty/SKILL.md +2 -2
  48. package/gsp/skills/gsp-progress/SKILL.md +20 -20
  49. package/gsp/skills/gsp-project-brief/SKILL.md +8 -9
  50. package/gsp/skills/gsp-project-build/SKILL.md +30 -25
  51. package/gsp/skills/gsp-project-critique/SKILL.md +17 -18
  52. package/gsp/{references → skills/gsp-project-critique}/visual-taste.md +1 -1
  53. package/gsp/skills/gsp-project-design/SKILL.md +18 -18
  54. package/gsp/skills/gsp-project-research/SKILL.md +6 -7
  55. package/gsp/skills/gsp-project-review/SKILL.md +8 -10
  56. package/gsp/skills/gsp-scaffold/SKILL.md +3 -3
  57. package/gsp/skills/gsp-start/SKILL.md +15 -15
  58. package/gsp/{references → skills/gsp-start}/questioning.md +1 -1
  59. package/gsp/skills/gsp-style/SKILL.md +43 -45
  60. package/gsp/skills/gsp-style/chunk-format.md +79 -0
  61. package/gsp/skills/gsp-style/style-preset-schema.md +124 -0
  62. package/gsp/skills/gsp-style/styles/INDEX.yml +1 -1
  63. package/gsp/skills/gsp-style/styles/academia.yml +80 -0
  64. package/gsp/skills/gsp-style/styles/art-deco.yml +81 -0
  65. package/gsp/skills/gsp-style/styles/bauhaus.yml +78 -0
  66. package/gsp/skills/gsp-style/styles/bold-typography.yml +73 -0
  67. package/gsp/skills/gsp-style/styles/botanical.yml +78 -0
  68. package/gsp/skills/gsp-style/styles/claymorphism.yml +84 -0
  69. package/gsp/skills/gsp-style/styles/cyberpunk.yml +87 -0
  70. package/gsp/skills/gsp-style/styles/enterprise.yml +81 -0
  71. package/gsp/skills/gsp-style/styles/flat-design.yml +67 -0
  72. package/gsp/skills/gsp-style/styles/fluent.yml +82 -0
  73. package/gsp/skills/gsp-style/styles/glassmorphism.yml +83 -0
  74. package/gsp/skills/gsp-style/styles/humanist-literary.yml +74 -0
  75. package/gsp/skills/gsp-style/styles/industrial.yml +82 -0
  76. package/gsp/skills/gsp-style/styles/kinetic.yml +94 -0
  77. package/gsp/skills/gsp-style/styles/liquid-glass.yml +91 -0
  78. package/gsp/skills/gsp-style/styles/luxury.yml +83 -0
  79. package/gsp/skills/gsp-style/styles/material.yml +83 -0
  80. package/gsp/skills/gsp-style/styles/maximalism.yml +92 -0
  81. package/gsp/skills/gsp-style/styles/minimal-dark.yml +75 -0
  82. package/gsp/skills/gsp-style/styles/modern-dark.yml +88 -0
  83. package/gsp/skills/gsp-style/styles/monochrome.yml +68 -0
  84. package/gsp/skills/gsp-style/styles/neubrutalism.yml +83 -0
  85. package/gsp/skills/gsp-style/styles/neumorphism.yml +77 -0
  86. package/gsp/skills/gsp-style/styles/newsprint.yml +81 -0
  87. package/gsp/skills/gsp-style/styles/organic.yml +77 -0
  88. package/gsp/skills/gsp-style/styles/playful-geometric.yml +90 -0
  89. package/gsp/skills/gsp-style/styles/professional.yml +67 -0
  90. package/gsp/skills/gsp-style/styles/retro.yml +85 -0
  91. package/gsp/skills/gsp-style/styles/saas.yml +83 -0
  92. package/gsp/skills/gsp-style/styles/sketch.yml +86 -0
  93. package/gsp/skills/gsp-style/styles/swiss-minimalist.yml +69 -0
  94. package/gsp/skills/gsp-style/styles/terminal.yml +83 -0
  95. package/gsp/skills/gsp-style/styles/vaporwave.yml +84 -0
  96. package/gsp/skills/gsp-style/styles/web3.yml +82 -0
  97. package/gsp/skills/gsp-typography/SKILL.md +70 -0
  98. package/gsp/skills/gsp-typography/chunk-format.md +79 -0
  99. package/gsp/skills/gsp-typography/domains/pairing.md +109 -0
  100. package/gsp/skills/gsp-typography/domains/scale.md +227 -0
  101. package/gsp/skills/gsp-typography/domains/system.md +108 -0
  102. package/gsp/skills/gsp-update/SKILL.md +1 -2
  103. package/gsp/skills/gsp-visuals/SKILL.md +82 -0
  104. package/gsp/skills/gsp-visuals/chunk-format.md +79 -0
  105. package/gsp/skills/gsp-visuals/domains/3d.md +127 -0
  106. package/gsp/skills/gsp-visuals/domains/imagery.md +145 -0
  107. package/gsp/skills/gsp-visuals/domains/textures.md +138 -0
  108. package/gsp/skills/gsp-visuals/domains/video.md +107 -0
  109. package/gsp/templates/branding/config.json +1 -1
  110. package/gsp/templates/branding/roadmap.md +9 -9
  111. package/gsp/templates/exports-index.md +8 -8
  112. package/gsp/templates/phases/brief.md +1 -1
  113. package/gsp/templates/phases/build.md +1 -1
  114. package/gsp/templates/phases/critique.md +1 -1
  115. package/gsp/templates/phases/design.md +2 -2
  116. package/gsp/templates/phases/discover.md +1 -1
  117. package/gsp/templates/phases/identity.md +1 -1
  118. package/gsp/templates/phases/launch.md +1 -1
  119. package/gsp/templates/phases/patterns.md +60 -71
  120. package/gsp/templates/phases/research.md +1 -1
  121. package/gsp/templates/phases/review.md +1 -1
  122. package/gsp/templates/phases/strategy.md +1 -1
  123. package/gsp/templates/phases/style.md +158 -0
  124. package/gsp/templates/projects/config.json +1 -1
  125. package/gsp/templates/projects/roadmap.md +7 -7
  126. package/gsp/templates/projects/state.md +1 -1
  127. package/package.json +1 -2
  128. package/.claude-plugin/plugin.json +0 -24
  129. package/gsp/agents/gsp-identity-designer.md +0 -74
  130. package/gsp/agents/gsp-pattern-architect.md +0 -189
  131. package/gsp/prompts/01-design-system-architect.md +0 -19
  132. package/gsp/prompts/02-brand-identity-creator.md +0 -16
  133. package/gsp/prompts/03-ui-ux-pattern-master.md +0 -21
  134. package/gsp/prompts/04-marketing-asset-factory.md +0 -14
  135. package/gsp/prompts/05-implementation-spec-expert.md +0 -15
  136. package/gsp/prompts/06-design-critique-partner.md +0 -14
  137. package/gsp/prompts/07-design-trend-synthesizer.md +0 -3
  138. package/gsp/prompts/08-accessibility-auditor.md +0 -23
  139. package/gsp/prompts/09-design-to-code-translator.md +0 -49
  140. package/gsp/prompts/10-project-scoper.md +0 -17
  141. package/gsp/prompts/11-deliverable-reviewer.md +0 -18
  142. package/gsp/prompts/12-project-researcher.md +0 -18
  143. package/gsp/references/phase-transitions.md +0 -132
  144. package/gsp/references/style-preset-schema.md +0 -63
  145. package/gsp/skills/gsp-brand-patterns/SKILL.md +0 -240
  146. package/gsp/skills/gsp-typescale/SKILL.md +0 -234
  147. /package/gsp/{references → skills/gsp-accessibility-audit}/wcag-checklist.md +0 -0
  148. /package/gsp/{references → skills/gsp-art}/terminal-art.md +0 -0
  149. /package/gsp/{references → skills/gsp-brand-audit}/chunk-format.md +0 -0
  150. /package/gsp/{references → skills/gsp-brand-guidelines}/design-tokens.md +0 -0
  151. /package/gsp/{references → skills/gsp-brand-strategy}/brand-archetypes.md +0 -0
  152. /package/gsp/{references → skills/gsp-brand-strategy}/brand-prism.md +0 -0
  153. /package/gsp/{references → skills/gsp-brand-strategy}/positioning-frameworks.md +0 -0
  154. /package/gsp/{references → skills/gsp-brand-strategy}/voice-tone.md +0 -0
  155. /package/gsp/{references → skills/gsp-color/references}/color-composition.md +0 -0
  156. /package/gsp/{references → skills/gsp-project-build}/visual-effects.md +0 -0
  157. /package/gsp/{references → skills/gsp-project-critique}/anti-patterns.md +0 -0
  158. /package/gsp/{references → skills/gsp-project-critique}/nielsen-heuristics.md +0 -0
  159. /package/gsp/{references → skills/gsp-project-design}/apple-hig-patterns.md +0 -0
  160. /package/gsp/{references → skills/gsp-project-design}/block-patterns.md +0 -0
  161. /package/gsp/{references → skills/gsp-typography/references}/typography-scales.md +0 -0
@@ -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}/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,79 @@
1
+ # Chunk Format Reference
2
+
3
+ Standard format for all GSP phase output files. Chunks are the primary output — agents write chunks directly, not monoliths.
4
+
5
+ ## File Format
6
+
7
+ Every chunk follows this structure:
8
+
9
+ # {Section/Component/Screen Name}
10
+
11
+ > Phase: {phase} | Brand/Project: {name} | Generated: {DATE}
12
+
13
+ ---
14
+
15
+ {Content for this chunk}
16
+
17
+ ---
18
+
19
+ ## Related
20
+
21
+ - [{Related chunk name}]({relative-path-to-related-chunk})
22
+
23
+ ## Naming Conventions
24
+
25
+ - **Singular, kebab-case, lowercase:** "Buttons" → `button.md`, "Date Picker" → `date-picker.md`
26
+ - **Screen files:** `screen-{NN}-{kebab-case-name}.md` (e.g., `screen-01-home.md`)
27
+
28
+ ## INDEX.md Format
29
+
30
+ Each phase directory gets an INDEX.md manifest:
31
+
32
+ # {Phase Name}
33
+ > Phase: {phase} | Brand/Project: {name} | Generated: {DATE}
34
+
35
+ | Chunk | File | ~Lines |
36
+ |-------|------|--------|
37
+ | {Section} | [{filename}](./{filename}) | ~{N} |
38
+
39
+ Lightweight — just a lookup table. No prose.
40
+
41
+ ## Rules
42
+
43
+ - **Chunks are primary output** — agents write chunks directly to the phase directory
44
+ - **No monoliths** — do not write a single large file then re-chunk it
45
+ - **Size target:** 50-200 lines per chunk
46
+ - **Self-contained:** each chunk must be understandable without loading other chunks
47
+ - **Cross-references:** `## Related` section uses relative paths to related chunks
48
+ - **Idempotent:** re-running a phase regenerates all chunks in that phase directory
49
+
50
+ ## Output Budgets
51
+
52
+ Context is finite. Every line in a chunk is consumed by downstream agents. Budget accordingly.
53
+
54
+ ### Per-chunk budgets
55
+
56
+ | Chunk type | Target | Hard max | Notes |
57
+ |-----------|--------|----------|-------|
58
+ | Phase chunk (design, research, etc.) | 50-150 lines | 200 lines | Self-contained, one concept per chunk |
59
+ | INDEX.md | 10-30 lines | 50 lines | Lookup table only, no prose |
60
+ | BUILD-LOG.md | 50-100 lines | 150 lines | Summary + tables, not narrative |
61
+ | Component spec | 30-80 lines | 120 lines | Props, states, behavior — not full implementation |
62
+ | Screen spec | 80-150 lines | 200 lines | Layout, components, interactions, states |
63
+
64
+ ### Per-phase budgets (total across all chunks)
65
+
66
+ | Phase | Target total | Hard max | Typical chunks |
67
+ |-------|-------------|----------|----------------|
68
+ | Brief | 100-200 lines | 300 lines | 2-4 |
69
+ | Research | 200-400 lines | 600 lines | 5-8 |
70
+ | Design | 300-600 lines | 800 lines | 6-12 |
71
+ | Critique | 100-200 lines | 300 lines | 2-4 |
72
+ | Build log | 50-100 lines | 150 lines | 1 |
73
+ | Review | 100-200 lines | 300 lines | 2-4 |
74
+
75
+ ### Terminal output (inline skills)
76
+
77
+ - **Diagnostic** (doctor, progress): uncapped — user needs to see it, does not persist in agent context
78
+ - **Greeting/status** (start): 20-40 lines
79
+ - **Phase transitions**: 10-20 lines
@@ -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:
@@ -94,5 +93,5 @@ Update `{PROJECT_PATH}/STATE.md`:
94
93
 
95
94
  ## Step 4: Phase transition output
96
95
 
97
- Render phase transition (see `references/phase-transitions.md`). This is the final phase.
96
+ Invoke `/gsp-phase-transition` with phase `launch` and output directory `{PROJECT_PATH}/launch/`.
98
97
  </process>
@@ -0,0 +1,173 @@
1
+ ---
2
+ name: gsp-logo
3
+ description: Design logo directions — concepts, variations, usage rules, and clear space
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 logo director. You design logo system directions — concept, rationale, variations, and usage rules.
16
+
17
+ This is a standalone composable skill. It works two ways:
18
+ 1. **Standalone** — user runs `/gsp-logo` directly for logo exploration
19
+ 2. **As a building block** — the creative-director invokes this during the branding diamond to produce `logo-directions.md`
20
+
21
+ A logo system is more than a mark — it's a flexible identity that works at every size (favicon to billboard), in every context (light, dark, monochrome), and in every variation (primary, secondary, icon, wordmark).
22
+ </context>
23
+
24
+ <objective>
25
+ Design 3 distinct logo directions for a brand.
26
+
27
+ **Input:** Brand context (strategy, archetype, name) or user description
28
+ **Output:** `logo-directions.md` chunk with 3 directions, each with concept, rationale, variations, and usage rules
29
+ **Agent:** None — inline skill with structured questioning
30
+ </objective>
31
+
32
+ <execution_context>
33
+ @${CLAUDE_SKILL_DIR}/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 logo direction must connect to brand strategy — "This direction expresses X because the brand is Y"
40
+ - Directions must be genuinely different approaches, not variations of one idea
41
+ - Always specify how the logo works at extremes: 16px favicon AND full-width hero
42
+ - Include what the logo is NOT — anti-patterns prevent generic marks
43
+ </rules>
44
+
45
+ <process>
46
+ ## Step 0: Determine mode
47
+
48
+ | Input | Mode |
49
+ |-------|------|
50
+ | `/gsp-logo --enrich` | Enrich existing logo-directions.md |
51
+ | `/gsp-logo` | Interactive — design logo directions |
52
+
53
+ ### Enrich mode (`--enrich`)
54
+
55
+ Read existing `{BRAND_PATH}/identity/logo-directions.md`. For each direction, enrich with:
56
+ - Detailed construction geometry (grid, proportions, key relationships)
57
+ - Complete variation specs (primary, secondary, icon, wordmark, monochrome, reversed)
58
+ - Clear space rules expressed as fraction of mark height
59
+ - Minimum size calculations (full lockup vs icon breakpoint)
60
+ - Don'ts with specific examples
61
+
62
+ Overwrite `logo-directions.md` with enriched version. Preserve the creative concepts and rationale.
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}/strategy/positioning.md`, `{BRAND_PATH}/identity/color-system.md` if they exist. Use brand strategy to drive logo concepts.
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 directions from strategy).
72
+
73
+ ## Step 1: Interactive mode (no brand context)
74
+
75
+ Gather logo direction through questions. One `AskUserQuestion` at a time:
76
+
77
+ 1. What's the brand name? (open-ended)
78
+ 2. What does the brand do, and for whom? (open-ended — infer personality)
79
+ 3. Logo energy — use `AskUserQuestion`:
80
+ - **Bold & geometric** — "strong shapes, confident, modern"
81
+ - **Elegant & refined** — "thin strokes, classic, understated"
82
+ - **Playful & expressive** — "organic, hand-crafted feel, personality"
83
+ - **Technical & precise** — "grid-based, systematic, engineered"
84
+ - **Minimal & typographic** — "the name IS the logo, pure type"
85
+ 4. Any existing marks or elements to consider? (open-ended — "no" is fine)
86
+
87
+ ## Step 2: Design 3 directions
88
+
89
+ Each direction must be a genuinely different approach — not three variations of the same idea:
90
+
91
+ ### Per direction, define:
92
+
93
+ - **Concept name** — a memorable label (e.g., "The Architect", "Living Mark", "Pure Type")
94
+ - **Concept description** — what the mark represents and why. 2-3 sentences max.
95
+ - **Strategic rationale** — connects to brand archetype/positioning: "This direction expresses [strategy element] because..."
96
+ - **Mark type** — wordmark, lettermark, symbol, combination mark, emblem, abstract
97
+ - **Construction** — key geometric relationships, grid alignment, proportions
98
+ - **Variations:**
99
+ - Primary (full lockup)
100
+ - Secondary (compact/stacked)
101
+ - Icon (standalone mark, works at 16px)
102
+ - Wordmark (type only, no symbol)
103
+ - Monochrome (single color)
104
+ - Reversed (on dark backgrounds)
105
+ - **Clear space** — minimum padding expressed as fraction of mark height (e.g., "0.5x mark height on all sides")
106
+ - **Minimum size** — smallest size before the mark breaks down (e.g., "24px for full lockup, 16px for icon")
107
+ - **Don'ts** — specific anti-patterns for this direction (stretching, recoloring, busy backgrounds, etc.)
108
+
109
+ ### Direction diversity
110
+
111
+ Ensure the 3 directions span different mark types. If one is a wordmark, another should be a symbol-based mark. If one is geometric, another should be organic. Give the user a real choice, not three flavors of the same thing.
112
+
113
+ ## Step 3: Write logo-directions.md
114
+
115
+ Resolve output path:
116
+ - Within a brand: `{BRAND_PATH}/identity/logo-directions.md`
117
+ - Within a project: `{PROJECT_PATH}/references/logo-directions.md`
118
+ - Standalone: display output, offer to save
119
+
120
+ Write following `chunk-format.md` format. Target: 100-140 lines.
121
+
122
+ Structure:
123
+ ```markdown
124
+ # Logo Directions
125
+
126
+ > Phase: identity | Brand: {name} | Generated: {DATE}
127
+
128
+ ---
129
+
130
+ ## Direction 1: {Concept Name}
131
+
132
+ **Concept:** {description}
133
+ **Rationale:** {connects to strategy}
134
+ **Mark type:** {type}
135
+ **Construction:** {geometric relationships}
136
+
137
+ ### Variations
138
+ {primary, secondary, icon, wordmark, monochrome, reversed}
139
+
140
+ ### Usage Rules
141
+ - Clear space: {rule}
142
+ - Minimum size: {rule}
143
+ - Don'ts: {anti-patterns}
144
+
145
+ ## Direction 2: {Concept Name}
146
+ {same structure}
147
+
148
+ ## Direction 3: {Concept Name}
149
+ {same structure}
150
+
151
+ ---
152
+
153
+ ## Related
154
+ - [color-system.md](./color-system.md)
155
+ - [typography.md](./typography.md)
156
+ ```
157
+
158
+ ## Step 4: Completion
159
+
160
+ Display summary:
161
+ ```
162
+ /gsp-logo — 3 directions defined
163
+
164
+ 1. {concept name} {mark type} — {one-line concept}
165
+ 2. {concept name} {mark type} — {one-line concept}
166
+ 3. {concept name} {mark type} — {one-line concept}
167
+ ```
168
+
169
+ Use `AskUserQuestion`:
170
+ - **Continue to identity** — proceed with `/gsp-brand-identity`
171
+ - **Explore a direction** — deep dive into one direction
172
+ - **Done** — that's all
173
+ </process>
@@ -0,0 +1,79 @@
1
+ # Chunk Format Reference
2
+
3
+ Standard format for all GSP phase output files. Chunks are the primary output — agents write chunks directly, not monoliths.
4
+
5
+ ## File Format
6
+
7
+ Every chunk follows this structure:
8
+
9
+ # {Section/Component/Screen Name}
10
+
11
+ > Phase: {phase} | Brand/Project: {name} | Generated: {DATE}
12
+
13
+ ---
14
+
15
+ {Content for this chunk}
16
+
17
+ ---
18
+
19
+ ## Related
20
+
21
+ - [{Related chunk name}]({relative-path-to-related-chunk})
22
+
23
+ ## Naming Conventions
24
+
25
+ - **Singular, kebab-case, lowercase:** "Buttons" → `button.md`, "Date Picker" → `date-picker.md`
26
+ - **Screen files:** `screen-{NN}-{kebab-case-name}.md` (e.g., `screen-01-home.md`)
27
+
28
+ ## INDEX.md Format
29
+
30
+ Each phase directory gets an INDEX.md manifest:
31
+
32
+ # {Phase Name}
33
+ > Phase: {phase} | Brand/Project: {name} | Generated: {DATE}
34
+
35
+ | Chunk | File | ~Lines |
36
+ |-------|------|--------|
37
+ | {Section} | [{filename}](./{filename}) | ~{N} |
38
+
39
+ Lightweight — just a lookup table. No prose.
40
+
41
+ ## Rules
42
+
43
+ - **Chunks are primary output** — agents write chunks directly to the phase directory
44
+ - **No monoliths** — do not write a single large file then re-chunk it
45
+ - **Size target:** 50-200 lines per chunk
46
+ - **Self-contained:** each chunk must be understandable without loading other chunks
47
+ - **Cross-references:** `## Related` section uses relative paths to related chunks
48
+ - **Idempotent:** re-running a phase regenerates all chunks in that phase directory
49
+
50
+ ## Output Budgets
51
+
52
+ Context is finite. Every line in a chunk is consumed by downstream agents. Budget accordingly.
53
+
54
+ ### Per-chunk budgets
55
+
56
+ | Chunk type | Target | Hard max | Notes |
57
+ |-----------|--------|----------|-------|
58
+ | Phase chunk (design, research, etc.) | 50-150 lines | 200 lines | Self-contained, one concept per chunk |
59
+ | INDEX.md | 10-30 lines | 50 lines | Lookup table only, no prose |
60
+ | BUILD-LOG.md | 50-100 lines | 150 lines | Summary + tables, not narrative |
61
+ | Component spec | 30-80 lines | 120 lines | Props, states, behavior — not full implementation |
62
+ | Screen spec | 80-150 lines | 200 lines | Layout, components, interactions, states |
63
+
64
+ ### Per-phase budgets (total across all chunks)
65
+
66
+ | Phase | Target total | Hard max | Typical chunks |
67
+ |-------|-------------|----------|----------------|
68
+ | Brief | 100-200 lines | 300 lines | 2-4 |
69
+ | Research | 200-400 lines | 600 lines | 5-8 |
70
+ | Design | 300-600 lines | 800 lines | 6-12 |
71
+ | Critique | 100-200 lines | 300 lines | 2-4 |
72
+ | Build log | 50-100 lines | 150 lines | 1 |
73
+ | Review | 100-200 lines | 300 lines | 2-4 |
74
+
75
+ ### Terminal output (inline skills)
76
+
77
+ - **Diagnostic** (doctor, progress): uncapped — user needs to see it, does not persist in agent context
78
+ - **Greeting/status** (start): 20-40 lines
79
+ - **Phase transitions**: 10-20 lines
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: gsp-phase-transition
3
+ description: "Render phase transition screens — pipeline progress, completion banner, file tree. Invoked by pipeline skills at phase completion."
4
+ user-invocable: false
5
+ model: sonnet
6
+ allowed-tools:
7
+ - Read
8
+ - Glob
9
+ ---
10
+ <context>
11
+ Rendering utility invoked by pipeline skills at phase completion. Produces the visual transition — pipeline progress line, completion banner, file tree of outputs — then returns control to the calling skill for routing.
12
+
13
+ The calling skill provides phase name and output directory. This skill reads STATE.md, renders the transition, and returns. The calling skill handles routing (AskUserQuestion, E2E auto-invoke, etc.) after this skill completes.
14
+ </context>
15
+
16
+ <objective>
17
+ Render a phase transition screen showing pipeline progress, the completed phase, and output file tree.
18
+
19
+ **Input:** Phase name + output directory path from the invoking skill
20
+ **Output:** Terminal output with pipeline progress, completion banner, and file tree
21
+ **Agent:** None — inline rendering
22
+ </objective>
23
+
24
+ <process>
25
+ ## Step 0: Parse invocation context
26
+
27
+ The invoking skill provides:
28
+ - **Phase name** — which phase just completed (e.g., "discover", "strategy", "build")
29
+ - **Output directory** — path to the phase's output files
30
+
31
+ Look up the completion message from the defaults table. If the invoking skill provided a custom message, use that instead.
32
+
33
+ ## Step 1: Read STATE.md
34
+
35
+ Determine context by reading the brand or project STATE.md:
36
+ - Which pipeline (branding or project)?
37
+ - Which phases are complete?
38
+ - Brand/project name?
39
+
40
+ Use Glob to find STATE.md: `.design/branding/*/STATE.md` or `.design/projects/*/STATE.md`.
41
+
42
+ ## Step 2: Pipeline progress line (conditional)
43
+
44
+ Show the pipeline line **only when 2+ phases are complete**. If this is the first phase completed, skip the pipeline line.
45
+
46
+ ### Styling
47
+
48
+ - `◆` for completed phases
49
+ - `◈` for next phase
50
+ - `◇` for pending phases
51
+ - `───` connecting phases
52
+
53
+ ```
54
+ {brand-or-project-name}
55
+ ◆ discover ─── ◆ strategy ─── ◈ identity ─── ◇ guidelines
56
+ ```
57
+
58
+ ### Branding phases
59
+
60
+ `discover ─── strategy ─── identity ─── guidelines`
61
+
62
+ If audit phase exists (evolve mode), prepend: `audit ─── `
63
+
64
+ ### Project phases
65
+
66
+ `brief ─── research ─── design ─── critique ─── build ─── review`
67
+
68
+ If launch is in scope, append: ` ─── launch`
69
+
70
+ ## Step 3: Completion banner + file tree
71
+
72
+ ```
73
+ ◆ {phase} complete — {completion_message}
74
+
75
+ {phase_dir}/
76
+ ├── {file1}.md
77
+ ├── {file2}.md
78
+ └── INDEX.md
79
+
80
+ ──────────────────────────────
81
+ ```
82
+
83
+ Read the actual output directory to list real files.
84
+
85
+ ### File tree rules
86
+
87
+ - Root is the phase directory name followed by `/`
88
+ - Files sorted alphabetically, directories first
89
+ - INDEX.md always listed last
90
+ - Use `├──` for all items except the last, which uses `└──`
91
+ - Subdirectories show their contents with `│` continuation
92
+
93
+ ### Final phase
94
+
95
+ If all phases in the pipeline are complete, add ` fully pretty.` after the divider.
96
+
97
+ ## Default completion messages
98
+
99
+ ### Branding
100
+
101
+ | Phase | Message |
102
+ |-------|---------|
103
+ | audit | brand assessed |
104
+ | discover | market landscape mapped |
105
+ | strategy | brand platform defined |
106
+ | identity | visual system designed |
107
+ | guidelines | design system built |
108
+
109
+ ### Project
110
+
111
+ | Phase | Message |
112
+ |-------|---------|
113
+ | brief | project scoped |
114
+ | research | patterns and approaches researched |
115
+ | design | screens designed |
116
+ | critique | designs critiqued |
117
+ | build | code implemented |
118
+ | review | implementation validated |
119
+ | launch | campaign assets created |
120
+
121
+ ## Step 4: Return
122
+
123
+ Return control to the calling skill. Do NOT present routing options — the calling skill owns routing.
124
+ </process>
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: pretty
2
+ name: gsp-pretty
3
3
  description: "Surprise ASCII art in the terminal"
4
4
  user-invocable: true
5
5
  model: sonnet
@@ -59,5 +59,5 @@ Spawn the `gsp-ascii-artist` agent with this prompt, filling in the context you
59
59
 
60
60
  ## Step 3: Done
61
61
 
62
- No iteration needed. If the user wants more control, point them to `/gsp:art`.
62
+ No iteration needed. If the user wants more control, point them to `/gsp-art`.
63
63
  </process>