get-shit-pretty 0.7.0 → 0.7.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 (112) hide show
  1. package/README.md +301 -124
  2. package/bin/install.js +1 -1
  3. package/gsp/agents/gsp-accessibility-auditor.md +1 -60
  4. package/gsp/agents/gsp-brand-auditor.md +1 -61
  5. package/gsp/agents/gsp-brand-creative-director.md +10 -0
  6. package/gsp/agents/gsp-brand-engineer.md +1 -122
  7. package/gsp/agents/gsp-brand-researcher.md +11 -0
  8. package/gsp/agents/gsp-brand-strategist.md +1 -65
  9. package/gsp/agents/gsp-project-builder.md +17 -0
  10. package/gsp/agents/gsp-project-critic.md +11 -0
  11. package/gsp/agents/gsp-project-designer.md +11 -0
  12. package/gsp/agents/gsp-project-researcher.md +1 -74
  13. package/gsp/agents/gsp-project-reviewer.md +12 -0
  14. package/gsp/hooks/hooks.json +32 -14
  15. package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
  16. package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
  17. package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
  18. package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
  19. package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
  20. package/gsp/skills/gsp-art/SKILL.md +13 -10
  21. package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
  22. package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
  23. package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
  24. package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
  25. package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
  26. package/gsp/skills/gsp-brand-identity/SKILL.md +19 -18
  27. package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
  28. package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
  29. package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
  30. package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
  31. package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
  32. package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
  33. package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
  34. package/gsp/skills/gsp-color/SKILL.md +0 -1
  35. package/gsp/skills/gsp-design-system/SKILL.md +0 -1
  36. package/gsp/skills/gsp-doctor/SKILL.md +0 -1
  37. package/gsp/skills/gsp-help/SKILL.md +10 -7
  38. package/gsp/skills/gsp-icons/SKILL.md +0 -1
  39. package/gsp/skills/gsp-logo/SKILL.md +0 -1
  40. package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
  41. package/gsp/skills/gsp-pretty/SKILL.md +25 -24
  42. package/gsp/skills/gsp-progress/SKILL.md +0 -1
  43. package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
  44. package/gsp/skills/gsp-project-build/SKILL.md +216 -74
  45. package/gsp/skills/gsp-project-build/bento-grid.md +114 -0
  46. package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +14 -16
  47. package/gsp/skills/gsp-project-critique/SKILL.md +21 -17
  48. package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
  49. package/gsp/skills/gsp-project-design/SKILL.md +9 -6
  50. package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
  51. package/gsp/skills/gsp-project-research/SKILL.md +4 -2
  52. package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
  53. package/gsp/skills/gsp-project-review/SKILL.md +8 -5
  54. package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
  55. package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
  56. package/gsp/skills/gsp-start/SKILL.md +59 -210
  57. package/gsp/skills/gsp-style/SKILL.md +1 -2
  58. package/gsp/skills/gsp-style/styles/INDEX.yml +7 -1
  59. package/gsp/skills/gsp-style/styles/academia.md +751 -787
  60. package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
  61. package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
  62. package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
  63. package/gsp/skills/gsp-style/styles/botanical.md +141 -177
  64. package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
  65. package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
  66. package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
  67. package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
  68. package/gsp/skills/gsp-style/styles/fluent.md +0 -31
  69. package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
  70. package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
  71. package/gsp/skills/gsp-style/styles/industrial.md +406 -438
  72. package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
  73. package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
  74. package/gsp/skills/gsp-style/styles/luxury.md +402 -438
  75. package/gsp/skills/gsp-style/styles/material.md +555 -591
  76. package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
  77. package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
  78. package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
  79. package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
  80. package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
  81. package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
  82. package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
  83. package/gsp/skills/gsp-style/styles/nothing.md +445 -0
  84. package/gsp/skills/gsp-style/styles/nothing.yml +146 -0
  85. package/gsp/skills/gsp-style/styles/organic.md +177 -213
  86. package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
  87. package/gsp/skills/gsp-style/styles/professional.md +503 -539
  88. package/gsp/skills/gsp-style/styles/retro.md +664 -700
  89. package/gsp/skills/gsp-style/styles/saas.md +490 -526
  90. package/gsp/skills/gsp-style/styles/sketch.md +189 -225
  91. package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
  92. package/gsp/skills/gsp-style/styles/terminal.md +99 -135
  93. package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
  94. package/gsp/skills/gsp-style/styles/web3.md +337 -373
  95. package/gsp/skills/gsp-typography/SKILL.md +0 -1
  96. package/gsp/skills/gsp-update/SKILL.md +0 -1
  97. package/gsp/skills/gsp-visuals/SKILL.md +0 -1
  98. package/gsp/templates/branding/config.json +3 -2
  99. package/gsp/templates/exports-index.md +0 -7
  100. package/gsp/templates/phases/build.md +13 -4
  101. package/gsp/templates/projects/config.json +3 -2
  102. package/gsp/templates/projects/roadmap.md +0 -7
  103. package/gsp/templates/projects/state.md +0 -4
  104. package/package.json +1 -1
  105. package/scripts/lint-check.sh +1 -1
  106. package/gsp/agents/gsp-ascii-artist.md +0 -66
  107. package/gsp/agents/gsp-brand-syncer.md +0 -126
  108. package/gsp/agents/gsp-campaign-director.md +0 -79
  109. package/gsp/agents/gsp-scoper.md +0 -85
  110. package/gsp/skills/gsp-launch/SKILL.md +0 -97
  111. package/gsp/skills/gsp-start/questioning.md +0 -87
  112. package/gsp/templates/phases/launch.md +0 -55
@@ -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.
@@ -38,10 +37,11 @@ Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 in
38
37
 
39
38
  ─── Branding ─────────────────────────
40
39
 
40
+ /gsp-brand-brief define your brand through guided Q&A
41
41
  /gsp-brand-research research your market and audience
42
42
  /gsp-brand-strategy define positioning, personality, voice and messaging
43
43
  /gsp-brand-identity create visual identity
44
- /gsp-brand-guidelines build design system tokens and components
44
+ /gsp-brand-guidelines build design system tokens and components
45
45
  /gsp-brand-sync sync brand to match a project's shipped state
46
46
  /gsp-brand-refine tweak brand tokens mid-project without re-running identity
47
47
  /gsp-brand-audit audit existing brand before evolving (optional)
@@ -61,14 +61,17 @@ Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 in
61
61
  /gsp-color color systems — palettes, contrast, semantic mapping, dark mode
62
62
  /gsp-typography type systems — scale, pairing, fluid type, vertical rhythm
63
63
  /gsp-visuals visual direction — imagery, 3D, video, textures
64
- /gsp-accessibility accessibility auditcontrast, WCAG, code checks
64
+ /gsp-icons icon systemslibrary, sizing, containers, custom SVG
65
+ /gsp-logo logo directions — concepts, variations, usage rules
66
+ /gsp-accessibility contrast checks and token WCAG audits
65
67
  /gsp-style apply a design style preset
66
68
 
67
69
  ─── Utilities ────────────────────────
68
70
 
71
+ /gsp-design-system scan and document existing design system state
72
+ /gsp-scaffold deterministic stack setup — deps, configs, verify build
69
73
  /gsp-doctor check project health
70
74
  /gsp-update update GSP to latest version
71
- /gsp-launch create launch and marketing assets (optional)
72
75
 
73
76
  ─── Easter Eggs ────────────────────
74
77
 
@@ -81,7 +84,7 @@ Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 in
81
84
  — or —
82
85
  quick mode: pick a style → jump straight to project.
83
86
 
84
- branding research → strategy → identity → patterns
87
+ branding brief → research → strategy → identity → guidelines
85
88
  project brief → research → design → critique → build → review
86
89
  ↑ ↑
87
90
  critique loop QA loop
@@ -100,7 +103,7 @@ Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 in
100
103
  │ ├── discover/ research chunks
101
104
  │ ├── strategy/ strategy + voice and messaging
102
105
  │ ├── identity/ visual identity
103
- │ └── patterns/ tokens + components
106
+ │ └── system/ tokens + components
104
107
  └── projects/
105
108
  └── {project}/
106
109
  ├── config.json project config
@@ -116,7 +119,7 @@ Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 in
116
119
  └── exports/INDEX.md chunk index
117
120
 
118
121
  get-shit-pretty v{VERSION}
119
- github.com/juliuslipp/get-shit-pretty
122
+ github.com/jubscodes/get-shit-pretty
120
123
  ```
121
124
 
122
125
  Replace `{VERSION}` with the value read from the VERSION file.
@@ -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
 
@@ -2,7 +2,6 @@
2
2
  name: gsp-progress
3
3
  description: How pretty are we?
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Glob
@@ -2,12 +2,10 @@
2
2
  name: gsp-project-brief
3
3
  description: Scope what you're building
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Write
9
8
  - Bash
10
- - Agent
11
9
  - Grep
12
10
  - Glob
13
11
  ---
@@ -24,7 +22,6 @@ Scope the project and plan adaptations from the brand system.
24
22
 
25
23
  **Input:** Brand system (via brand.ref) + project BRIEF.md + config.json
26
24
  **Output:** `{project}/brief/` (scope.md, target-adaptations.md, conditionals, INDEX.md)
27
- **Agent:** `gsp-scoper`
28
25
  </objective>
29
26
 
30
27
  <execution_context>
@@ -77,30 +74,62 @@ Suggest to the user:
77
74
 
78
75
  If the project scope feels large, suggest breaking it into multiple bounded issues — each one a focused deliverable that can be reviewed independently.
79
76
 
80
- ## Step 2: Spawn scoper
77
+ ## Step 2: Scope the project
81
78
 
82
- Spawn the `gsp-scoper` agent. **Inline all content** the agent should not need to read any input files.
83
-
84
- Pass in the agent prompt:
85
- - **Content of** brand patterns foundation + component chunks (loaded in Step 1)
86
- - **Content of** brand `.yml` preset (loaded in Step 1)
87
- - **Content of** BRIEF.md (loaded in Step 1)
88
- - **Content of** `.design/system/STACK.md`, `COMPONENTS.md` (when loaded in Step 1)
89
- - **Content of** CHANGELOG.md + relevant MANIFEST.md files (loaded in Step 1)
90
- - Brief output template (from execution_context)
91
- - `implementation_target`, `design_scope`, `codebase_type`
92
- - **Output path:** `{PROJECT_PATH}/brief/`
79
+ Using all context loaded in Step 1, scope the project directly. Act as a Senior Design Project Lead bridging the brand system and the project's specific needs.
93
80
 
94
81
  If any sibling project is active and its scope overlaps with this project, flag it: "⚠️ {name} is actively working on {scope}. Coordinate to avoid conflicts."
95
82
  If this project modifies components from a sibling's manifest, note provenance.
96
83
 
97
- The agent writes chunks directly:
98
- - `brief/scope.md`
99
- - `brief/target-adaptations.md`
100
- - `brief/install-manifest.md` (shadcn/rn-reusables)
101
- - `brief/gap-analysis.md` (existing target)
102
- - `brief/file-references.md` (existing target)
103
- - `brief/INDEX.md`
84
+ ### Scoping process
85
+
86
+ 1. **Analyze brief** — what's being built, for whom, on what platforms
87
+ 2. **Define screen list** — prioritized screens from brief, user flows, success criteria
88
+ 3. **Map component scope** — which brand system components this project needs
89
+ 4. **Identify adaptations** — project-specific variants, overrides, or extensions to brand components
90
+ 5. **Map to implementation target** — connect design components to target primitives (shadcn, rn-reusables, existing, code)
91
+ 6. **Gap analysis** (existing codebases) — what's in the brand system but missing from the codebase
92
+ 7. **Generate install manifest** (shadcn/rn-reusables) — install commands for needed components
93
+ 8. **Issue framing** — suggest how to break the project into bounded, shippable issues
94
+
95
+ ### Quality standards
96
+
97
+ - Every screen has a clear purpose and priority level
98
+ - Component adaptations reference specific brand system components
99
+ - Gap analysis is concrete (component names, token names)
100
+ - Install manifests are copy-paste ready
101
+ - Scope boundaries are explicit (what's in, what's out)
102
+
103
+ ### Write chunks to `{PROJECT_PATH}/brief/`
104
+
105
+ Use the brief output template from execution_context for chunk formatting.
106
+
107
+ 1. **`scope.md`** (~80-120 lines) — prioritized screen list, component scope, project boundaries, success criteria, dependencies, issue framing
108
+ 2. **`target-adaptations.md`** (~60-100 lines) — token overrides, component adaptations, platform considerations, implementation target mapping
109
+ 3. **`install-manifest.md`** (shadcn/rn-reusables only) — install commands for all needed components
110
+ 4. **`gap-analysis.md`** (existing target only) — components/tokens in brand system but not in codebase
111
+ 5. **`file-references.md`** (existing target only) — paths to existing components/tokens being used
112
+
113
+ Cross-references: `target-adaptations.md` links to `{BRAND_PATH}/patterns/components/{name}.md`; `gap-analysis.md` links to brand system components and tokens; `scope.md` references the project BRIEF.md.
114
+
115
+ ### Write `INDEX.md`
116
+
117
+ ```markdown
118
+ # Brief
119
+ > Phase: brief | Project: {name} | Generated: {DATE}
120
+
121
+ ## Scoping
122
+
123
+ | Chunk | File | ~Lines |
124
+ |-------|------|--------|
125
+ | Scope | [scope.md](./scope.md) | ~{N} |
126
+ | Target Adaptations | [target-adaptations.md](./target-adaptations.md) | ~{N} |
127
+ | Install Manifest | [install-manifest.md](./install-manifest.md) | ~{N} |
128
+ | Gap Analysis | [gap-analysis.md](./gap-analysis.md) | ~{N} |
129
+ | File References | [file-references.md](./file-references.md) | ~{N} |
130
+ ```
131
+
132
+ Only include rows for chunks that were actually produced.
104
133
 
105
134
  ## Step 3: Write exports
106
135