get-shit-pretty 0.6.1 → 0.6.2
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/.claude-plugin/plugin.json +1 -1
- package/README.md +2 -0
- package/bin/install.js +6 -0
- package/gsp/agents/gsp-identity-designer.md +5 -8
- package/gsp/hooks/hooks.json +54 -0
- package/gsp/skills/get-shit-pretty/SKILL.md +2 -0
- package/gsp/skills/gsp-accessibility/SKILL.md +1 -0
- package/gsp/skills/gsp-accessibility-audit/SKILL.md +2 -0
- package/gsp/skills/gsp-add-reference/SKILL.md +1 -0
- package/gsp/skills/gsp-art/SKILL.md +1 -0
- package/gsp/skills/gsp-brand-audit/SKILL.md +2 -0
- package/gsp/skills/gsp-brand-identity/SKILL.md +14 -12
- package/gsp/skills/gsp-brand-patterns/SKILL.md +2 -0
- package/gsp/skills/gsp-brand-refine/SKILL.md +1 -0
- package/gsp/skills/gsp-brand-research/SKILL.md +2 -0
- package/gsp/skills/gsp-brand-strategy/SKILL.md +2 -0
- package/gsp/skills/gsp-brand-sync/SKILL.md +2 -0
- package/gsp/skills/gsp-design-system/SKILL.md +1 -0
- package/gsp/skills/gsp-doctor/SKILL.md +1 -0
- package/gsp/skills/gsp-help/SKILL.md +1 -0
- package/gsp/skills/gsp-launch/SKILL.md +11 -2
- package/gsp/skills/gsp-palette/SKILL.md +1 -0
- package/gsp/skills/gsp-pretty/SKILL.md +1 -0
- package/gsp/skills/gsp-progress/SKILL.md +1 -0
- package/gsp/skills/gsp-project-brief/SKILL.md +10 -9
- package/gsp/skills/gsp-project-build/SKILL.md +15 -5
- package/gsp/skills/gsp-project-critique/SKILL.md +34 -10
- package/gsp/skills/gsp-project-design/SKILL.md +30 -7
- package/gsp/skills/gsp-project-research/SKILL.md +11 -9
- package/gsp/skills/gsp-project-review/SKILL.md +3 -0
- package/gsp/skills/gsp-scaffold/SKILL.md +1 -0
- package/gsp/skills/gsp-start/SKILL.md +12 -20
- package/gsp/skills/gsp-style/SKILL.md +1 -0
- package/gsp/skills/gsp-typescale/SKILL.md +1 -0
- package/gsp/skills/gsp-update/SKILL.md +1 -0
- package/gsp/templates/branding/config.json +1 -1
- package/gsp/templates/phases/identity.md +2 -6
- package/gsp/templates/projects/config.json +1 -1
- package/package.json +12 -14
package/README.md
CHANGED
|
@@ -183,6 +183,7 @@ Create marketing campaign assets — landing page copy, social media content, la
|
|
|
183
183
|
| `/gsp:brand-strategy` | Define archetype, positioning, personality, voice, messaging |
|
|
184
184
|
| `/gsp:brand-identity` | Create visual identity — logo, color, type |
|
|
185
185
|
| `/gsp:brand-patterns` | Build design system — tokens, components |
|
|
186
|
+
| `/gsp:brand-refine` | Surgical token and palette adjustments mid-project |
|
|
186
187
|
|
|
187
188
|
### Project
|
|
188
189
|
|
|
@@ -200,6 +201,7 @@ Create marketing campaign assets — landing page copy, social media content, la
|
|
|
200
201
|
|
|
201
202
|
| Command | What it does |
|
|
202
203
|
|---------|--------------|
|
|
204
|
+
| `/gsp:accessibility-audit` | Full WCAG 2.2 AA accessibility audit |
|
|
203
205
|
| `/gsp:add-reference` | Add reference material to a project |
|
|
204
206
|
| `/gsp:doctor` | Check project health |
|
|
205
207
|
| `/gsp:update` | Update GSP to latest version |
|
package/bin/install.js
CHANGED
|
@@ -605,6 +605,8 @@ function convertClaudeSkillToOpencode(content, skillName) {
|
|
|
605
605
|
if (trimmed.startsWith('color:')) { inList = false; continue; }
|
|
606
606
|
if (trimmed.startsWith('context:')) { inList = false; continue; }
|
|
607
607
|
if (trimmed.startsWith('agent:')) { inList = false; continue; }
|
|
608
|
+
if (trimmed.startsWith('model:')) { inList = false; continue; }
|
|
609
|
+
if (trimmed.startsWith('effort:')) { inList = false; continue; }
|
|
608
610
|
// Skip list items under dropped fields
|
|
609
611
|
if (inList) {
|
|
610
612
|
if (trimmed.startsWith('- ')) continue;
|
|
@@ -783,6 +785,8 @@ function convertClaudeSkillToGemini(content, skillName) {
|
|
|
783
785
|
if (trimmed.startsWith('color:')) { inList = false; continue; }
|
|
784
786
|
if (trimmed.startsWith('context:')) { inList = false; continue; }
|
|
785
787
|
if (trimmed.startsWith('agent:')) { inList = false; continue; }
|
|
788
|
+
if (trimmed.startsWith('model:')) { inList = false; continue; }
|
|
789
|
+
if (trimmed.startsWith('effort:')) { inList = false; continue; }
|
|
786
790
|
if (inList) {
|
|
787
791
|
if (trimmed.startsWith('- ')) continue;
|
|
788
792
|
else if (trimmed && !trimmed.startsWith('-')) inList = false;
|
|
@@ -858,6 +862,8 @@ function convertClaudeSkillToCodex(content, skillName) {
|
|
|
858
862
|
if (trimmed.startsWith('color:')) { inList = false; continue; }
|
|
859
863
|
if (trimmed.startsWith('context:')) { inList = false; continue; }
|
|
860
864
|
if (trimmed.startsWith('agent:')) { inList = false; continue; }
|
|
865
|
+
if (trimmed.startsWith('model:')) { inList = false; continue; }
|
|
866
|
+
if (trimmed.startsWith('effort:')) { inList = false; continue; }
|
|
861
867
|
if (inList) {
|
|
862
868
|
if (trimmed.startsWith('- ')) continue;
|
|
863
869
|
else if (trimmed && !trimmed.startsWith('-')) inList = false;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsp-identity-designer
|
|
3
3
|
description: Creates visual identity — logo, color, typography, imagery. Spawned by /gsp:brand-identity.
|
|
4
|
-
tools: Read, Write, Edit, Bash, Grep, Glob,
|
|
5
|
-
maxTurns:
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch
|
|
5
|
+
maxTurns: 30
|
|
6
6
|
permissionMode: acceptEdits
|
|
7
7
|
color: magenta
|
|
8
8
|
---
|
|
@@ -30,12 +30,11 @@ You do NOT create strategy or voice. You receive those as input and translate th
|
|
|
30
30
|
1. **Absorb inputs** — strategy chunks for strategic grounding, voice-and-tone for verbal-visual alignment, mood board for visual starting point
|
|
31
31
|
1.5. **Seed from style base** — if style base preset files are provided, read the `.yml` for token values (palette, typography, spacing) and the `.md` for design philosophy. Use these as vocabulary, not constraint — adapt freely where the brand demands it. The preset is a starting palette and type direction, not a rulebook.
|
|
32
32
|
2. **Design logo system** — 3 distinct directions, each expressing strategy differently. For each: concept, rationale (connects to archetype + positioning), variations, usage rules
|
|
33
|
-
3. **Build color system** — primary, secondary, accent, semantic. Each color needs strategic rationale. Include Hex
|
|
34
|
-
4. **Generate palettes** — use tints.dev API: `https://tints.dev/api/{colorName}/{hexWithout#}`. Store in `identity/palettes.json`
|
|
33
|
+
3. **Build color system** — primary, secondary, accent, neutral, semantic. Each color needs strategic rationale. Include Hex and RGB. Map dark mode. Calculate WCAG AA contrast. Semantic colors (success, warning, error, info) are standard values — define them in color-system.md but do NOT generate tints.dev palettes for them.
|
|
34
|
+
4. **Generate palettes** — use tints.dev API: `https://tints.dev/api/{colorName}/{hexWithout#}`. **Only for brand colors (primary, secondary, accent) and neutrals.** Store in `identity/palettes.json`
|
|
35
35
|
5. **Define typography** — primary + secondary typefaces. Connect choices to voice: "We chose X because our voice is Y"
|
|
36
36
|
6. **Specify imagery** — photography, illustration, iconography. Connected to archetype and brand essence
|
|
37
37
|
7. **Show applications** — brand in context across key touchpoints
|
|
38
|
-
8. **Outline brand book** — 20-page structure
|
|
39
38
|
|
|
40
39
|
## Quality Standards
|
|
41
40
|
- Every visual decision traces to strategy: "We chose X because [archetype/positioning/voice]"
|
|
@@ -44,7 +43,7 @@ You do NOT create strategy or voice. You receive those as input and translate th
|
|
|
44
43
|
</methodology>
|
|
45
44
|
|
|
46
45
|
<output>
|
|
47
|
-
Write
|
|
46
|
+
Write 5 chunks + palettes.json + INDEX.md to the identity directory (path provided by the skill that spawned you).
|
|
48
47
|
|
|
49
48
|
Each chunk follows `references/chunk-format.md`.
|
|
50
49
|
|
|
@@ -53,7 +52,6 @@ Each chunk follows `references/chunk-format.md`.
|
|
|
53
52
|
3. **`typography.md`** (~60-80 lines) — primary + secondary typefaces with rationale, type scale, responsive behavior
|
|
54
53
|
4. **`imagery-style.md`** (~50-70 lines) — photography, illustration, iconography guidelines
|
|
55
54
|
5. **`brand-applications.md`** (~50-70 lines) — key touchpoints showing brand in use
|
|
56
|
-
6. **`brand-book.md`** (~40-50 lines) — 20-page outline
|
|
57
55
|
|
|
58
56
|
### palettes.json
|
|
59
57
|
tints.dev OKLCH palettes in the identity directory.
|
|
@@ -71,7 +69,6 @@ tints.dev OKLCH palettes in the identity directory.
|
|
|
71
69
|
| Typography | [typography.md](./typography.md) | ~{N} |
|
|
72
70
|
| Imagery Style | [imagery-style.md](./imagery-style.md) | ~{N} |
|
|
73
71
|
| Brand Applications | [brand-applications.md](./brand-applications.md) | ~{N} |
|
|
74
|
-
| Brand Book | [brand-book.md](./brand-book.md) | ~{N} |
|
|
75
72
|
| Palettes | [palettes.json](./palettes.json) | — |
|
|
76
73
|
```
|
|
77
74
|
</output>
|
package/gsp/hooks/hooks.json
CHANGED
|
@@ -12,6 +12,60 @@
|
|
|
12
12
|
}
|
|
13
13
|
],
|
|
14
14
|
"SubagentStop": [
|
|
15
|
+
{
|
|
16
|
+
"matcher": "gsp-designer",
|
|
17
|
+
"hooks": [
|
|
18
|
+
{
|
|
19
|
+
"type": "prompt",
|
|
20
|
+
"prompt": "The gsp-designer agent just finished. Verify: (1) at least one design/screen-*.md chunk was written, (2) design/INDEX.md was written, (3) design/preview.html was written. Report any missing deliverables to the user."
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"matcher": "gsp-critic",
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "prompt",
|
|
29
|
+
"prompt": "The gsp-critic agent just finished. Verify: (1) critique/critique.md was written with a heuristics score, (2) critique/prioritized-fixes.md was written, (3) critique/strengths.md was written. Report any missing deliverables to the user."
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"matcher": "gsp-identity-designer",
|
|
35
|
+
"hooks": [
|
|
36
|
+
{
|
|
37
|
+
"type": "prompt",
|
|
38
|
+
"prompt": "The gsp-identity-designer agent just finished. Verify: (1) identity/INDEX.md was written, (2) identity/color-system.md exists, (3) identity/typography.md exists, (4) identity/palettes.json exists. Report any missing deliverables to the user."
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"matcher": "gsp-pattern-architect",
|
|
44
|
+
"hooks": [
|
|
45
|
+
{
|
|
46
|
+
"type": "prompt",
|
|
47
|
+
"prompt": "The gsp-pattern-architect agent just finished. Verify: (1) tokens.json was written, (2) INDEX.md was written, (3) at least one foundations/ chunk exists. Report any missing deliverables to the user."
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"matcher": "gsp-scoper",
|
|
53
|
+
"hooks": [
|
|
54
|
+
{
|
|
55
|
+
"type": "prompt",
|
|
56
|
+
"prompt": "The gsp-scoper agent just finished. Verify: (1) brief/scope.md was written, (2) brief/target-adaptations.md was written, (3) brief/INDEX.md was written. Report any missing deliverables to the user."
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"matcher": "gsp-campaign-director",
|
|
62
|
+
"hooks": [
|
|
63
|
+
{
|
|
64
|
+
"type": "prompt",
|
|
65
|
+
"prompt": "The gsp-campaign-director agent just finished. Verify: (1) launch/campaign-strategy.md was written, (2) launch/INDEX.md was written. Report any missing deliverables to the user."
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
},
|
|
15
69
|
{
|
|
16
70
|
"matcher": "gsp-builder",
|
|
17
71
|
"hooks": [
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: get-shit-pretty
|
|
3
3
|
description: "Design engineering for AI coding tools. Full pipeline: brand research, strategy, identity, design system, UI design, critique, accessibility audit, build, and launch. Runs specialized agents with Apple HIG, Nielsen's heuristics, WCAG 2.2 AA, and design token standards baked in."
|
|
4
4
|
user-invocable: false
|
|
5
|
+
model: opus
|
|
6
|
+
effort: high
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
# Get Shit Pretty
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: brand-identity
|
|
3
3
|
description: Create your visual identity — logo, color, typography
|
|
4
4
|
user-invocable: true
|
|
5
|
+
model: opus
|
|
6
|
+
effort: high
|
|
5
7
|
allowed-tools:
|
|
6
8
|
- Read
|
|
7
9
|
- Write
|
|
@@ -85,26 +87,26 @@ After visual direction is confirmed, ask as a separate `AskUserQuestion`:
|
|
|
85
87
|
|
|
86
88
|
## Step 3: Spawn identity designer
|
|
87
89
|
|
|
88
|
-
Spawn the `gsp-identity-designer` agent
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
90
|
+
Spawn the `gsp-identity-designer` agent. **Inline all content** — the agent should not need to read any input files.
|
|
91
|
+
|
|
92
|
+
Pass in the agent prompt:
|
|
93
|
+
- **Content of** BRIEF.md (loaded in Step 1)
|
|
94
|
+
- **Content of** strategy chunks: archetype.md, positioning.md, brand-platform.md, voice-and-tone.md (loaded in Step 1)
|
|
95
|
+
- **Content of** discover/mood-board-direction.md (loaded in Step 1)
|
|
96
|
+
- **Content of** style base preset files `.yml` + `.md` (when loaded in Step 1)
|
|
97
|
+
- **Content of** audit/brand-inventory.md (when loaded in Step 2)
|
|
98
|
+
- Brand Identity Creator prompt (02), identity output template, color composition reference (from execution_context)
|
|
94
99
|
- User-confirmed visual direction + constraints
|
|
95
|
-
- Style base preset files (`.yml` + `.md`) if loaded
|
|
96
|
-
- Audit chunks if they exist
|
|
97
100
|
- **Output path:** `{BRAND_PATH}/identity/`
|
|
98
101
|
|
|
99
|
-
The agent writes
|
|
102
|
+
The agent writes 5 chunks + palettes.json + INDEX.md:
|
|
100
103
|
1. `logo-directions.md`
|
|
101
104
|
2. `color-system.md`
|
|
102
105
|
3. `typography.md`
|
|
103
106
|
4. `imagery-style.md`
|
|
104
107
|
5. `brand-applications.md`
|
|
105
|
-
6. `
|
|
106
|
-
7. `
|
|
107
|
-
8. `INDEX.md`
|
|
108
|
+
6. `palettes.json`
|
|
109
|
+
7. `INDEX.md`
|
|
108
110
|
|
|
109
111
|
## Step 4: Perspective check
|
|
110
112
|
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
name: launch
|
|
3
3
|
description: Create launch and marketing assets
|
|
4
4
|
user-invocable: true
|
|
5
|
+
model: opus
|
|
6
|
+
effort: high
|
|
7
|
+
context: fork
|
|
5
8
|
allowed-tools:
|
|
6
9
|
- Read
|
|
7
10
|
- Write
|
|
@@ -63,9 +66,15 @@ Read `{PROJECT_PATH}/BRIEF.md` — audience, goals.
|
|
|
63
66
|
|
|
64
67
|
## Step 2: Spawn campaign director
|
|
65
68
|
|
|
66
|
-
Spawn the `gsp-campaign-director` agent
|
|
69
|
+
Spawn the `gsp-campaign-director` agent. **Inline all content** — the agent should not need to read any input files.
|
|
67
70
|
|
|
68
|
-
|
|
71
|
+
Pass in the agent prompt:
|
|
72
|
+
- **Content of** all identity chunks (loaded in Step 1)
|
|
73
|
+
- **Content of** strategy voice-and-tone.md + messaging.md (loaded in Step 1)
|
|
74
|
+
- **Content of** all design screen chunks (loaded in Step 1)
|
|
75
|
+
- **Content of** BRIEF.md (loaded in Step 1)
|
|
76
|
+
- The Marketing Asset Factory prompt (04), launch output template (from execution_context)
|
|
77
|
+
- **Output path:** `{PROJECT_PATH}/launch/`
|
|
69
78
|
|
|
70
79
|
The agent writes chunks directly:
|
|
71
80
|
- `launch/campaign-strategy.md`
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: project-brief
|
|
3
3
|
description: Scope what you're building
|
|
4
4
|
user-invocable: true
|
|
5
|
+
model: sonnet
|
|
5
6
|
allowed-tools:
|
|
6
7
|
- Read
|
|
7
8
|
- Write
|
|
@@ -79,15 +80,15 @@ If the project scope feels large, suggest breaking it into multiple bounded issu
|
|
|
79
80
|
|
|
80
81
|
## Step 2: Spawn scoper
|
|
81
82
|
|
|
82
|
-
Spawn the `gsp-scoper` agent
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
- The brief output template
|
|
83
|
+
Spawn the `gsp-scoper` agent. **Inline all content** — the agent should not need to read any input files.
|
|
84
|
+
|
|
85
|
+
Pass in the agent prompt:
|
|
86
|
+
- **Content of** brand patterns foundation + component chunks (loaded in Step 1)
|
|
87
|
+
- **Content of** tokens.json (loaded in Step 1)
|
|
88
|
+
- **Content of** BRIEF.md (loaded in Step 1)
|
|
89
|
+
- **Content of** `.design/system/STACK.md`, `COMPONENTS.md` (when loaded in Step 1)
|
|
90
|
+
- **Content of** CHANGELOG.md + relevant MANIFEST.md files (loaded in Step 1)
|
|
91
|
+
- The Project Scoper prompt (10), brief output template (from execution_context)
|
|
91
92
|
- `implementation_target`, `design_scope`, `codebase_type`
|
|
92
93
|
- **Output path:** `{PROJECT_PATH}/brief/`
|
|
93
94
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: project-build
|
|
3
3
|
description: Translate designs to code
|
|
4
4
|
user-invocable: true
|
|
5
|
+
model: opus
|
|
6
|
+
effort: high
|
|
5
7
|
allowed-tools:
|
|
6
8
|
- Read
|
|
7
9
|
- Write
|
|
@@ -49,9 +51,6 @@ Implement designs as production-ready code in the codebase via phased pipeline w
|
|
|
49
51
|
<execution_context>
|
|
50
52
|
@${CLAUDE_SKILL_DIR}/../../prompts/09-design-to-code-translator.md
|
|
51
53
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/build.md
|
|
52
|
-
@${CLAUDE_SKILL_DIR}/../../references/visual-effects.md
|
|
53
|
-
@${CLAUDE_SKILL_DIR}/../../references/block-patterns.md
|
|
54
|
-
@${CLAUDE_SKILL_DIR}/../../references/anti-patterns.md
|
|
55
54
|
</execution_context>
|
|
56
55
|
|
|
57
56
|
<process>
|
|
@@ -110,6 +109,15 @@ After scaffold completes, verify `{PROJECT_PATH}/build/SCAFFOLD-LOG.md` exists.
|
|
|
110
109
|
|
|
111
110
|
**Gate:** If scaffold reports build failure, stop and surface the error. Do not proceed to foundations with a broken build.
|
|
112
111
|
|
|
112
|
+
## Step 2.5: Load build references
|
|
113
|
+
|
|
114
|
+
Read these reference files (relative to skill dir `${CLAUDE_SKILL_DIR}/../../references/`):
|
|
115
|
+
- `visual-effects.md`
|
|
116
|
+
- `block-patterns.md`
|
|
117
|
+
- `anti-patterns.md`
|
|
118
|
+
|
|
119
|
+
Hold their content for inlining into agent prompts in Steps 3 and 5.
|
|
120
|
+
|
|
113
121
|
## Step 3: Phase 2 — FOUNDATIONS
|
|
114
122
|
|
|
115
123
|
Spawn `gsp-builder` agent with **execution_mode: foundations**.
|
|
@@ -125,7 +133,8 @@ Spawn `gsp-builder` agent with **execution_mode: foundations**.
|
|
|
125
133
|
| `.design/system/CONVENTIONS.md` | Codebase conventions (if exists) |
|
|
126
134
|
| `.design/system/COMPONENTS.md` | Existing components (if exists) |
|
|
127
135
|
| `{PROJECT_PATH}/config.json` | Tech stack, target |
|
|
128
|
-
| Design-to-Code Translator prompt (09) | Translation methodology |
|
|
136
|
+
| Design-to-Code Translator prompt (09, from execution_context) | Translation methodology |
|
|
137
|
+
| Visual effects, block patterns, anti-patterns refs (loaded in Step 2.5) | Design patterns + constraints |
|
|
129
138
|
|
|
130
139
|
### Agent instructions:
|
|
131
140
|
|
|
@@ -222,7 +231,8 @@ Build screens sequentially. For each screen in `SCREENS`:
|
|
|
222
231
|
| `{PROJECT_PATH}/brief/target-adaptations.md` | Component adaptations |
|
|
223
232
|
| `{PROJECT_PATH}/research/reference-specs.md` (if exists) | Technical specs |
|
|
224
233
|
| `{PROJECT_PATH}/critique/prioritized-fixes.md` (if exists) | Critique fixes relevant to this screen |
|
|
225
|
-
| Design-to-Code Translator prompt (09) | Translation methodology |
|
|
234
|
+
| Design-to-Code Translator prompt (09, from execution_context) | Translation methodology |
|
|
235
|
+
| Visual effects, block patterns, anti-patterns refs (loaded in Step 2.5) | Design patterns + constraints |
|
|
226
236
|
|
|
227
237
|
**Does NOT receive:** other screen chunks, tokens.json (already in codebase), full brand system, research monoliths.
|
|
228
238
|
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
name: project-critique
|
|
3
3
|
description: Critique your designs + accessibility audit
|
|
4
4
|
user-invocable: true
|
|
5
|
+
model: opus
|
|
6
|
+
effort: high
|
|
7
|
+
context: fork
|
|
5
8
|
allowed-tools:
|
|
6
9
|
- Read
|
|
7
10
|
- Write
|
|
@@ -26,11 +29,6 @@ Critique design quality and audit accessibility compliance.
|
|
|
26
29
|
@${CLAUDE_SKILL_DIR}/../../prompts/06-design-critique-partner.md
|
|
27
30
|
@${CLAUDE_SKILL_DIR}/../../prompts/08-accessibility-auditor.md
|
|
28
31
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/critique.md
|
|
29
|
-
@${CLAUDE_SKILL_DIR}/../../references/nielsen-heuristics.md
|
|
30
|
-
@${CLAUDE_SKILL_DIR}/../../references/visual-taste.md
|
|
31
|
-
@${CLAUDE_SKILL_DIR}/../../references/anti-patterns.md
|
|
32
|
-
@${CLAUDE_SKILL_DIR}/../../references/wcag-checklist.md
|
|
33
|
-
@${CLAUDE_SKILL_DIR}/../../references/color-composition.md
|
|
34
32
|
</execution_context>
|
|
35
33
|
|
|
36
34
|
<process>
|
|
@@ -72,13 +70,39 @@ Read `{PROJECT_PATH}/config.json` to get `implementation_target`, `design_scope`
|
|
|
72
70
|
|
|
73
71
|
**Otherwise:** If design chunks don't exist and scope is not `tokens`, tell the user to complete the design phase first.
|
|
74
72
|
|
|
75
|
-
## Step
|
|
73
|
+
## Step 1.8: Load critique references
|
|
74
|
+
|
|
75
|
+
Read these reference files (relative to skill dir `${CLAUDE_SKILL_DIR}/../../references/`):
|
|
76
|
+
- `nielsen-heuristics.md`
|
|
77
|
+
- `visual-taste.md`
|
|
78
|
+
- `anti-patterns.md`
|
|
79
|
+
- `wcag-checklist.md`
|
|
80
|
+
- `color-composition.md`
|
|
76
81
|
|
|
77
|
-
|
|
78
|
-
|
|
82
|
+
Hold their content for inlining into agent prompts in Step 2.
|
|
83
|
+
|
|
84
|
+
## Step 2: Spawn critics (parallel)
|
|
79
85
|
|
|
80
|
-
**
|
|
81
|
-
|
|
86
|
+
**Inline all content** — agents should not need to read any input files.
|
|
87
|
+
|
|
88
|
+
**Agent 1: gsp-critic** — Pass in the agent prompt:
|
|
89
|
+
- **Content of** all design chunks (loaded in Step 1)
|
|
90
|
+
- **Content of** all identity chunks (loaded in Step 1)
|
|
91
|
+
- **Content of** all patterns chunks (loaded in Step 1)
|
|
92
|
+
- **Content of** brief chunks (loaded in Step 1)
|
|
93
|
+
- **Content of** research recommendations.md (loaded in Step 1)
|
|
94
|
+
- **Content of** BRIEF.md
|
|
95
|
+
- **Content of** Nielsen's 10 Heuristics, visual taste, anti-patterns, color composition references (loaded in Step 1.8)
|
|
96
|
+
- The Design Critique Partner prompt (06), critique output template (from execution_context)
|
|
97
|
+
- Output path: `{PROJECT_PATH}/critique/`
|
|
98
|
+
|
|
99
|
+
**Agent 2: gsp-accessibility-auditor** — Check if `{PROJECT_PATH}/critique/accessibility-audit.md` already exists from a prior `/gsp:accessibility` run. If yes, skip spawning the accessibility auditor — reuse the existing output. If no, pass in the agent prompt:
|
|
100
|
+
- **Content of** all design chunks (loaded in Step 1)
|
|
101
|
+
- **Content of** identity color-system.md and typography.md (loaded in Step 1)
|
|
102
|
+
- **Content of** patterns tokens chunks (loaded in Step 1)
|
|
103
|
+
- **Content of** WCAG checklist reference (loaded in Step 1.8), Accessibility Auditor prompt (08, from execution_context)
|
|
104
|
+
- `accessibility_level` from config (defaults to "WCAG 2.2 AA")
|
|
105
|
+
- Output path: `{PROJECT_PATH}/critique/`
|
|
82
106
|
|
|
83
107
|
## Step 3: Write critique INDEX.md
|
|
84
108
|
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
name: project-design
|
|
3
3
|
description: Design screens and interaction flows
|
|
4
4
|
user-invocable: true
|
|
5
|
+
model: opus
|
|
6
|
+
effort: high
|
|
7
|
+
context: fork
|
|
5
8
|
allowed-tools:
|
|
6
9
|
- Read
|
|
7
10
|
- Write
|
|
@@ -27,10 +30,6 @@ Design core UI/UX screens and interaction flows.
|
|
|
27
30
|
<execution_context>
|
|
28
31
|
@${CLAUDE_SKILL_DIR}/../../prompts/03-ui-ux-pattern-master.md
|
|
29
32
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/design.md
|
|
30
|
-
@${CLAUDE_SKILL_DIR}/../../references/apple-hig-patterns.md
|
|
31
|
-
@${CLAUDE_SKILL_DIR}/../../references/visual-effects.md
|
|
32
|
-
@${CLAUDE_SKILL_DIR}/../../references/block-patterns.md
|
|
33
|
-
@${CLAUDE_SKILL_DIR}/../../references/anti-patterns.md
|
|
34
33
|
</execution_context>
|
|
35
34
|
|
|
36
35
|
<process>
|
|
@@ -111,11 +110,35 @@ When `implementation_target` is not `figma`:
|
|
|
111
110
|
- **If `.design/system/COMPONENTS.md` and `.design/system/TOKENS.md` exist**, read them. Pass to the agent.
|
|
112
111
|
- **If not**, fall back to scanning the codebase.
|
|
113
112
|
|
|
114
|
-
## Step
|
|
113
|
+
## Step 2.5: Load design references
|
|
114
|
+
|
|
115
|
+
Read these reference files (relative to skill dir `${CLAUDE_SKILL_DIR}/../../references/`):
|
|
116
|
+
- `apple-hig-patterns.md`
|
|
117
|
+
- `visual-effects.md`
|
|
118
|
+
- `block-patterns.md`
|
|
119
|
+
- `anti-patterns.md`
|
|
115
120
|
|
|
116
|
-
|
|
121
|
+
Hold their content for inlining into the agent prompt in Step 3.
|
|
122
|
+
|
|
123
|
+
## Step 3: Spawn designer
|
|
117
124
|
|
|
118
|
-
**
|
|
125
|
+
Spawn the `gsp-designer` agent. **Inline all content** — the agent should not need to read any input files.
|
|
126
|
+
|
|
127
|
+
Pass in the agent prompt:
|
|
128
|
+
- **Content of** all brand patterns foundation chunks + selective component chunks (loaded in Step 1)
|
|
129
|
+
- **Content of** brand identity chunks: color-system.md, typography.md, imagery-style.md (loaded in Step 1)
|
|
130
|
+
- **Content of** brand style prompt ({brand-name}.md) when available
|
|
131
|
+
- **Content of** brief chunks: scope.md, target-adaptations.md (loaded in Step 1)
|
|
132
|
+
- **Content of** research chunks: ux-patterns.md, recommendations.md, reference-specs.md (loaded in Step 1)
|
|
133
|
+
- **Content of** BRIEF.md
|
|
134
|
+
- **Content of** `.design/system/COMPONENTS.md`, `TOKENS.md` (when loaded in Step 2)
|
|
135
|
+
- **Content of** custom references (when loaded in Step 1)
|
|
136
|
+
- **Content of** critique fixes: prioritized-fixes.md, accessibility-fixes.md (when in revision mode)
|
|
137
|
+
- The UI/UX Pattern Master prompt (03), design output template (from execution_context)
|
|
138
|
+
- **Content of** Apple HIG patterns, visual effects, block patterns, anti-patterns references (loaded in Step 2.5)
|
|
139
|
+
- `implementation_target`, `design_scope`, `codebase_type`
|
|
140
|
+
- Target screens (when partial)
|
|
141
|
+
- **Output path:** `{PROJECT_PATH}/design/`
|
|
119
142
|
|
|
120
143
|
The agent writes chunks directly:
|
|
121
144
|
- `design/screen-{NN}-{name}.md` (one per screen)
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: project-research
|
|
3
3
|
description: Research UX patterns and technical approaches
|
|
4
4
|
user-invocable: true
|
|
5
|
+
model: sonnet
|
|
6
|
+
effort: high
|
|
5
7
|
allowed-tools:
|
|
6
8
|
- Read
|
|
7
9
|
- Write
|
|
@@ -80,16 +82,16 @@ If competitor URLs or reference sites are mentioned in BRIEF.md or `{PROJECT_PAT
|
|
|
80
82
|
|
|
81
83
|
## Step 2: Spawn project researcher
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
Spawn the `gsp-project-researcher` agent. **Inline all content** — the agent should not need to read any input files.
|
|
84
86
|
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
- The research output template
|
|
87
|
+
Pass in the agent prompt:
|
|
88
|
+
- **Content of** brief scope chunks: scope.md, target-adaptations.md (loaded in Step 1)
|
|
89
|
+
- **Content of** brand patterns foundation chunks (loaded in Step 1)
|
|
90
|
+
- **Content of** brand discovery chunks: competitive-audit.md, trend-analysis.md (loaded in Step 1)
|
|
91
|
+
- **Content of** custom references (loaded in Step 1)
|
|
92
|
+
- **Content of** BRIEF.md (loaded in Step 1)
|
|
93
|
+
- Any pre-fetched reference content (from Step 1.75)
|
|
94
|
+
- The Project Researcher prompt (12), research output template (from execution_context)
|
|
93
95
|
- `implementation_target`, `platform`, `tech_stack`
|
|
94
96
|
- **Output path:** `{PROJECT_PATH}/research/`
|
|
95
97
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: start
|
|
3
3
|
description: Start here — picks up where you left off
|
|
4
4
|
user-invocable: true
|
|
5
|
+
model: sonnet
|
|
5
6
|
allowed-tools:
|
|
6
7
|
- Read
|
|
7
8
|
- Write
|
|
@@ -30,15 +31,6 @@ Through a sequential one-question-at-a-time conversation, gather a complete brie
|
|
|
30
31
|
|
|
31
32
|
<execution_context>
|
|
32
33
|
@${CLAUDE_SKILL_DIR}/../../references/questioning.md
|
|
33
|
-
@${CLAUDE_SKILL_DIR}/../../templates/branding/brief.md
|
|
34
|
-
@${CLAUDE_SKILL_DIR}/../../templates/branding/state.md
|
|
35
|
-
@${CLAUDE_SKILL_DIR}/../../templates/branding/config.json
|
|
36
|
-
@${CLAUDE_SKILL_DIR}/../../templates/branding/roadmap.md
|
|
37
|
-
@${CLAUDE_SKILL_DIR}/../../templates/projects/brief.md
|
|
38
|
-
@${CLAUDE_SKILL_DIR}/../../templates/projects/state.md
|
|
39
|
-
@${CLAUDE_SKILL_DIR}/../../templates/projects/config.json
|
|
40
|
-
@${CLAUDE_SKILL_DIR}/../../templates/projects/roadmap.md
|
|
41
|
-
@${CLAUDE_SKILL_DIR}/../../templates/exports-index.md
|
|
42
34
|
</execution_context>
|
|
43
35
|
|
|
44
36
|
<rules>
|
|
@@ -194,11 +186,11 @@ Note: competitive landscape deep-dive happens in the research phase — don't re
|
|
|
194
186
|
|
|
195
187
|
Skip any question you can already answer from prior context. Don't over-ask.
|
|
196
188
|
|
|
197
|
-
4.
|
|
198
|
-
- `.design/branding/{name}/BRIEF.md` from
|
|
199
|
-
- `.design/branding/{name}/STATE.md` from
|
|
200
|
-
- `.design/branding/{name}/config.json` from
|
|
201
|
-
- `.design/branding/{name}/ROADMAP.md` from
|
|
189
|
+
4. Read templates from `${CLAUDE_SKILL_DIR}/../../templates/branding/` and write artifacts:
|
|
190
|
+
- `.design/branding/{name}/BRIEF.md` from `brief.md` template
|
|
191
|
+
- `.design/branding/{name}/STATE.md` from `state.md` template
|
|
192
|
+
- `.design/branding/{name}/config.json` from `config.json` template
|
|
193
|
+
- `.design/branding/{name}/ROADMAP.md` from `roadmap.md` template
|
|
202
194
|
|
|
203
195
|
5. Set `brand_mode` in config.json based on Step 2 routing decision.
|
|
204
196
|
|
|
@@ -258,12 +250,12 @@ Use the background `git branch --show-current` result. If detected, confirm bran
|
|
|
258
250
|
|
|
259
251
|
Skip any question you can already answer from the codebase scan. Don't over-ask.
|
|
260
252
|
|
|
261
|
-
8.
|
|
262
|
-
- `.design/projects/{name}/BRIEF.md` from
|
|
263
|
-
- `.design/projects/{name}/STATE.md` from
|
|
264
|
-
- `.design/projects/{name}/config.json` from
|
|
265
|
-
- `.design/projects/{name}/ROADMAP.md` from
|
|
266
|
-
- `.design/projects/{name}/exports/INDEX.md` from exports-index
|
|
253
|
+
8. Read templates from `${CLAUDE_SKILL_DIR}/../../templates/projects/` and write artifacts:
|
|
254
|
+
- `.design/projects/{name}/BRIEF.md` from `brief.md` template
|
|
255
|
+
- `.design/projects/{name}/STATE.md` from `state.md` template — populate `## Git` table with detected/confirmed branch (or "—")
|
|
256
|
+
- `.design/projects/{name}/config.json` from `config.json` template — populate `git.branch` with detected/confirmed branch (or empty string)
|
|
257
|
+
- `.design/projects/{name}/ROADMAP.md` from `roadmap.md` template
|
|
258
|
+
- `.design/projects/{name}/exports/INDEX.md` from `${CLAUDE_SKILL_DIR}/../../templates/exports-index.md`
|
|
267
259
|
|
|
268
260
|
9. Route using `AskUserQuestion`: "Project set up! Ready to scope what you're building?"
|
|
269
261
|
- **Continue to scoping** — "Scope the project now" → invoke `/gsp:project-brief` via Skill tool
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
> This phase produces
|
|
8
|
+
> This phase produces 5 chunks + palettes.json + INDEX.md in the `identity/` directory.
|
|
9
9
|
|
|
10
10
|
## Inputs
|
|
11
11
|
- BRIEF.md — personas, constraints
|
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
| `typography.md` | Primary + secondary typefaces, full type scale, responsive behavior |
|
|
27
27
|
| `imagery-style.md` | Photography, illustration, iconography guidelines |
|
|
28
28
|
| `brand-applications.md` | Key touchpoints showing the brand in use |
|
|
29
|
-
| `brand-book.md` | 20-page brand book outline with section descriptions |
|
|
30
29
|
|
|
31
30
|
Also produces `palettes.json` — machine-readable OKLCH color scales.
|
|
32
31
|
|
|
@@ -43,7 +42,7 @@ Each chunk follows the format in `references/chunk-format.md`.
|
|
|
43
42
|
- **Usage rules**
|
|
44
43
|
|
|
45
44
|
### color-system.md
|
|
46
|
-
- Full palette table: Role, Hex, RGB,
|
|
45
|
+
- Full palette table: Role, Hex, RGB, Usage, Rationale
|
|
47
46
|
- Semantic colors (error, success, warning)
|
|
48
47
|
- Color rationale — connects to archetype and brand essence
|
|
49
48
|
- Dark mode mapping table
|
|
@@ -65,6 +64,3 @@ Each chunk follows the format in `references/chunk-format.md`.
|
|
|
65
64
|
- Key touchpoints showing the brand in use (digital, print, social)
|
|
66
65
|
- Each application with visual direction and design notes
|
|
67
66
|
|
|
68
|
-
### brand-book.md
|
|
69
|
-
- 20-page outline covering: Brand Story, Strategy, Voice, Logo System,
|
|
70
|
-
Color, Typography, Imagery, Layout, Applications, Do's and Don'ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "get-shit-pretty",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "Design engineering system for AI coding agents. Brand identity + design projects, from strategy to code.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"get-shit-pretty": "bin/install.js"
|
|
@@ -39,32 +39,30 @@
|
|
|
39
39
|
"url": "git+https://github.com/jubscodes/get-shit-pretty.git"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tailwindcss/postcss": "^4.2.2",
|
|
43
|
-
"@types/node": "^25.5.0",
|
|
44
|
-
"@types/react": "^19.2.14",
|
|
45
|
-
"@types/react-dom": "^19.2.3",
|
|
46
|
-
"next": "^16.2.0",
|
|
47
|
-
"postcss": "^8.5.8",
|
|
48
|
-
"react": "^19.2.4",
|
|
49
|
-
"react-dom": "^19.2.4",
|
|
50
|
-
"tailwindcss": "^4.2.2",
|
|
51
|
-
"typescript": "^5.9.3"
|
|
52
|
-
},
|
|
53
|
-
"dependencies": {
|
|
54
42
|
"@base-ui/react": "^1.3.0",
|
|
55
43
|
"@mdx-js/loader": "^3.1.1",
|
|
56
44
|
"@mdx-js/mdx": "^3.1.1",
|
|
57
45
|
"@mdx-js/react": "^3.1.1",
|
|
58
46
|
"@next/mdx": "^16.2.1",
|
|
47
|
+
"@tailwindcss/postcss": "^4.2.2",
|
|
48
|
+
"@types/node": "^25.5.0",
|
|
49
|
+
"@types/react": "^19.2.14",
|
|
50
|
+
"@types/react-dom": "^19.2.3",
|
|
59
51
|
"class-variance-authority": "^0.7.1",
|
|
60
52
|
"clsx": "^2.1.1",
|
|
61
53
|
"gray-matter": "^4.0.3",
|
|
62
54
|
"lucide-react": "^0.577.0",
|
|
55
|
+
"next": "^16.2.0",
|
|
63
56
|
"next-themes": "^0.4.6",
|
|
57
|
+
"postcss": "^8.5.8",
|
|
58
|
+
"react": "^19.2.4",
|
|
59
|
+
"react-dom": "^19.2.4",
|
|
64
60
|
"shadcn": "^4.1.0",
|
|
65
61
|
"shiki": "^4.0.2",
|
|
66
62
|
"sonner": "^2.0.7",
|
|
67
63
|
"tailwind-merge": "^3.5.0",
|
|
68
|
-
"
|
|
64
|
+
"tailwindcss": "^4.2.2",
|
|
65
|
+
"tw-animate-css": "^1.4.0",
|
|
66
|
+
"typescript": "^5.9.3"
|
|
69
67
|
}
|
|
70
68
|
}
|