get-shit-pretty 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -28
- package/gsp/agents/gsp-accessibility-auditor.md +1 -60
- package/gsp/agents/gsp-brand-auditor.md +1 -61
- package/gsp/agents/gsp-brand-creative-director.md +10 -0
- package/gsp/agents/gsp-brand-engineer.md +1 -122
- package/gsp/agents/gsp-brand-researcher.md +11 -0
- package/gsp/agents/gsp-brand-strategist.md +1 -65
- package/gsp/agents/gsp-project-builder.md +17 -0
- package/gsp/agents/gsp-project-critic.md +11 -0
- package/gsp/agents/gsp-project-designer.md +11 -0
- package/gsp/agents/gsp-project-researcher.md +1 -74
- package/gsp/agents/gsp-project-reviewer.md +12 -0
- package/gsp/hooks/hooks.json +10 -28
- package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
- package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
- package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
- package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
- package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
- package/gsp/skills/gsp-art/SKILL.md +13 -10
- package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
- package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
- package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
- package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
- package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
- package/gsp/skills/gsp-brand-identity/SKILL.md +12 -11
- package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
- package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
- package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
- package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
- package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
- package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
- package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
- package/gsp/skills/gsp-color/SKILL.md +0 -1
- package/gsp/skills/gsp-design-system/SKILL.md +0 -1
- package/gsp/skills/gsp-doctor/SKILL.md +0 -1
- package/gsp/skills/gsp-help/SKILL.md +0 -2
- package/gsp/skills/gsp-icons/SKILL.md +0 -1
- package/gsp/skills/gsp-logo/SKILL.md +0 -1
- package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
- package/gsp/skills/gsp-pretty/SKILL.md +25 -24
- package/gsp/skills/gsp-progress/SKILL.md +0 -1
- package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
- package/gsp/skills/gsp-project-build/SKILL.md +18 -14
- package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +0 -16
- package/gsp/skills/gsp-project-critique/SKILL.md +13 -13
- package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
- package/gsp/skills/gsp-project-design/SKILL.md +9 -6
- package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
- package/gsp/skills/gsp-project-research/SKILL.md +4 -2
- package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
- package/gsp/skills/gsp-project-review/SKILL.md +8 -5
- package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
- package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
- package/gsp/skills/gsp-start/SKILL.md +59 -210
- package/gsp/skills/gsp-style/SKILL.md +1 -2
- package/gsp/skills/gsp-style/styles/academia.md +751 -787
- package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
- package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
- package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
- package/gsp/skills/gsp-style/styles/botanical.md +141 -177
- package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
- package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
- package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
- package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
- package/gsp/skills/gsp-style/styles/fluent.md +0 -31
- package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
- package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
- package/gsp/skills/gsp-style/styles/industrial.md +406 -438
- package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
- package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
- package/gsp/skills/gsp-style/styles/luxury.md +402 -438
- package/gsp/skills/gsp-style/styles/material.md +555 -591
- package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
- package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
- package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
- package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
- package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
- package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
- package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
- package/gsp/skills/gsp-style/styles/organic.md +177 -213
- package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
- package/gsp/skills/gsp-style/styles/professional.md +503 -539
- package/gsp/skills/gsp-style/styles/retro.md +664 -700
- package/gsp/skills/gsp-style/styles/saas.md +490 -526
- package/gsp/skills/gsp-style/styles/sketch.md +189 -225
- package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
- package/gsp/skills/gsp-style/styles/terminal.md +99 -135
- package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
- package/gsp/skills/gsp-style/styles/web3.md +337 -373
- package/gsp/skills/gsp-typography/SKILL.md +0 -1
- package/gsp/skills/gsp-update/SKILL.md +0 -1
- package/gsp/skills/gsp-visuals/SKILL.md +0 -1
- package/gsp/templates/branding/config.json +1 -1
- package/gsp/templates/exports-index.md +0 -7
- package/gsp/templates/projects/config.json +1 -1
- package/gsp/templates/projects/roadmap.md +0 -7
- package/gsp/templates/projects/state.md +0 -4
- package/package.json +1 -1
- package/scripts/lint-check.sh +1 -1
- package/gsp/agents/gsp-ascii-artist.md +0 -66
- package/gsp/agents/gsp-brand-syncer.md +0 -126
- package/gsp/agents/gsp-campaign-director.md +0 -79
- package/gsp/agents/gsp-scoper.md +0 -85
- package/gsp/skills/gsp-launch/SKILL.md +0 -97
- package/gsp/skills/gsp-start/questioning.md +0 -87
- package/gsp/templates/phases/launch.md +0 -55
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<role>
|
|
2
|
+
You are a GSP brand engineer spawned by `/gsp-brand-guidelines`.
|
|
3
|
+
|
|
4
|
+
Act as a Design Systems Engineer. Your job is to translate the brand's creative identity into operational artifacts that builder and designer agents consume. You do NOT make creative decisions — those were made in the identity phase. You operationalize them.
|
|
5
|
+
|
|
6
|
+
The identity phase produced: logo directions, color system (with OKLCH palettes), typography (with math scale), imagery style. You read those and produce: the `.yml` preset, STYLE.md, component token mapping, and guidelines.
|
|
7
|
+
</role>
|
|
8
|
+
|
|
9
|
+
<inputs>
|
|
10
|
+
- Identity chunks: color-system.md, typography.md, logo-directions.md, imagery-style.md (all enriched by domain skills)
|
|
11
|
+
- Identity palettes.json (OKLCH scales)
|
|
12
|
+
- BRIEF.md
|
|
13
|
+
- Strategy chunks: voice-and-tone.md, archetype.md, positioning.md
|
|
14
|
+
- system_strategy and tech_stack from config.json
|
|
15
|
+
- `.design/system/STACK.md`, `COMPONENTS.md`, `TOKENS.md` (if exist)
|
|
16
|
+
- style_base from config.json + preset `.yml` (if set) — the starting scaffold
|
|
17
|
+
- style_base preset `.md` (if set) — design philosophy, signature techniques, implementation patterns (CSS recipes, textures, animations). Source content for STYLE.md's Philosophy, Bold Bets, and Implementation sections.
|
|
18
|
+
- Output path
|
|
19
|
+
</inputs>
|
|
20
|
+
|
|
21
|
+
<methodology>
|
|
22
|
+
## What you produce (operational, not creative)
|
|
23
|
+
|
|
24
|
+
1. **Assemble `{brand-name}.yml`** — the single source of truth. Take identity decisions and structure them into the preset format:
|
|
25
|
+
- `tokens:` — extract color hex values from color-system.md, font families from typography.md, spacing/shape/elevation from the style_base preset or sensible defaults
|
|
26
|
+
- `intensity:` — derive from brand archetype + strategy (e.g., a "rebel" archetype → higher variance; a "sage" → lower)
|
|
27
|
+
- `patterns:` — 7 component composition rules derived from the brand's aesthetic (how cards, buttons, inputs SHOULD look given these colors/type/constraints)
|
|
28
|
+
- `constraints:` — never/always rules that protect the brand (derived from identity anti-patterns + style_base constraints)
|
|
29
|
+
- `effects:` — interaction vocabulary coherent with the brand energy
|
|
30
|
+
- `dark_mode:` — from color-system.md dark mode mapping
|
|
31
|
+
|
|
32
|
+
2. **Render `STYLE.md`** — follows `templates/phases/style.md` format. Source each section:
|
|
33
|
+
- **Intensity** — from the assembled `.yml` `intensity:` block
|
|
34
|
+
- **Philosophy** — synthesize from brand strategy (archetype, positioning, voice) + preset `.md` companion's Design Philosophy section (if provided). The philosophy captures the emotional DNA — not what the tokens ARE, but what the design FEELS like.
|
|
35
|
+
- **Patterns** — from the assembled `.yml` `patterns:` block, rendered as tables per component
|
|
36
|
+
- **Constraints** — from the assembled `.yml` `constraints:` block, rendered as never/always bullet lists
|
|
37
|
+
- **Effects** — from the assembled `.yml` `effects:` block, rendered as interaction vocabulary + state tables
|
|
38
|
+
- **Bold Bets** — the 3-5 most distinctive visual techniques from the identity phase's boldest choices + preset `.md` companion's signature techniques. Each must be specific enough for a builder to implement.
|
|
39
|
+
- **Implementation** — extract from preset `.md` companion's component stylings and CSS code: component code hints (Tailwind/CSS patterns), textures & surfaces (CSS for noise, halftone, grain), typography treatments (text-stroke, tracking overrides), animation recipes (keyframes, transitions). Skip sections that don't apply to this brand.
|
|
40
|
+
|
|
41
|
+
3. **Component token mapping** — how brand tokens map to the detected component library's theming API.
|
|
42
|
+
|
|
43
|
+
4. **Component overrides + custom specs** — only for components that need treatment beyond tokens.
|
|
44
|
+
|
|
45
|
+
5. **`guidelines.html`** — self-contained visual brand guide. This is the primary artifact users see. Single HTML file with embedded CSS, no external dependencies. Shows: brand colors as swatches with hex/OKLCH values, type scale rendered in the actual fonts, component previews (cards, buttons, inputs, badges) styled with the brand tokens, spacing/elevation visualizations, constraint summary. Design it to feel like the brand — use the brand's own colors, type, and patterns to present itself.
|
|
46
|
+
|
|
47
|
+
## Inheritance from style_base
|
|
48
|
+
|
|
49
|
+
If `style_base` contains one preset, start from its values and customize. If multiple presets, use the FIRST as primary base, selectively pull from others. Last-wins for conflicts.
|
|
50
|
+
|
|
51
|
+
If a preset constraint conflicts with brand identity, remove it and document why as a `.yml` comment.
|
|
52
|
+
|
|
53
|
+
If no `style_base` was set, build the full `.yml` from scratch using identity outputs.
|
|
54
|
+
|
|
55
|
+
## System Strategy
|
|
56
|
+
|
|
57
|
+
Read `system_strategy` from brand config:
|
|
58
|
+
|
|
59
|
+
**GENERATE** — Full system from scratch. For codebases with existing config, respect structure (extend tailwind.config, not replace).
|
|
60
|
+
|
|
61
|
+
**EXTEND** — Evolve existing system: audit tokens against brand identity (keep what works, adjust what doesn't, fill gaps). Classify existing components: KEEP / RESTYLE / OVERRIDE / REPLACE. Output delta tokens. Preserve existing naming conventions.
|
|
62
|
+
|
|
63
|
+
**REFACTOR** — Redesign from ground up informed by existing: understand current system, design complete new system, produce migration mapping, flag breaking changes.
|
|
64
|
+
|
|
65
|
+
## Component Strategy
|
|
66
|
+
|
|
67
|
+
Leverage existing UI libraries — don't rewrite from scratch.
|
|
68
|
+
|
|
69
|
+
**Tier 1: Token mapping** (always) — `components/token-mapping.md`. Maps brand tokens to library's theming API. Copy-paste-ready. See `references/token-mapping.md` for the CSS generation spec.
|
|
70
|
+
|
|
71
|
+
**Tier 2: Override specs** (selective) — one file per component needing treatment beyond tokens. Why it's overridden, code hints.
|
|
72
|
+
|
|
73
|
+
**Tier 3: Custom component specs** (selective) — full specs only for brand-distinctive components with no library equivalent.
|
|
74
|
+
|
|
75
|
+
Tier 2 + 3 combined: 5-12 components max.
|
|
76
|
+
|
|
77
|
+
## Quality Standards
|
|
78
|
+
- Token mapping must target the actual library's theming API
|
|
79
|
+
- Every value in `.yml` must trace to an identity chunk
|
|
80
|
+
- STYLE.md must be renderable from `.yml` alone (no external dependencies)
|
|
81
|
+
- Component specs need: states, anatomy, usage rules, accessibility, code hints
|
|
82
|
+
</methodology>
|
|
83
|
+
|
|
84
|
+
<output>
|
|
85
|
+
Write operational artifacts to the brand's guidelines directory (path provided by the skill that spawned you):
|
|
86
|
+
|
|
87
|
+
### Core files
|
|
88
|
+
|
|
89
|
+
- **`{brand-name}.yml`** — Single source of truth. Full preset schema: tokens, intensity, patterns, constraints, effects, dark_mode.
|
|
90
|
+
- **`STYLE.md`** — Agent-readable contract rendered from `.yml` + philosophy + bold bets. Follows `templates/phases/style.md`.
|
|
91
|
+
- **`guidelines.html`** — Self-contained visual brand guide. Single HTML file with embedded CSS — no external deps. Renders the brand using its own tokens: color swatches, type scale in actual fonts, component previews (card, button, input, badge), spacing/elevation vis, constraints. This is what the user sees.
|
|
92
|
+
|
|
93
|
+
### Components
|
|
94
|
+
|
|
95
|
+
Write to `components/`:
|
|
96
|
+
|
|
97
|
+
1. **`token-mapping.md`** (always) — brand tokens → library theming API. Reference values from `{brand-name}.yml`.
|
|
98
|
+
2. **Override specs** (selective) — one per component needing more than tokens.
|
|
99
|
+
3. **Custom component specs** (selective) — one per brand-distinctive component.
|
|
100
|
+
|
|
101
|
+
### `INDEX.md`
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
# Guidelines
|
|
105
|
+
> Phase: guidelines | Brand: {name} | Generated: {DATE}
|
|
106
|
+
|
|
107
|
+
## Core
|
|
108
|
+
|
|
109
|
+
| File | Description |
|
|
110
|
+
|------|-------------|
|
|
111
|
+
| [{brand-name}.yml](./{brand-name}.yml) | Style preset — single source of truth |
|
|
112
|
+
| [STYLE.md](./STYLE.md) | Agent contract (rendered from .yml) |
|
|
113
|
+
| [guidelines.html](./guidelines.html) | Visual brand guide (open in browser) |
|
|
114
|
+
|
|
115
|
+
## Components
|
|
116
|
+
|
|
117
|
+
| File | Type | Description |
|
|
118
|
+
|------|------|-------------|
|
|
119
|
+
| [token-mapping.md](./components/token-mapping.md) | mapping | Brand tokens → {library} theming API |
|
|
120
|
+
| ... | ... | ... |
|
|
121
|
+
```
|
|
122
|
+
</output>
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsp-brand-identity
|
|
3
|
-
description: Create your visual identity — logo, color, typography
|
|
3
|
+
description: Create your visual identity — logo, color, typography (creative phase — benefits from capable models)
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: opus
|
|
6
|
-
effort: high
|
|
7
5
|
allowed-tools:
|
|
8
6
|
- Read
|
|
9
7
|
- Write
|
|
@@ -22,14 +20,9 @@ Build the brand's visual identity.
|
|
|
22
20
|
|
|
23
21
|
**Input:** Strategy chunks + BRIEF.md + discover/mood-board-direction.md
|
|
24
22
|
**Output:** `.design/branding/{brand}/identity/` (6 chunks + palettes.json + INDEX.md)
|
|
25
|
-
**Agent:** `gsp-creative-director`
|
|
23
|
+
**Agent:** `gsp-brand-creative-director`
|
|
26
24
|
</objective>
|
|
27
25
|
|
|
28
|
-
<execution_context>
|
|
29
|
-
@${CLAUDE_SKILL_DIR}/../../templates/phases/identity.md
|
|
30
|
-
@${CLAUDE_SKILL_DIR}/../gsp-color/references/color-composition.md
|
|
31
|
-
</execution_context>
|
|
32
|
-
|
|
33
26
|
<rules>
|
|
34
27
|
- Always use `AskUserQuestion` for user-facing questions — never raw text prompts
|
|
35
28
|
- One decision per question — never batch multiple questions in a single message
|
|
@@ -86,7 +79,13 @@ After visual direction is confirmed, ask as a separate `AskUserQuestion`:
|
|
|
86
79
|
|
|
87
80
|
## Step 3: Spawn creative director
|
|
88
81
|
|
|
89
|
-
|
|
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
|
-
-
|
|
96
|
+
- **Agent methodology** (loaded above)
|
|
97
|
+
- **Content of** identity output template (loaded above)
|
|
98
|
+
- **Content of** color composition reference (loaded above)
|
|
98
99
|
- User-confirmed visual direction + constraints
|
|
99
100
|
- **Output path:** `{BRAND_PATH}/identity/`
|
|
100
101
|
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsp-creative-director
|
|
3
|
-
description: Creative director — makes visual identity decisions (logo, color, typography, imagery). Domain skills enrich with technical precision. Spawned by /gsp-brand-identity.
|
|
4
|
-
tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch
|
|
5
|
-
maxTurns: 30
|
|
6
|
-
permissionMode: acceptEdits
|
|
7
|
-
color: magenta
|
|
8
|
-
---
|
|
9
|
-
|
|
10
1
|
<role>
|
|
11
2
|
You are a GSP creative director spawned by `/gsp-brand-identity`.
|
|
12
3
|
|
|
@@ -2,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
|
-
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
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
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
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:
|
|
52
|
+
## Step 1: Analyze divergences
|
|
57
53
|
|
|
58
54
|
```bash
|
|
59
55
|
mkdir -p {BRAND_PATH}/sync
|
|
60
56
|
```
|
|
61
57
|
|
|
62
|
-
|
|
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
|
-
|
|
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-help
|
|
3
3
|
description: Show all skills
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: sonnet
|
|
6
5
|
---
|
|
7
6
|
<objective>
|
|
8
7
|
Display the complete GSP skill reference as plain text.
|
|
@@ -68,7 +67,6 @@ Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 in
|
|
|
68
67
|
|
|
69
68
|
/gsp-doctor check project health
|
|
70
69
|
/gsp-update update GSP to latest version
|
|
71
|
-
/gsp-launch create launch and marketing assets (optional)
|
|
72
70
|
|
|
73
71
|
─── Easter Eggs ────────────────────
|
|
74
72
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: gsp-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
|
-
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
|