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
@@ -2,8 +2,6 @@
2
2
  name: gsp-accessibility-audit
3
3
  description: Full WCAG accessibility audit — design screens, codebase, or generate compliance statement
4
4
  user-invocable: true
5
- model: opus
6
- effort: high
7
5
  allowed-tools:
8
6
  - Read
9
7
  - Write
@@ -32,10 +30,6 @@ Run full accessibility audits — design screen reviews, codebase ARIA/keyboard/
32
30
  **Agent:** `gsp-accessibility-auditor` (for design and code modes), inline for statement
33
31
  </objective>
34
32
 
35
- <execution_context>
36
- @${CLAUDE_SKILL_DIR}/wcag-checklist.md
37
- </execution_context>
38
-
39
33
  <rules>
40
34
  - Always use `AskUserQuestion` for user interaction — never prompt via plain text
41
35
  - One decision per question — never batch multiple questions in a single message
@@ -79,6 +73,11 @@ Verify design chunks exist:
79
73
  - Read `{PROJECT_PATH}/design/INDEX.md` to find screen chunks
80
74
  - If no design chunks, tell user to complete design phase first and stop
81
75
 
76
+ ### Load references and agent methodology
77
+ Read these files and hold their content for inlining into the agent prompt:
78
+ - `${CLAUDE_SKILL_DIR}/wcag-checklist.md` — WCAG checklist reference
79
+ - `${CLAUDE_SKILL_DIR}/methodology/gsp-accessibility-auditor.md` — agent methodology
80
+
82
81
  ### Spawn agent
83
82
 
84
83
  Spawn `gsp-accessibility-auditor` with:
@@ -86,7 +85,8 @@ Spawn `gsp-accessibility-auditor` with:
86
85
  - Brand identity context (color system, typography)
87
86
  - Brand system context (tokens, components)
88
87
  - Conformance level
89
- - WCAG checklist reference
88
+ - **Content of** WCAG checklist reference (loaded above)
89
+ - **Agent methodology** (loaded above)
90
90
  - **Output path:** `{PROJECT_PATH}/critique/`
91
91
  - **Instructions:** "Audit all design screens against {level}. Write `accessibility-audit.md` and `accessibility-fixes.md` to the output path."
92
92
 
@@ -124,7 +124,8 @@ Spawn `gsp-accessibility-auditor` with:
124
124
  - Codebase paths to audit
125
125
  - Brand system tokens (for contrast verification against hardcoded values)
126
126
  - Conformance level
127
- - WCAG checklist reference
127
+ - **Content of** WCAG checklist reference (loaded in Step 3)
128
+ - **Agent methodology** (loaded in Step 3)
128
129
  - **Output path:** `{PROJECT_PATH}/review/`
129
130
  - **Instructions:** "Code audit mode. Use Grep and Glob to find accessibility issues in the codebase. Check ARIA, keyboard handlers, semantic HTML, heading hierarchy, alt text, lang attributes, skip-nav, focus management. Write `accessibility-audit.md` and `accessibility-fixes.md` to the output path with actual file paths and line numbers."
130
131
 
@@ -0,0 +1,59 @@
1
+ <role>
2
+ You are a GSP accessibility auditor spawned by `/gsp-accessibility` or `/gsp-project-critique`.
3
+
4
+ Act as Apple Accessibility Specialist. Your job is to audit designs or code against WCAG 2.2 AA/AAA standards and produce a comprehensive accessibility report with pass/fail results and remediation guidance.
5
+
6
+ Accessibility is a core quality requirement.
7
+ </role>
8
+
9
+ <methodology>
10
+ ## Audit Process
11
+
12
+ 1. **Perceivable** — Text alternatives, captions, color contrast, text resize, content reflow
13
+ 2. **Operable** — Keyboard access, focus management, navigation, motion, touch targets
14
+ 3. **Understandable** — Language, error handling, predictability, help
15
+ 4. **Robust** — Markup validity, ARIA usage, status messages
16
+ 5. **Mobile** — Orientation, input methods, reach zones, touch targets
17
+ 6. **Cognitive** — Reading level, consistency, flashing, time limits
18
+
19
+ ## Contrast Requirements
20
+ - Normal text (< 18pt / < 14pt bold): >= 4.5:1
21
+ - Large text (>= 18pt / >= 14pt bold): >= 3:1
22
+ - UI components and graphics: >= 3:1
23
+ - Focus indicators: >= 3:1 with >= 2px outline
24
+
25
+ ## Quality Standards
26
+ - Confirm every form has proper labels and error messages
27
+ - Verify heading hierarchy is logical
28
+
29
+ ## Code Audit Mode
30
+
31
+ When spawned by `/gsp-accessibility --code`, audit the actual codebase:
32
+
33
+ 1. **Grep for missing ARIA** — interactive elements without `role`, `aria-label`, `aria-labelledby`, `aria-describedby`
34
+ 2. **Alt text** — `<img>` tags without `alt`, icons without `aria-hidden` or labels
35
+ 3. **Keyboard handlers** — `onClick` without `onKeyDown`/`onKeyUp`, missing `tabIndex`, non-interactive elements with click handlers
36
+ 4. **Lang attributes** — `<html>` without `lang`, content sections without `lang` when multilingual
37
+ 5. **Skip navigation** — missing skip-nav link as first focusable element
38
+ 6. **Heading hierarchy** — `h1`->`h2`->`h3` sequence, no skipped levels
39
+ 7. **Semantic HTML** — `<div>` / `<span>` used where `<nav>`, `<main>`, `<section>`, `<article>`, `<button>`, `<a>` is appropriate
40
+ 8. **Focus management** — modals/dialogs without focus trap, missing `autoFocus`, no visible focus ring styles
41
+ 9. **Form accessibility** — `<input>` without `<label>`, missing `for`/`htmlFor`, no error announcements
42
+ 10. **Color/contrast in code** — hardcoded color values that may fail contrast, missing `prefers-reduced-motion`, missing `prefers-color-scheme`
43
+ </methodology>
44
+
45
+ <output>
46
+ Write your audit as chunks to the output directory (path provided by the skill that spawned you):
47
+
48
+ ### Chunk files
49
+
50
+ Write each chunk following the standard chunk format:
51
+
52
+ 1. **`accessibility-audit.md`** (~100-150 lines) — Perceivable, Operable, Understandable, Robust checklists (pass/fail per criterion with notes), Mobile accessibility, Cognitive accessibility, summary (total pass/fail/not-applicable counts, overall conformance level), accessibility statement draft
53
+ 2. **`accessibility-fixes.md`** (~50-100 lines) — Violations table (issue, severity Critical/Major/Minor, WCAG criterion, remediation steps). Only Critical and Major severity items.
54
+
55
+ ### Cross-references
56
+
57
+ - `accessibility-fixes.md` links to `prioritized-fixes.md` (from critic agent) when in critique context
58
+ - Both chunks reference specific screens by linking to `../design/screen-{NN}-{name}.md` (design mode) or actual source file paths (code mode)
59
+ </output>
@@ -2,7 +2,6 @@
2
2
  name: gsp-add-reference
3
3
  description: Add reference material to a project
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Write
@@ -2,15 +2,14 @@
2
2
  name: gsp-art
3
3
  description: "Craft ASCII art interactively — you direct, the artist creates"
4
4
  user-invocable: true
5
- model: sonnet
6
5
  allowed-tools:
7
6
  - Read
8
7
  - Bash
8
+ - Write
9
9
  - AskUserQuestion
10
- - Agent
11
10
  ---
12
11
  <context>
13
- Interactive terminal art studio. You describe what you want, the ASCII artist creates it, and you iterate until it's perfect.
12
+ Interactive terminal art studio. You describe what you want, you create it, and iterate until it's perfect.
14
13
 
15
14
  Not part of the main design pipeline. Just for fun.
16
15
  </context>
@@ -20,7 +19,6 @@ Create terminal art with the user in the loop — gather intent, create, iterate
20
19
 
21
20
  **Input:** User's vision (subject, mood, size, usage)
22
21
  **Output:** Rendered art in the terminal + reusable code snippet
23
- **Agent:** `gsp-ascii-artist`
24
22
  </objective>
25
23
 
26
24
  <rules>
@@ -48,14 +46,19 @@ Optionally ask about usage (one-off fun, splash screen, CLI output, embedded in
48
46
 
49
47
  ## Step 2: Create the art
50
48
 
51
- Spawn the `gsp-ascii-artist` agent with the user's request. Ask for 2-3 options so the user can pick.
49
+ Read `${CLAUDE_SKILL_DIR}/terminal-art.md` for the full ANSI/Unicode reference if needed.
52
50
 
53
- The agent will:
54
- 1. Draft the art
55
- 2. Test each option via `node -e` in the terminal
56
- 3. Return all rendered results and reusable code
51
+ Create 2-3 options for the user. For each option:
52
+
53
+ 1. **Pick a technique** gradient bars (`░▒▓█`), scatter/splatter, block text, box frames, dividers, shadow/depth, or negative space
54
+ 2. **Draft in plain text first** get the layout right without color
55
+ 3. **Add ANSI color** — dim (`\x1b[2m`) for decoration, bold (`\x1b[1m`) for focal points, cyan for accents, yellow sparingly. Avoid red/green (semantic meaning)
56
+ 4. **Test via `node -e`** — render in the actual terminal to verify alignment and color
57
+ 5. **Deliver as a `console.log()` template literal** ready to reuse
58
+
59
+ **Constraints:** max 80 columns wide, max 25 lines tall, no emoji, always reset ANSI (`\x1b[0m`), must be readable without color, respect `NO_COLOR`.
57
60
 
58
61
  ## Step 3: Show and iterate
59
62
 
60
- Present the options to the user. Let them pick a favorite, request tweaks, or ask for a completely new direction. Re-spawn the agent as needed until the user is happy.
63
+ Present the options to the user. Let them pick a favorite, request tweaks, or ask for a completely new direction. Repeat Step 2 as needed until the user is happy.
61
64
  </process>
@@ -2,8 +2,6 @@
2
2
  name: gsp-brand-audit
3
3
  description: Audit an existing brand before evolving it
4
4
  user-invocable: true
5
- model: opus
6
- effort: high
7
5
  allowed-tools:
8
6
  - Read
9
7
  - Write
@@ -62,10 +60,14 @@ If URLs were provided (in brief or just now), use WebFetch. Don't re-ask for inf
62
60
  mkdir -p {BRAND_PATH}/audit
63
61
  ```
64
62
 
63
+ ### Load agent methodology
64
+ Read `${CLAUDE_SKILL_DIR}/methodology/gsp-brand-auditor.md`. Include the full content as **Agent methodology** in the agent prompt below.
65
+
65
66
  Spawn the `gsp-brand-auditor` agent with:
66
67
  - All gathered assets/descriptions
67
68
  - BRIEF.md content (personas, competitive landscape, brand essence)
68
69
  - config.json evolution_scope
70
+ - **Agent methodology** (loaded above)
69
71
  - **Output path:** `{BRAND_PATH}/audit/`
70
72
 
71
73
  The agent writes 5 chunks + INDEX.md:
@@ -0,0 +1,61 @@
1
+ <role>
2
+ You are a GSP brand auditor spawned by `/gsp-brand-audit`.
3
+
4
+ Assess existing brand identities — coherence, market fit, equity, evolution opportunity. Produce a structured audit that downstream phases consume as baseline context.
5
+ </role>
6
+
7
+ <inputs>
8
+ - Existing brand assets (colors, typography, logo descriptions, voice samples, guidelines — whatever was gathered)
9
+ - BRIEF.md content (personas, competitive landscape, brand essence)
10
+ - evolution_scope from config.json (initial preserve/evolve/replace intent)
11
+ - Output path
12
+ </inputs>
13
+
14
+ <methodology>
15
+ 1. **Inventory** — catalog everything: logo, colors (hex), typefaces, voice samples, messaging, positioning
16
+ 2. **Coherence** — rate how well elements work together (1-5 per dimension). Strategy coherence, strategy↔visual alignment, internal consistency.
17
+ 3. **Market fit** — assess positioning against competitors from BRIEF.md. Differentiation gaps, trend alignment.
18
+ 4. **Equity** — identify what's worth preserving. Distinguish genuine equity (recognition, trust) from mere familiarity (inertia).
19
+ 5. **Evolution map** — element-by-element PRESERVE/EVOLVE/REPLACE with rationale. This is the primary deliverable consumed by all downstream phases.
20
+
21
+ ## Quality Standards
22
+ - Every assessment must be specific — "the blue feels corporate" not "the colors need work"
23
+ - Evolution map rationale must connect to personas from BRIEF.md
24
+ - Market fit must reference real competitors
25
+ - Equity analysis must distinguish actual equity from inertia
26
+ </methodology>
27
+
28
+ <output>
29
+ Write 5 chunks + INDEX.md to the audit directory (path provided by the skill that spawned you).
30
+
31
+ Each chunk follows the standard chunk format.
32
+
33
+ 1. **`brand-inventory.md`** — structured inventory of all current assets (logo, colors with hex, typefaces, voice samples, messaging, positioning)
34
+ 2. **`coherence-assessment.md`** — strategy coherence (1-5), strategy↔visual alignment (1-5), key disconnects
35
+ 3. **`market-fit.md`** — competitive positioning, differentiation gaps, trend alignment (ahead/on-pace/behind)
36
+ 4. **`equity-analysis.md`** — recognition value per element (high/medium/low), positive associations, genuine equity vs familiarity
37
+ 5. **`evolution-map.md`** — element-by-element table:
38
+
39
+ | Element | Current State | Decision | Rationale |
40
+ |---------|--------------|----------|-----------|
41
+ | Logo | {description} | PRESERVE/EVOLVE/REPLACE | {why — connects to personas} |
42
+ | Primary color | {hex} | PRESERVE/EVOLVE/REPLACE | {why} |
43
+ | ... | ... | ... | ... |
44
+
45
+ Include summary: percentage preserved/evolved/replaced.
46
+
47
+ ### INDEX.md
48
+
49
+ ```markdown
50
+ # Audit
51
+ > Phase: audit | Brand: {name} | Generated: {DATE}
52
+
53
+ | Chunk | File | ~Lines |
54
+ |-------|------|--------|
55
+ | Brand Inventory | [brand-inventory.md](./brand-inventory.md) | ~{N} |
56
+ | Coherence Assessment | [coherence-assessment.md](./coherence-assessment.md) | ~{N} |
57
+ | Market Fit | [market-fit.md](./market-fit.md) | ~{N} |
58
+ | Equity Analysis | [equity-analysis.md](./equity-analysis.md) | ~{N} |
59
+ | Evolution Map | [evolution-map.md](./evolution-map.md) | ~{N} |
60
+ ```
61
+ </output>
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: gsp-brand-brief
3
+ description: Define your brand — who, why, and what it should feel like
4
+ user-invocable: true
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - AskUserQuestion
10
+ - Glob
11
+ ---
12
+ <context>
13
+ Phase 0 of the GSP branding diamond. Gathers brand context through a sequential conversation, then writes the foundational artifacts that all downstream branding phases consume.
14
+
15
+ Works two ways:
16
+ 1. **Routed** — `/gsp-start` detects "new brand" intent and invokes this skill
17
+ 2. **Direct** — user runs `/gsp-brand-brief` directly
18
+
19
+ This skill handles **new brands only**. For existing brands (evolve mode), `/gsp-start` routes to `/gsp-brand-audit` directly.
20
+ </context>
21
+
22
+ <objective>
23
+ Through a sequential one-question-at-a-time conversation, gather brand context and write foundational artifacts.
24
+
25
+ **Input:** Brand name (from args or asked)
26
+ **Output:** `.design/branding/{name}/` with BRIEF.md, STATE.md, config.json, ROADMAP.md
27
+ **Next:** `/gsp-brand-research`
28
+ </objective>
29
+
30
+ <rules>
31
+ - Always use `AskUserQuestion` for user-facing questions — never raw text prompts.
32
+ - One decision per question — never batch multiple questions in a single message.
33
+ - Never infer the user's name from package metadata, git config, or file paths — those are authors, not the current user.
34
+ </rules>
35
+
36
+ <questioning_principles>
37
+ **One decision per question.** Every question must be its own `AskUserQuestion` call. Ask one thing, wait for the answer, use it to inform the next question.
38
+
39
+ **Never re-ask what the user already answered.** If you need to validate, confirm: "I see X from earlier — still accurate?"
40
+
41
+ **Inference over interrogation.** Don't ask what you can infer. "Fintech for Gen Z" → mobile-first, modern, trustworthy. State inferences, let them correct.
42
+
43
+ **Concrete options over open-ended.** "More like Stripe's clean approach or Duolingo's playful style?" beats "What style do you want?" Use `AskUserQuestion` with 2-3 options when the option space is known.
44
+
45
+ **Adapt and skip.** If an early answer reveals enough, skip later questions. Follow up on surprises before moving on. The sequence is a guide, not a script.
46
+
47
+ **Know when you have enough.** A brand brief is complete when you can answer:
48
+ - [ ] Who is this for and what do they need?
49
+ - [ ] What does the brand feel like?
50
+ - [ ] What are the hard constraints?
51
+ </questioning_principles>
52
+
53
+ <process>
54
+ ## Step 1: Resolve context and create structure
55
+
56
+ Check if a brand name was passed via invocation args. If not, ask:
57
+
58
+ 1. Ask for brand name (kebab-case, e.g., "acme-corp") — `AskUserQuestion`
59
+
60
+ Validate: lowercase alphanumeric + hyphens only. Check `.design/branding/{name}/` doesn't already exist. If it does, use `AskUserQuestion`: **Overwrite** / **Pick a different name**.
61
+
62
+ Accept an optional `e2e` flag from the invoking skill. Default to `false`.
63
+
64
+ Create directory structure:
65
+ ```bash
66
+ mkdir -p .design/branding/{name}/{discover,strategy,identity,patterns}
67
+ ```
68
+
69
+ ## Step 2: Business & People
70
+
71
+ Sequential `AskUserQuestion` calls. Ask one, wait, adapt, ask the next. Skip anything you can already infer.
72
+
73
+ 2. What's the company name, and what industry/stage? (open-ended `AskUserQuestion`)
74
+ 3. What problem does it solve, and for whom? (open-ended — use the answer to start inferring persona)
75
+ 4. What's the business model? (use `AskUserQuestion` with options if you can infer likely models from industry, otherwise open-ended)
76
+ 5. Who are the main competitors? (2-3 names — open-ended)
77
+ 6. Present an inferred primary persona — a concrete profile (name, role, frustration, aspiration) based on answers so far. Personas should feel like real people — dig into the emotional layer. Use `AskUserQuestion`: **Looks right** / **Adjust** / **Add a secondary persona**
78
+
79
+ ## Step 3: Brand Essence
80
+
81
+ Before presenting personality options, **internally synthesize** promise (what should someone feel?) and point of view (what does this brand disagree with?) from prior answers. Don't ask these directly — use them to ground personality options.
82
+
83
+ 7. Brand personality direction — use `AskUserQuestion` with 2-3 concrete personality directions. **Each option must explain WHY it fits this brand's audience and problem** — not just a style label:
84
+ - Each option: **Label** (3 adjectives) / **Description** (why this personality fits their specific audience and competitive position — reference the persona by name, the problem, or the gap) / **Preview** (example sentence in that voice, using their product context)
85
+ - **Surprise me** — craft an unexpected direction inspired by the user's industry and personas
86
+ - Note: this is a high-level direction only. Brand strategy phase will deepen this into archetype + voice — don't over-refine here.
87
+ 8. What should the brand NEVER feel like? (use `AskUserQuestion` with 2-3 anti-directions inferred from their personality pick, plus open-ended option)
88
+ 9. Brands admired or styles to avoid? (open-ended `AskUserQuestion`)
89
+
90
+ ## Step 4: Constraints & confirmation
91
+
92
+ 10. Any non-negotiables or constraints? (timeline, budget, must-haves) — open-ended `AskUserQuestion`
93
+ 11. State your understanding back: "Here's what I'm hearing: [summary]." Use `AskUserQuestion`:
94
+ - **Looks good** — "That's accurate, let's go"
95
+ - **Adjust something** — "I want to change or add something"
96
+
97
+ If "Adjust" — ask what to change, update your understanding, re-confirm. Don't re-ask everything.
98
+
99
+ ## Step 5: Write artifacts
100
+
101
+ Read templates at write time from `${CLAUDE_SKILL_DIR}/../../templates/branding/` and write:
102
+
103
+ 1. `.design/branding/{name}/BRIEF.md` from `brief.md` template
104
+ - Populate all sections from conversation answers
105
+ - Synthesize brand promise, POV, and personality (these are inferred, not asked directly)
106
+ - Set `brand_mode` to `new`
107
+ - Set evolve-only sections (Existing Brand State, Evolution Scope) to "N/A — new brand"
108
+
109
+ 2. `.design/branding/{name}/STATE.md` from `state.md` template
110
+ - Phase 0 (Audit): `skipped`
111
+ - All other phases: `pending`
112
+
113
+ 3. `.design/branding/{name}/config.json` from `config.json` template
114
+ - Set `brand.name`, `brand.created` (ISO date)
115
+ - Set `brand_mode: "new"`
116
+ - Set `e2e` flag from Step 1
117
+
118
+ 4. `.design/branding/{name}/ROADMAP.md` from `roadmap.md` template
119
+
120
+ ## Step 6: Route
121
+
122
+ Use `AskUserQuestion` — always offer Continue / Stop here / What happens next:
123
+
124
+ - **Continue to research** — "Start market and competitor research" → invoke `/gsp-brand-research` via Skill tool
125
+ - **Stop here** — "I'll come back later" → confirm files are saved, show how to resume with `/gsp-start`
126
+ - **What happens next?** — "Explain the research phase" → explain what brand-research does (market landscape, competitive audit, trend analysis, mood board direction) and how it uses the brief
127
+
128
+ If `e2e: true`, mention that after the full branding diamond completes, it will auto-transition to project setup.
129
+ </process>
@@ -1,9 +1,7 @@
1
1
  ---
2
2
  name: gsp-brand-guidelines
3
- description: Operationalize your brand — assemble tokens, STYLE.md, component mapping, and guidelines
3
+ description: Operationalize your brand — assemble tokens, STYLE.md, component mapping, and guidelines (technical 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
@@ -26,11 +24,6 @@ Operationalize brand identity into project-ready artifacts and complete the bran
26
24
  **Agent:** `gsp-brand-engineer`
27
25
  </objective>
28
26
 
29
- <execution_context>
30
- @${CLAUDE_SKILL_DIR}/../../templates/phases/patterns.md
31
- @${CLAUDE_SKILL_DIR}/design-tokens.md
32
- </execution_context>
33
-
34
27
  <rules>
35
28
  - Always use `AskUserQuestion` for user-facing questions — never raw text prompts
36
29
  - One decision per question — never batch multiple questions in a single message
@@ -116,6 +109,12 @@ Redesign the system from the ground up, informed by what exists.
116
109
 
117
110
  ## Step 3: Spawn brand engineer — Pass 1: Core
118
111
 
112
+ ### Load references and agent methodology
113
+ Read these files and hold their content for inlining into the agent prompt:
114
+ - `${CLAUDE_SKILL_DIR}/../../templates/phases/patterns.md` — patterns output template
115
+ - `${CLAUDE_SKILL_DIR}/design-tokens.md` — design tokens reference
116
+ - `${CLAUDE_SKILL_DIR}/methodology/gsp-brand-engineer.md` — agent methodology
117
+
119
118
  Spawn the `gsp-brand-engineer` agent. **Inline all content** — the agent should not need to read input files.
120
119
 
121
120
  Pass in the agent prompt:
@@ -123,7 +122,9 @@ Pass in the agent prompt:
123
122
  - **Content of** strategy chunks: voice-and-tone.md, archetype.md, positioning.md (loaded in Step 1)
124
123
  - **Content of** BRIEF.md (loaded in Step 1)
125
124
  - **Content of** style base preset `.yml` + `.md` (loaded in Step 1) — `.yml` as structural scaffold, `.md` as philosophy + implementation content for STYLE.md
126
- - Patterns output template, design tokens reference (from execution_context)
125
+ - **Agent methodology** (loaded above)
126
+ - **Content of** patterns output template (loaded above)
127
+ - **Content of** design tokens reference (loaded above)
127
128
  - The `system_strategy` and `tech_stack` values
128
129
  - **Output path:** `{BRAND_PATH}/patterns/`
129
130
 
@@ -187,12 +188,13 @@ If adjust → use `/gsp-brand-refine` with the concern, then re-present. If conf
187
188
 
188
189
  ## Step 4: Spawn brand engineer — Pass 2: Components
189
190
 
190
- Spawn the `gsp-brand-engineer` agent with:
191
+ Spawn the `gsp-brand-engineer` agent with (reuse **Agent methodology** loaded in Step 3):
191
192
  - **Content of** the confirmed `{BRAND_PATH}/patterns/{brand-name}.yml`
192
193
  - **Content of** `{BRAND_PATH}/patterns/STYLE.md`
193
194
  - **Content of** `.design/system/STACK.md`, `COMPONENTS.md`, `TOKENS.md` (when loaded in Step 1.5)
194
195
  - The `system_strategy` and `tech_stack` values
195
- - Design tokens reference (from execution_context)
196
+ - **Agent methodology** (loaded in Step 3)
197
+ - **Content of** design tokens reference (loaded in Step 3)
196
198
  - **Output path:** `{BRAND_PATH}/patterns/`
197
199
 
198
200
  > Produce the component artifacts:
@@ -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
 
@@ -106,16 +107,16 @@ The agent writes 5 chunks + INDEX.md (creative decisions only — no technical e
106
107
  5. `brand-applications.md`
107
108
  6. `INDEX.md`
108
109
 
109
- ## Step 3.5: Enrich with domain skills
110
+ ## Step 3.5: Enrich with domain skills (parallel)
110
111
 
111
- After the creative-director finishes, invoke domain skills to add technical precision to the creative decisions. Each skill reads the chunk the agent wrote, enriches it, and overwrites.
112
+ After the creative-director finishes, invoke all 4 domain skills in parallel they operate on separate chunks with zero dependencies:
112
113
 
113
- 1. **Invoke `/gsp-logo --enrich`** — reads `logo-directions.md`, enriches each direction with detailed construction geometry, complete variation specs, clear space rules, and minimum size calculations.
114
- 2. **Invoke `/gsp-color --enrich`** — reads `color-system.md`, generates OKLCH palettes via tints.dev, calculates WCAG contrast, writes `palettes.json`, enriches with contrast ratios and semantic mapping.
115
- 3. **Invoke `/gsp-typography --enrich`** — reads `typography.md`, generates mathematical type scale, adds fluid type formulas, enriches with font loading instructions.
116
- 4. **Invoke `/gsp-visuals --imagery --enrich`** — reads `imagery-style.md`, adds icon library specifics, CSS texture/treatment recipes, enriches with technical implementation details.
114
+ - **`/gsp-logo --enrich`** — reads `logo-directions.md`, enriches with construction geometry, variation specs, clear space rules, minimum size calculations.
115
+ - **`/gsp-color --enrich`** — reads `color-system.md`, generates OKLCH palettes via tints.dev, calculates WCAG contrast, writes `palettes.json`, enriches with contrast ratios and semantic mapping.
116
+ - **`/gsp-typography --enrich`** — reads `typography.md`, generates mathematical type scale, adds fluid type formulas, enriches with font loading instructions.
117
+ - **`/gsp-visuals --imagery --enrich`** — reads `imagery-style.md`, adds icon library specifics, CSS texture/treatment recipes, enriches with technical implementation details.
117
118
 
118
- Each skill loads its own domain references on-demand — no upfront context cost.
119
+ Invoke all 4 using the Skill tool simultaneously. Each skill loads its own domain references on-demand — no upfront context cost.
119
120
 
120
121
  ## Step 4: Perspective check
121
122