get-shit-pretty 0.6.2 → 0.6.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.
- package/README.md +7 -12
- package/bin/install.js +96 -71
- package/gsp/agents/gsp-accessibility-auditor.md +3 -3
- package/gsp/agents/gsp-ascii-artist.md +1 -1
- package/gsp/agents/gsp-brand-auditor.md +2 -2
- package/gsp/agents/gsp-brand-engineer.md +131 -0
- package/gsp/agents/gsp-brand-strategist.md +2 -2
- package/gsp/agents/gsp-brand-syncer.md +8 -7
- package/gsp/agents/gsp-builder.md +48 -5
- package/gsp/agents/gsp-campaign-director.md +2 -3
- package/gsp/agents/gsp-creative-director.md +80 -0
- package/gsp/agents/gsp-critic.md +99 -17
- package/gsp/agents/gsp-designer.md +51 -4
- package/gsp/agents/gsp-project-researcher.md +3 -3
- package/gsp/agents/gsp-researcher.md +4 -4
- package/gsp/agents/gsp-reviewer.md +2 -2
- package/gsp/agents/gsp-scoper.md +2 -2
- package/gsp/hooks/hooks.json +5 -5
- package/gsp/references/design-trends.md +4 -4
- package/gsp/references/phase-transitions.md +12 -12
- package/gsp/references/questioning.md +1 -1
- package/gsp/references/token-mapping.md +329 -0
- package/gsp/skills/gsp-3d/SKILL.md +112 -0
- package/gsp/skills/gsp-accessibility/SKILL.md +11 -11
- package/gsp/skills/gsp-accessibility-audit/SKILL.md +6 -7
- package/gsp/skills/gsp-add-reference/SKILL.md +1 -1
- package/gsp/skills/gsp-art/SKILL.md +1 -1
- package/gsp/skills/gsp-brand-audit/SKILL.md +3 -3
- package/gsp/skills/gsp-brand-guidelines/SKILL.md +233 -0
- package/gsp/skills/gsp-brand-identity/SKILL.md +27 -18
- package/gsp/skills/gsp-brand-refine/SKILL.md +29 -22
- package/gsp/skills/gsp-brand-research/SKILL.md +2 -2
- package/gsp/skills/gsp-brand-strategy/SKILL.md +3 -3
- package/gsp/skills/gsp-brand-sync/SKILL.md +7 -7
- package/gsp/skills/gsp-color/SKILL.md +105 -0
- package/gsp/skills/gsp-design-system/SKILL.md +4 -4
- package/gsp/skills/gsp-doctor/SKILL.md +25 -18
- package/gsp/skills/gsp-help/SKILL.md +28 -28
- package/gsp/skills/gsp-icons/SKILL.md +108 -0
- package/gsp/skills/gsp-images/SKILL.md +197 -0
- package/gsp/skills/gsp-launch/SKILL.md +2 -3
- package/gsp/skills/gsp-logo/SKILL.md +173 -0
- package/gsp/skills/gsp-palette/SKILL.md +13 -13
- package/gsp/skills/gsp-pretty/SKILL.md +2 -2
- package/gsp/skills/gsp-progress/SKILL.md +20 -20
- package/gsp/skills/gsp-project-brief/SKILL.md +7 -8
- package/gsp/skills/gsp-project-build/SKILL.md +21 -21
- package/gsp/skills/gsp-project-critique/SKILL.md +13 -14
- package/gsp/skills/gsp-project-design/SKILL.md +17 -17
- package/gsp/skills/gsp-project-research/SKILL.md +5 -6
- package/gsp/skills/gsp-project-review/SKILL.md +7 -9
- package/gsp/skills/gsp-scaffold/SKILL.md +3 -3
- package/gsp/skills/gsp-start/SKILL.md +14 -14
- package/gsp/skills/gsp-style/SKILL.md +41 -43
- package/gsp/skills/gsp-style/styles/INDEX.yml +1 -1
- package/gsp/skills/gsp-style/styles/academia.yml +80 -0
- package/gsp/skills/gsp-style/styles/art-deco.yml +81 -0
- package/gsp/skills/gsp-style/styles/bauhaus.yml +78 -0
- package/gsp/skills/gsp-style/styles/bold-typography.yml +73 -0
- package/gsp/skills/gsp-style/styles/botanical.yml +78 -0
- package/gsp/skills/gsp-style/styles/claymorphism.yml +84 -0
- package/gsp/skills/gsp-style/styles/cyberpunk.yml +87 -0
- package/gsp/skills/gsp-style/styles/enterprise.yml +81 -0
- package/gsp/skills/gsp-style/styles/flat-design.yml +67 -0
- package/gsp/skills/gsp-style/styles/fluent.yml +82 -0
- package/gsp/skills/gsp-style/styles/glassmorphism.yml +83 -0
- package/gsp/skills/gsp-style/styles/humanist-literary.yml +74 -0
- package/gsp/skills/gsp-style/styles/industrial.yml +82 -0
- package/gsp/skills/gsp-style/styles/kinetic.yml +94 -0
- package/gsp/skills/gsp-style/styles/liquid-glass.yml +91 -0
- package/gsp/skills/gsp-style/styles/luxury.yml +83 -0
- package/gsp/skills/gsp-style/styles/material.yml +83 -0
- package/gsp/skills/gsp-style/styles/maximalism.yml +92 -0
- package/gsp/skills/gsp-style/styles/minimal-dark.yml +75 -0
- package/gsp/skills/gsp-style/styles/modern-dark.yml +88 -0
- package/gsp/skills/gsp-style/styles/monochrome.yml +68 -0
- package/gsp/skills/gsp-style/styles/neubrutalism.yml +83 -0
- package/gsp/skills/gsp-style/styles/neumorphism.yml +77 -0
- package/gsp/skills/gsp-style/styles/newsprint.yml +81 -0
- package/gsp/skills/gsp-style/styles/organic.yml +77 -0
- package/gsp/skills/gsp-style/styles/playful-geometric.yml +90 -0
- package/gsp/skills/gsp-style/styles/professional.yml +67 -0
- package/gsp/skills/gsp-style/styles/retro.yml +85 -0
- package/gsp/skills/gsp-style/styles/saas.yml +83 -0
- package/gsp/skills/gsp-style/styles/sketch.yml +86 -0
- package/gsp/skills/gsp-style/styles/swiss-minimalist.yml +69 -0
- package/gsp/skills/gsp-style/styles/terminal.yml +83 -0
- package/gsp/skills/gsp-style/styles/vaporwave.yml +84 -0
- package/gsp/skills/gsp-style/styles/web3.yml +82 -0
- package/gsp/skills/gsp-textures/SKILL.md +132 -0
- package/gsp/skills/gsp-typescale/SKILL.md +11 -11
- package/gsp/skills/gsp-typography/SKILL.md +108 -0
- package/gsp/skills/gsp-update/SKILL.md +1 -2
- package/gsp/skills/gsp-video/SKILL.md +101 -0
- package/gsp/templates/branding/config.json +1 -1
- package/gsp/templates/branding/roadmap.md +9 -9
- package/gsp/templates/exports-index.md +8 -8
- package/gsp/templates/phases/build.md +1 -1
- package/gsp/templates/phases/design.md +1 -1
- package/gsp/templates/phases/patterns.md +60 -71
- package/gsp/templates/phases/style.md +158 -0
- package/gsp/templates/projects/config.json +1 -1
- package/gsp/templates/projects/roadmap.md +7 -7
- package/gsp/templates/projects/state.md +1 -1
- package/package.json +1 -2
- package/.claude-plugin/plugin.json +0 -24
- package/gsp/agents/gsp-identity-designer.md +0 -74
- package/gsp/agents/gsp-pattern-architect.md +0 -189
- package/gsp/prompts/01-design-system-architect.md +0 -19
- package/gsp/prompts/02-brand-identity-creator.md +0 -16
- package/gsp/prompts/03-ui-ux-pattern-master.md +0 -21
- package/gsp/prompts/04-marketing-asset-factory.md +0 -14
- package/gsp/prompts/05-implementation-spec-expert.md +0 -15
- package/gsp/prompts/06-design-critique-partner.md +0 -14
- package/gsp/prompts/07-design-trend-synthesizer.md +0 -3
- package/gsp/prompts/08-accessibility-auditor.md +0 -23
- package/gsp/prompts/09-design-to-code-translator.md +0 -49
- package/gsp/prompts/10-project-scoper.md +0 -17
- package/gsp/prompts/11-deliverable-reviewer.md +0 -18
- package/gsp/prompts/12-project-researcher.md +0 -18
- package/gsp/skills/gsp-brand-patterns/SKILL.md +0 -240
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: design-system
|
|
2
|
+
name: gsp-design-system
|
|
3
3
|
description: Scan and document the existing design system state
|
|
4
4
|
user-invocable: true
|
|
5
5
|
model: sonnet
|
|
@@ -15,8 +15,8 @@ allowed-tools:
|
|
|
15
15
|
Composable skill that scans the workspace codebase and documents the existing design system state. Produces focused documents that downstream skills and agents consume selectively.
|
|
16
16
|
|
|
17
17
|
Works two ways:
|
|
18
|
-
1. **Standalone** — user runs `/gsp
|
|
19
|
-
2. **Building block** — `/gsp
|
|
18
|
+
1. **Standalone** — user runs `/gsp-design-system` for a quick workspace audit
|
|
19
|
+
2. **Building block** — `/gsp-start` invokes this in the background during project setup
|
|
20
20
|
|
|
21
21
|
Output is workspace-level (not project-scoped), so it's shared across all projects and only needs to run once per codebase state change. Re-runnable — overwrites previous output.
|
|
22
22
|
</context>
|
|
@@ -136,7 +136,7 @@ Each concern includes: file paths, severity (high/medium/low), and fix approach.
|
|
|
136
136
|
Display a summary box:
|
|
137
137
|
|
|
138
138
|
```
|
|
139
|
-
/gsp
|
|
139
|
+
/gsp- design-system scan complete
|
|
140
140
|
|
|
141
141
|
┌──────────────────────────────────────────┐
|
|
142
142
|
│ type {classification} │
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: doctor
|
|
2
|
+
name: gsp-doctor
|
|
3
3
|
description: Check project health
|
|
4
4
|
user-invocable: true
|
|
5
5
|
model: sonnet
|
|
@@ -27,7 +27,7 @@ Check for `.design/` in the current directory.
|
|
|
27
27
|
If not found:
|
|
28
28
|
```
|
|
29
29
|
🩺 GSP Doctor — No project found
|
|
30
|
-
No .design/ directory detected. Run /gsp
|
|
30
|
+
No .design/ directory detected. Run /gsp-start to start.
|
|
31
31
|
```
|
|
32
32
|
Stop here.
|
|
33
33
|
|
|
@@ -68,12 +68,12 @@ If all 4 phases complete, check:
|
|
|
68
68
|
- `identity/INDEX.md` exists (chunk format)
|
|
69
69
|
- `identity/palettes.json` exists (WARN if missing)
|
|
70
70
|
- `patterns/INDEX.md` exists (chunk format)
|
|
71
|
-
- `patterns
|
|
71
|
+
- `patterns/*.yml` preset exists (WARN if missing)
|
|
72
72
|
- If monolith exists without INDEX.md → WARN: "Legacy monolith format"
|
|
73
73
|
|
|
74
74
|
**Check B4: Legacy Monolith Detection**
|
|
75
75
|
For each brand phase directory (discover, strategy, identity, patterns):
|
|
76
|
-
- If monolith exists but no INDEX.md → WARN: "Monolith files are no longer supported in GSP v0.6.0+. Re-run `/gsp
|
|
76
|
+
- If monolith exists but no INDEX.md → WARN: "Monolith files are no longer supported in GSP v0.6.0+. Re-run `/gsp-brand-{phase}` to generate chunk output."
|
|
77
77
|
|
|
78
78
|
### Per-Project Checks (6-phase)
|
|
79
79
|
|
|
@@ -86,12 +86,12 @@ Required dirs: brief/, research/, design/, critique/, build/, review/
|
|
|
86
86
|
|
|
87
87
|
Check each exists:
|
|
88
88
|
- All present → PASS
|
|
89
|
-
- Core files missing → FAIL: list which are missing, suggest `/gsp
|
|
89
|
+
- Core files missing → FAIL: list which are missing, suggest `/gsp-start`
|
|
90
90
|
|
|
91
91
|
**Design system check:**
|
|
92
92
|
- If `.design/system/` directory exists, verify at least `STACK.md` is present → PASS
|
|
93
|
-
- If `.design/system/` is missing and codebase is not greenfield → WARN: "Design system scan missing. Run `/gsp
|
|
94
|
-
- If old project-scoped `codebase/INVENTORY.md` exists → WARN: "Legacy INVENTORY.md found. Run `/gsp
|
|
93
|
+
- If `.design/system/` is missing and codebase is not greenfield → WARN: "Design system scan missing. Run `/gsp-design-system` to scan."
|
|
94
|
+
- If old project-scoped `codebase/INVENTORY.md` exists → WARN: "Legacy INVENTORY.md found. Run `/gsp-design-system` to migrate to workspace-level design system docs."
|
|
95
95
|
|
|
96
96
|
Legacy detection: if system/, screens/, specs/, plan/ dirs exist → WARN: "Legacy structure detected — project uses old phase layout"
|
|
97
97
|
|
|
@@ -103,7 +103,7 @@ WARN if brand referenced but system not complete
|
|
|
103
103
|
**Check P3: Brand Drift**
|
|
104
104
|
Read `identity_hash` from brand.ref
|
|
105
105
|
If brand identity/IDENTITY.md exists, compute current hash (first 8 chars of md5)
|
|
106
|
-
If hashes differ → WARN: "Brand identity has changed since project consumed it. Consider re-running `/gsp
|
|
106
|
+
If hashes differ → WARN: "Brand identity has changed since project consumed it. Consider re-running `/gsp-project-brief`."
|
|
107
107
|
If identity_hash is "pending" → INFO: "Brand identity wasn't complete when project was created."
|
|
108
108
|
|
|
109
109
|
**Check P4: Phase Ordering**
|
|
@@ -117,7 +117,7 @@ brief < research < design < critique < build < review
|
|
|
117
117
|
2. Valid skip scenarios (not violations):
|
|
118
118
|
- design skipped when `design_scope` is `tokens`
|
|
119
119
|
- research can proceed without brief
|
|
120
|
-
3. build complete but critique pending → WARN: "Build completed without critique. Run `/gsp
|
|
120
|
+
3. build complete but critique pending → WARN: "Build completed without critique. Run `/gsp-project-critique` to audit."
|
|
121
121
|
4. Any other out-of-order completion → FAIL with specifics
|
|
122
122
|
|
|
123
123
|
All phases in order (or validly skipped) → PASS
|
|
@@ -130,7 +130,7 @@ Only check phases that are `complete`. All paths relative to the project instanc
|
|
|
130
130
|
|
|
131
131
|
**When `system_strategy` is `extend`:**
|
|
132
132
|
- Check if brand's `patterns/` output contains "Component Audit" or "KEEP" or "RESTYLE" or "REFACTOR" or "REPLACE"
|
|
133
|
-
- If none found → WARN: "Strategy is `extend` but system output lacks component audit table. Re-run `/gsp
|
|
133
|
+
- If none found → WARN: "Strategy is `extend` but system output lacks component audit table. Re-run `/gsp-brand-guidelines`."
|
|
134
134
|
|
|
135
135
|
**When `implementation_target` is `shadcn`:**
|
|
136
136
|
- If brief phase is complete, check brief/ output for "shadcn" or "npx shadcn"
|
|
@@ -169,7 +169,7 @@ No drift detected → PASS
|
|
|
169
169
|
**What it catches:** Chunk directories missing, INDEX.md references broken.
|
|
170
170
|
|
|
171
171
|
For each completed project phase (brief, research, design, critique, build, review):
|
|
172
|
-
- Check for `{phase}/INDEX.md` — if missing → WARN: "Phase {phase} is complete but has no INDEX.md. Re-run `/gsp
|
|
172
|
+
- Check for `{phase}/INDEX.md` — if missing → WARN: "Phase {phase} is complete but has no INDEX.md. Re-run `/gsp-{command}` to generate chunks."
|
|
173
173
|
|
|
174
174
|
**If exports/INDEX.md exists, check for broken references:**
|
|
175
175
|
- Read INDEX.md, extract all file paths from markdown links
|
|
@@ -190,7 +190,7 @@ Legacy path detection: if `screens/` exists instead of `design/` → WARN
|
|
|
190
190
|
**design/ → brand system:**
|
|
191
191
|
If both exist, extract component names referenced in design chunks (look for patterns like "Uses: {ComponentName}" or component references). Check each exists in the brand's system output.
|
|
192
192
|
|
|
193
|
-
Components referenced in designs but not in system → WARN: "Design references components not defined in brand system: {list}. Re-run `/gsp
|
|
193
|
+
Components referenced in designs but not in system → WARN: "Design references components not defined in brand system: {list}. Re-run `/gsp-brand-guidelines` to add them, or update designs."
|
|
194
194
|
|
|
195
195
|
**critique/ → design/:**
|
|
196
196
|
If both exist, extract screen references from critique chunks. Check each referenced screen exists in design/.
|
|
@@ -229,14 +229,14 @@ No review issues → PASS
|
|
|
229
229
|
|
|
230
230
|
**palettes.json check:**
|
|
231
231
|
- If brand's identity phase is complete, check for `identity/palettes.json`
|
|
232
|
-
- If missing → INFO: "No tints.dev palettes found. Re-run `/gsp
|
|
232
|
+
- If missing → INFO: "No tints.dev palettes found. Re-run `/gsp-brand-identity` to generate OKLCH color palettes."
|
|
233
233
|
|
|
234
234
|
No upgrade concerns → PASS
|
|
235
235
|
|
|
236
236
|
### Installation Health Checks
|
|
237
237
|
|
|
238
238
|
**Check I1: Skills have `user-invocable: true`**
|
|
239
|
-
Glob for all SKILL.md files in the skills directory (`{runtime-dir}/skills/*/SKILL.md` — e.g. `.claude/skills/` for Claude Code, `.opencode/skills/` for OpenCode, `.gemini/skills/` for Gemini). For each skill (except the
|
|
239
|
+
Glob for all SKILL.md files in the skills directory (`{runtime-dir}/skills/*/SKILL.md` — e.g. `.claude/skills/` for Claude Code, `.opencode/skills/` for OpenCode, `.gemini/skills/` for Gemini). For each skill (except the entry point `get-shit-pretty`), check frontmatter for `user-invocable: true`.
|
|
240
240
|
- All present → PASS
|
|
241
241
|
- Missing → WARN: "Skills missing `user-invocable: true`: {list}. They won't appear in the slash-command menu. Re-run the installer or add the field manually."
|
|
242
242
|
|
|
@@ -246,7 +246,7 @@ For each gsp-* skill directory, check if `SKILL.md` references sibling files via
|
|
|
246
246
|
- Missing siblings → FAIL: "Skill {name} references {path} but it's missing. Re-run the installer: `npx get-shit-pretty`"
|
|
247
247
|
|
|
248
248
|
**Check I3: Bundle directories accessible**
|
|
249
|
-
Check that the runtime bundle directories exist (`{runtime-dir}/
|
|
249
|
+
Check that the runtime bundle directories exist (`{runtime-dir}/templates/`, `{runtime-dir}/references/`). Skills reference these via `${CLAUDE_SKILL_DIR}/../../`.
|
|
250
250
|
- All present → PASS
|
|
251
251
|
- Missing → FAIL: "Bundle directory {dir} missing. Re-run the installer: `npx get-shit-pretty`"
|
|
252
252
|
|
|
@@ -256,6 +256,12 @@ Check `{runtime-dir}/VERSION` exists and contains a valid semver string.
|
|
|
256
256
|
- Missing → WARN: "VERSION file missing. Re-run the installer."
|
|
257
257
|
- Mismatched with source → INFO: "Installed version {installed} differs from source {source}."
|
|
258
258
|
|
|
259
|
+
**Check I5: No duplicate skills (stale global install)**
|
|
260
|
+
Check if `~/.claude/skills/` contains `gsp-*` directories when running from a local install. These cause duplicates between global and local.
|
|
261
|
+
- Run: `ls ~/.claude/skills/ | grep '^gsp-'`
|
|
262
|
+
- No matches → PASS
|
|
263
|
+
- Matches found → FAIL: "Found {N} stale GSP skills in ~/.claude/skills/. Fix: run `npx get-shit-pretty --claude --local` to reinstall (the installer cleans stale globals automatically), or manually remove: `rm -rf ~/.claude/skills/gsp-*`"
|
|
264
|
+
|
|
259
265
|
### Cross-Instance Checks
|
|
260
266
|
|
|
261
267
|
**Check X1: Multiple projects, same brand**
|
|
@@ -307,6 +313,7 @@ Overall Health: {SCORE}/100 {emoji}
|
|
|
307
313
|
✅ I2. Skill completeness ...... PASS
|
|
308
314
|
✅ I3. Bundle directories ...... PASS
|
|
309
315
|
✅ I4. VERSION file ............ PASS
|
|
316
|
+
✅ I5. No duplicate skills ..... PASS
|
|
310
317
|
|
|
311
318
|
─── Cross-Instance ────────────────────
|
|
312
319
|
✅ X1. Brand Consistency ...... PASS
|
|
@@ -315,15 +322,15 @@ Overall Health: {SCORE}/100 {emoji}
|
|
|
315
322
|
|
|
316
323
|
FAIL:
|
|
317
324
|
• [acme-website/P1] Missing brand.ref
|
|
318
|
-
→ Fix: Re-run /gsp
|
|
325
|
+
→ Fix: Re-run /gsp-start to set up project with brand reference
|
|
319
326
|
|
|
320
327
|
WARN:
|
|
321
328
|
• [acme-corp/B3] No palettes.json found
|
|
322
|
-
→ Fix: Re-run /gsp
|
|
329
|
+
→ Fix: Re-run /gsp-brand-identity to generate OKLCH palettes
|
|
323
330
|
|
|
324
331
|
INFO:
|
|
325
332
|
• [acme-corp/P10] Config version is 0.3.0, current GSP is 0.5.0
|
|
326
|
-
→ Fix: Re-run /gsp
|
|
333
|
+
→ Fix: Re-run /gsp-start to upgrade config
|
|
327
334
|
|
|
328
335
|
─── Summary ───────────────────────────
|
|
329
336
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: help
|
|
2
|
+
name: gsp-help
|
|
3
3
|
description: Show all skills
|
|
4
4
|
user-invocable: true
|
|
5
5
|
model: sonnet
|
|
@@ -26,53 +26,53 @@ Output the following as plain text. Use Unicode characters (`───`, `◇`,
|
|
|
26
26
|
Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 indent + 23 max skill name width).
|
|
27
27
|
|
|
28
28
|
```
|
|
29
|
-
/gsp
|
|
29
|
+
/gsp- ◇◇ v{VERSION}
|
|
30
30
|
skill reference
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
─── Getting Started ──────────────────
|
|
34
34
|
|
|
35
|
-
/gsp
|
|
36
|
-
/gsp
|
|
37
|
-
/gsp
|
|
35
|
+
/gsp-start start here — picks up where you left off
|
|
36
|
+
/gsp-help this skill reference
|
|
37
|
+
/gsp-progress how pretty are we?
|
|
38
38
|
|
|
39
39
|
─── Branding ─────────────────────────
|
|
40
40
|
|
|
41
|
-
/gsp
|
|
42
|
-
/gsp
|
|
43
|
-
/gsp
|
|
44
|
-
/gsp
|
|
45
|
-
/gsp
|
|
46
|
-
/gsp
|
|
47
|
-
/gsp
|
|
41
|
+
/gsp-brand-research research your market and audience
|
|
42
|
+
/gsp-brand-strategy define positioning, personality, voice and messaging
|
|
43
|
+
/gsp-brand-identity create visual identity
|
|
44
|
+
/gsp-brand-guidelines build design system tokens and components
|
|
45
|
+
/gsp-brand-sync sync brand to match a project's shipped state
|
|
46
|
+
/gsp-brand-refine tweak brand tokens mid-project without re-running identity
|
|
47
|
+
/gsp-brand-audit audit existing brand before evolving (optional)
|
|
48
48
|
|
|
49
49
|
─── Project ──────────────────────────
|
|
50
50
|
|
|
51
|
-
/gsp
|
|
52
|
-
/gsp
|
|
53
|
-
/gsp
|
|
54
|
-
/gsp
|
|
55
|
-
/gsp
|
|
56
|
-
/gsp
|
|
57
|
-
/gsp
|
|
51
|
+
/gsp-project-brief scope what you're building
|
|
52
|
+
/gsp-project-research research UX patterns and approaches
|
|
53
|
+
/gsp-project-design design screens and flows
|
|
54
|
+
/gsp-project-critique critique designs + accessibility audit
|
|
55
|
+
/gsp-project-build implement designs in the codebase
|
|
56
|
+
/gsp-project-review QA validate implementation against designs
|
|
57
|
+
/gsp-add-reference add reference material to a project
|
|
58
58
|
|
|
59
59
|
─── Composable ──────────────────────
|
|
60
60
|
|
|
61
|
-
/gsp
|
|
62
|
-
/gsp
|
|
63
|
-
/gsp
|
|
64
|
-
/gsp
|
|
61
|
+
/gsp-accessibility accessibility audit — contrast, WCAG, code checks
|
|
62
|
+
/gsp-palette generate OKLCH color palettes
|
|
63
|
+
/gsp-typescale generate mathematical type scales
|
|
64
|
+
/gsp-style apply a design style preset
|
|
65
65
|
|
|
66
66
|
─── Utilities ────────────────────────
|
|
67
67
|
|
|
68
|
-
/gsp
|
|
69
|
-
/gsp
|
|
70
|
-
/gsp
|
|
68
|
+
/gsp-doctor check project health
|
|
69
|
+
/gsp-update update GSP to latest version
|
|
70
|
+
/gsp-launch create launch and marketing assets (optional)
|
|
71
71
|
|
|
72
72
|
─── Easter Eggs ────────────────────
|
|
73
73
|
|
|
74
|
-
/gsp
|
|
75
|
-
/gsp
|
|
74
|
+
/gsp-art ASCII art studio
|
|
75
|
+
/gsp-pretty surprise terminal art
|
|
76
76
|
|
|
77
77
|
─── Flow ─────────────────────────────
|
|
78
78
|
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp-icons
|
|
3
|
+
description: Design icon systems — library selection, sizing, containers, custom SVG direction
|
|
4
|
+
user-invocable: true
|
|
5
|
+
model: sonnet
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Read
|
|
8
|
+
- Write
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- WebSearch
|
|
13
|
+
---
|
|
14
|
+
<context>
|
|
15
|
+
You are a GSP icon director. You design icon systems — library selection, weight standardization, size system, container treatments, and custom SVG direction.
|
|
16
|
+
|
|
17
|
+
This is a standalone composable skill. It works two ways:
|
|
18
|
+
1. **Standalone** — user runs `/gsp-icons` directly for icon system design
|
|
19
|
+
2. **As a building block** — the creative-director invokes `/gsp-icons --enrich` to add icon system specifics to creative direction
|
|
20
|
+
|
|
21
|
+
Icons are the functional glue of any interface. A consistent icon system is the difference between a polished product and a patchwork of mismatched visuals.
|
|
22
|
+
</context>
|
|
23
|
+
|
|
24
|
+
<objective>
|
|
25
|
+
Define a complete icon system for a brand or project.
|
|
26
|
+
|
|
27
|
+
**Input:** Brand context (style, personality) or user requirements, OR `--enrich` mode
|
|
28
|
+
**Output:** `iconography.md` chunk with library, sizing, containers, and custom SVG specs
|
|
29
|
+
**Agent:** None — inline skill with structured questioning
|
|
30
|
+
</objective>
|
|
31
|
+
|
|
32
|
+
<execution_context>
|
|
33
|
+
@${CLAUDE_SKILL_DIR}/../../references/chunk-format.md
|
|
34
|
+
</execution_context>
|
|
35
|
+
|
|
36
|
+
<rules>
|
|
37
|
+
- Always use `AskUserQuestion` for user interaction — never prompt via plain text
|
|
38
|
+
- One decision per question — never batch multiple questions in a single message
|
|
39
|
+
- Always name specific icon libraries with exact npm package and import path
|
|
40
|
+
- Stroke width must be standardized globally — never mix weights
|
|
41
|
+
- Size system must cover: inline (16px), default (20px), feature (24px), hero (32px+)
|
|
42
|
+
- Container treatment must be defined — bare, circled, squared, tinted background
|
|
43
|
+
</rules>
|
|
44
|
+
|
|
45
|
+
<process>
|
|
46
|
+
## Step 0: Determine mode
|
|
47
|
+
|
|
48
|
+
| Input | Mode |
|
|
49
|
+
|-------|------|
|
|
50
|
+
| `/gsp-icons --enrich` | Enrich existing imagery-style.md iconography section |
|
|
51
|
+
| `/gsp-icons` | Interactive — design icon system |
|
|
52
|
+
|
|
53
|
+
## Step 1: Enrich mode (`--enrich`)
|
|
54
|
+
|
|
55
|
+
Read existing `{BRAND_PATH}/identity/imagery-style.md`. Extract iconography direction.
|
|
56
|
+
|
|
57
|
+
Enrich with:
|
|
58
|
+
- Specific library recommendation with npm package + import path
|
|
59
|
+
- Stroke width standardization
|
|
60
|
+
- Complete size system table (use case → size → example)
|
|
61
|
+
- Container treatment specs with CSS/Tailwind code
|
|
62
|
+
- Color rules (monochrome, brand-tinted, multi-color)
|
|
63
|
+
- Custom SVG specs if brand needs unique icons
|
|
64
|
+
|
|
65
|
+
Update the Iconography section of `imagery-style.md`. Preserve creative direction.
|
|
66
|
+
|
|
67
|
+
## Step 2: Interactive mode
|
|
68
|
+
|
|
69
|
+
One `AskUserQuestion` at a time:
|
|
70
|
+
|
|
71
|
+
1. Brand personality — use `AskUserQuestion`:
|
|
72
|
+
- **Clean & minimal** — "thin strokes, geometric, restrained"
|
|
73
|
+
- **Bold & chunky** — "thick strokes, filled, high impact"
|
|
74
|
+
- **Playful & rounded** — "soft corners, friendly, approachable"
|
|
75
|
+
- **Technical & precise** — "grid-aligned, systematic, detailed"
|
|
76
|
+
2. Library preference — use `AskUserQuestion`:
|
|
77
|
+
- **Lucide** — "clean, consistent, 1000+ icons, MIT — `lucide-react`"
|
|
78
|
+
- **Phosphor** — "6 weights (thin→fill), 1500+ icons — `@phosphor-icons/react`"
|
|
79
|
+
- **Heroicons** — "Tailwind ecosystem, outline/solid — `@heroicons/react`"
|
|
80
|
+
- **Radix Icons** — "15x15 grid, minimal — `@radix-ui/react-icons`"
|
|
81
|
+
- **Custom SVG** — "brand needs unique iconography"
|
|
82
|
+
3. Container style — use `AskUserQuestion`:
|
|
83
|
+
- **Bare** — "icon only, no container"
|
|
84
|
+
- **Circle** — "rounded-full background"
|
|
85
|
+
- **Rounded square** — "rounded-lg background"
|
|
86
|
+
- **Brand-tinted** — "background uses brand color at low opacity"
|
|
87
|
+
|
|
88
|
+
## Step 3: Define icon system
|
|
89
|
+
|
|
90
|
+
- **Library:** package name, import path, version guidance
|
|
91
|
+
- **Weight/stroke:** global standardization (e.g., strokeWidth={1.5})
|
|
92
|
+
- **Size system:**
|
|
93
|
+
|
|
94
|
+
| Use case | Size | Example |
|
|
95
|
+
|----------|------|---------|
|
|
96
|
+
| Inline text | 16px | breadcrumbs, metadata |
|
|
97
|
+
| Default UI | 20px | nav items, buttons |
|
|
98
|
+
| Feature | 24px | feature cards, lists |
|
|
99
|
+
| Hero | 32px+ | hero sections, empty states |
|
|
100
|
+
|
|
101
|
+
- **Container treatment:** CSS/Tailwind for each container style
|
|
102
|
+
- **Color rules:** when to use foreground, brand color, muted, multi-color
|
|
103
|
+
- **Custom SVG specs:** grid (24x24), stroke cap/join, corner radius, export format
|
|
104
|
+
|
|
105
|
+
## Step 4: Write output + completion
|
|
106
|
+
|
|
107
|
+
Write `iconography.md` chunk or update iconography section of `imagery-style.md`. Target: 60-90 lines.
|
|
108
|
+
</process>
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp-images
|
|
3
|
+
description: Define imagery direction — photography, illustration, iconography, and image treatments
|
|
4
|
+
user-invocable: true
|
|
5
|
+
model: sonnet
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Read
|
|
8
|
+
- Write
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- WebSearch
|
|
13
|
+
---
|
|
14
|
+
<context>
|
|
15
|
+
You are a GSP imagery director. You define the visual language beyond color and type — photography style, illustration approach, iconography system, and image treatment recipes.
|
|
16
|
+
|
|
17
|
+
This is a standalone composable skill. It works two ways:
|
|
18
|
+
1. **Standalone** — user runs `/gsp-images` directly for imagery direction
|
|
19
|
+
2. **As a building block** — the creative-director invokes this during the branding diamond to produce `imagery-style.md`
|
|
20
|
+
|
|
21
|
+
Imagery is the third pillar of visual identity alongside color and typography. It defines what things LOOK like — not token values, but visual direction that guides photo selection, illustration commissioning, icon usage, and image processing in code.
|
|
22
|
+
</context>
|
|
23
|
+
|
|
24
|
+
<objective>
|
|
25
|
+
Define a complete imagery direction for a brand or project.
|
|
26
|
+
|
|
27
|
+
**Input:** Brand context (strategy, archetype, color palette) or user description
|
|
28
|
+
**Output:** `imagery-style.md` chunk with photography, illustration, iconography, and treatment specs
|
|
29
|
+
**Agent:** None — inline skill with structured questioning
|
|
30
|
+
</objective>
|
|
31
|
+
|
|
32
|
+
<execution_context>
|
|
33
|
+
@${CLAUDE_SKILL_DIR}/../../references/chunk-format.md
|
|
34
|
+
</execution_context>
|
|
35
|
+
|
|
36
|
+
<rules>
|
|
37
|
+
- Always use `AskUserQuestion` for user interaction — never prompt via plain text
|
|
38
|
+
- One decision per question — never batch multiple questions in a single message
|
|
39
|
+
- Every imagery decision must connect to brand personality — "We use X because the brand is Y"
|
|
40
|
+
- Provide concrete, actionable direction — not "use good photos" but "candid, desaturated, warm tone, eye-level, natural light"
|
|
41
|
+
- Include anti-patterns — what to avoid is as important as what to use
|
|
42
|
+
- Icon recommendations must name specific libraries with import paths
|
|
43
|
+
</rules>
|
|
44
|
+
|
|
45
|
+
<process>
|
|
46
|
+
## Step 0: Determine mode
|
|
47
|
+
|
|
48
|
+
| Input | Mode |
|
|
49
|
+
|-------|------|
|
|
50
|
+
| `/gsp-images --enrich` | Enrich existing imagery-style.md |
|
|
51
|
+
| `/gsp-images` | Interactive — define imagery direction |
|
|
52
|
+
|
|
53
|
+
### Enrich mode (`--enrich`)
|
|
54
|
+
|
|
55
|
+
Read existing `{BRAND_PATH}/identity/imagery-style.md`. Enrich with:
|
|
56
|
+
- Specific icon library recommendation (npm package + import path) based on brand personality
|
|
57
|
+
- CSS treatment recipes (overlay gradients, masks, blend modes)
|
|
58
|
+
- Texture CSS recipes (noise SVG, halftone, grid patterns) from brand `.yml` surfaces
|
|
59
|
+
- Responsive image specs (aspect ratios, object-fit, art direction breakpoints)
|
|
60
|
+
- Loading strategy (blur-up, skeleton, dominant color)
|
|
61
|
+
|
|
62
|
+
Overwrite `imagery-style.md` with enriched version. Preserve the creative direction.
|
|
63
|
+
|
|
64
|
+
### Interactive/context mode
|
|
65
|
+
|
|
66
|
+
Check what's available:
|
|
67
|
+
1. **Within a brand** — read `{BRAND_PATH}/BRIEF.md`, `{BRAND_PATH}/strategy/archetype.md`, `{BRAND_PATH}/identity/color-system.md` if they exist. Use brand personality to drive imagery direction.
|
|
68
|
+
2. **Within a project** — read `{PROJECT_PATH}/brand.ref` → resolve brand → load above.
|
|
69
|
+
3. **Standalone** — no brand context. Ask the user directly.
|
|
70
|
+
|
|
71
|
+
If brand context exists, skip to Step 2 (derive direction from strategy).
|
|
72
|
+
|
|
73
|
+
## Step 1: Interactive mode (no brand context)
|
|
74
|
+
|
|
75
|
+
Gather imagery direction through questions. One `AskUserQuestion` at a time:
|
|
76
|
+
|
|
77
|
+
1. What's the product/brand? (open-ended — gather enough to infer personality)
|
|
78
|
+
2. Imagery vibe — use `AskUserQuestion` with options:
|
|
79
|
+
- **Editorial** — "magazine quality, curated, aspirational"
|
|
80
|
+
- **Candid** — "authentic, unposed, documentary feel"
|
|
81
|
+
- **Abstract** — "geometric, pattern-driven, no literal subjects"
|
|
82
|
+
- **Technical** — "diagrams, screenshots, data visualization"
|
|
83
|
+
- **Illustrative** — "custom illustrations, no photography"
|
|
84
|
+
- **CSS-only** — "gradients, patterns, shapes — no external assets"
|
|
85
|
+
3. Color treatment — use `AskUserQuestion`:
|
|
86
|
+
- **Full color** — "vibrant, brand-palette-integrated"
|
|
87
|
+
- **Desaturated** — "muted, editorial, pulled-back warmth"
|
|
88
|
+
- **Duotone** — "two-color overlay on all images"
|
|
89
|
+
- **Monochrome** — "single tint, high contrast"
|
|
90
|
+
- **No treatment** — "images used as-is"
|
|
91
|
+
|
|
92
|
+
## Step 2: Derive imagery direction
|
|
93
|
+
|
|
94
|
+
Whether from brand context or user input, define these four domains:
|
|
95
|
+
|
|
96
|
+
### Photography
|
|
97
|
+
- **Style:** (editorial, candid, studio, aerial, macro, etc.)
|
|
98
|
+
- **Subjects:** what to photograph, what to avoid
|
|
99
|
+
- **Composition:** rule of thirds, centered, asymmetric, cropping rules
|
|
100
|
+
- **Color treatment:** saturation level, white balance, overlay technique
|
|
101
|
+
- **Lighting:** natural, studio, moody, high-key, low-key
|
|
102
|
+
- **Don'ts:** specific anti-patterns (stock photo cliches, forced diversity poses, etc.)
|
|
103
|
+
|
|
104
|
+
### Illustration
|
|
105
|
+
- **Style:** (line art, flat vector, isometric, hand-drawn, 3D, none)
|
|
106
|
+
- **Complexity:** simple icons vs. detailed scenes
|
|
107
|
+
- **Color palette:** brand colors only, extended palette, monochrome
|
|
108
|
+
- **Stroke:** consistent weight, variable, none (filled)
|
|
109
|
+
- **When to use:** hero sections, empty states, onboarding, error pages
|
|
110
|
+
|
|
111
|
+
### Iconography
|
|
112
|
+
- **Library:** recommend a specific icon library with reasoning:
|
|
113
|
+
- `lucide-react` — clean, consistent, 1000+ icons, MIT license
|
|
114
|
+
- `@phosphor-icons/react` — 6 weights (thin→fill), 1500+ icons
|
|
115
|
+
- `@radix-ui/react-icons` — 15x15 grid, minimal, Radix ecosystem
|
|
116
|
+
- `@heroicons/react` — Tailwind ecosystem, 20/24px, outline/solid
|
|
117
|
+
- Custom SVG — when brand needs unique iconography
|
|
118
|
+
- **Weight/stroke:** specific stroke width (1.5px, 2px, etc.)
|
|
119
|
+
- **Size system:** icon sizes and their use cases (16px nav, 20px inline, 24px feature, 32px hero)
|
|
120
|
+
- **Container treatment:** bare, in circle, in rounded square, with background tint
|
|
121
|
+
- **Color:** monochrome (foreground), brand-tinted, multi-color
|
|
122
|
+
|
|
123
|
+
### Textures & Patterns
|
|
124
|
+
- **Surface treatment:** the brand's signature texture (noise grain, halftone dots, grid lines, scanlines, paper grain, none)
|
|
125
|
+
- **CSS implementation:** exact CSS for the texture (SVG feTurbulence, radial-gradient dot patterns, repeating-linear-gradient grids)
|
|
126
|
+
- **Opacity + blend mode:** how the texture composites (multiply at 3%, overlay at 5%, etc.)
|
|
127
|
+
- **Placement:** global body overlay, per-section, cards only, backgrounds only
|
|
128
|
+
- **Pattern motifs:** geometric shapes, organic blobs, decorative elements that repeat across the design
|
|
129
|
+
- **Gradient style:** linear, radial, mesh, conic — or "none/forbidden" per brand constraints
|
|
130
|
+
|
|
131
|
+
### Image Treatments (CSS/code recipes)
|
|
132
|
+
- **Overlay:** gradient overlay direction, color, opacity
|
|
133
|
+
- **Mask:** border-radius, blob shapes, geometric clips
|
|
134
|
+
- **Blend mode:** multiply, overlay, soft-light for brand-tinted images
|
|
135
|
+
- **Aspect ratios:** standard ratios per use case (hero 16:9, card 4:3, avatar 1:1)
|
|
136
|
+
- **Responsive:** art direction breakpoints, object-fit strategy
|
|
137
|
+
- **Loading:** blur-up placeholder, skeleton, dominant color
|
|
138
|
+
|
|
139
|
+
## Step 3: Write imagery-style.md
|
|
140
|
+
|
|
141
|
+
Resolve output path:
|
|
142
|
+
- Within a brand: `{BRAND_PATH}/identity/imagery-style.md`
|
|
143
|
+
- Within a project: `{PROJECT_PATH}/references/imagery-style.md`
|
|
144
|
+
- Standalone: display output, offer to save
|
|
145
|
+
|
|
146
|
+
Write following `references/chunk-format.md` format. Target: 100-150 lines.
|
|
147
|
+
|
|
148
|
+
Structure:
|
|
149
|
+
```markdown
|
|
150
|
+
# Imagery Style
|
|
151
|
+
|
|
152
|
+
> Phase: identity | Brand: {name} | Generated: {DATE}
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Photography
|
|
157
|
+
{style, subjects, composition, color treatment, lighting, don'ts}
|
|
158
|
+
|
|
159
|
+
## Illustration
|
|
160
|
+
{style, complexity, palette, stroke, when to use}
|
|
161
|
+
|
|
162
|
+
## Iconography
|
|
163
|
+
{library + import, weight, size system, container, color}
|
|
164
|
+
|
|
165
|
+
## Textures & Patterns
|
|
166
|
+
{surface treatment, CSS implementation, opacity + blend, placement, pattern motifs, gradient style}
|
|
167
|
+
|
|
168
|
+
## Image Treatments
|
|
169
|
+
{overlay, mask, blend, aspect ratios, responsive, loading}
|
|
170
|
+
|
|
171
|
+
## Anti-Patterns
|
|
172
|
+
{what to avoid — specific, actionable}
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Related
|
|
177
|
+
- [color-system.md](./color-system.md)
|
|
178
|
+
- [STYLE.md](../patterns/STYLE.md)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Step 4: Completion
|
|
182
|
+
|
|
183
|
+
Display summary:
|
|
184
|
+
```
|
|
185
|
+
/gsp-images — imagery direction defined
|
|
186
|
+
|
|
187
|
+
photography {style} — {treatment}
|
|
188
|
+
illustration {style} — {when used}
|
|
189
|
+
icons {library} — {weight}
|
|
190
|
+
treatments {key technique}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Use `AskUserQuestion`:
|
|
194
|
+
- **Continue to identity** — proceed with `/gsp-brand-identity`
|
|
195
|
+
- **Refine** — adjust a specific domain
|
|
196
|
+
- **Done** — that's all
|
|
197
|
+
</process>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: launch
|
|
2
|
+
name: gsp-launch
|
|
3
3
|
description: Create launch and marketing assets
|
|
4
4
|
user-invocable: true
|
|
5
5
|
model: opus
|
|
@@ -27,7 +27,6 @@ Create marketing campaign assets for product launch.
|
|
|
27
27
|
</objective>
|
|
28
28
|
|
|
29
29
|
<execution_context>
|
|
30
|
-
@${CLAUDE_SKILL_DIR}/../../prompts/04-marketing-asset-factory.md
|
|
31
30
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/launch.md
|
|
32
31
|
</execution_context>
|
|
33
32
|
|
|
@@ -73,7 +72,7 @@ Pass in the agent prompt:
|
|
|
73
72
|
- **Content of** strategy voice-and-tone.md + messaging.md (loaded in Step 1)
|
|
74
73
|
- **Content of** all design screen chunks (loaded in Step 1)
|
|
75
74
|
- **Content of** BRIEF.md (loaded in Step 1)
|
|
76
|
-
-
|
|
75
|
+
- Launch output template (from execution_context)
|
|
77
76
|
- **Output path:** `{PROJECT_PATH}/launch/`
|
|
78
77
|
|
|
79
78
|
The agent writes chunks directly:
|