get-shit-pretty 0.6.3 → 0.7.0
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/bin/install.js +36 -20
- package/gsp/agents/gsp-accessibility-auditor.md +1 -1
- package/gsp/agents/gsp-ascii-artist.md +1 -1
- package/gsp/agents/gsp-brand-auditor.md +1 -1
- package/gsp/agents/gsp-brand-strategist.md +1 -1
- package/gsp/agents/gsp-builder.md +1 -1
- package/gsp/agents/gsp-campaign-director.md +1 -1
- package/gsp/agents/gsp-creative-director.md +4 -4
- package/gsp/agents/gsp-critic.md +3 -3
- package/gsp/agents/gsp-designer.md +2 -2
- package/gsp/agents/gsp-project-researcher.md +1 -1
- package/gsp/agents/gsp-researcher.md +1 -1
- package/gsp/agents/gsp-reviewer.md +1 -1
- package/gsp/agents/gsp-scoper.md +1 -1
- package/gsp/skills/get-shit-pretty/SKILL.md +10 -9
- package/gsp/skills/gsp-accessibility/SKILL.md +1 -1
- package/gsp/skills/gsp-accessibility-audit/SKILL.md +2 -2
- package/gsp/skills/gsp-add-reference/SKILL.md +5 -0
- package/gsp/skills/gsp-art/SKILL.md +5 -0
- package/gsp/skills/gsp-brand-audit/SKILL.md +2 -2
- package/gsp/skills/gsp-brand-guidelines/SKILL.md +2 -2
- package/gsp/skills/gsp-brand-identity/SKILL.md +3 -3
- package/gsp/skills/gsp-brand-refine/SKILL.md +1 -1
- package/gsp/skills/gsp-brand-research/SKILL.md +2 -2
- package/gsp/skills/gsp-brand-strategy/SKILL.md +4 -4
- package/gsp/skills/gsp-brand-sync/SKILL.md +3 -3
- package/gsp/skills/gsp-brand-sync/chunk-format.md +79 -0
- package/gsp/skills/gsp-color/SKILL.md +24 -56
- package/gsp/skills/gsp-color/chunk-format.md +79 -0
- package/gsp/skills/{gsp-palette/SKILL.md → gsp-color/domains/palette.md} +31 -101
- package/gsp/skills/gsp-color/domains/system.md +123 -0
- package/gsp/skills/gsp-design-system/SKILL.md +5 -0
- package/gsp/skills/gsp-help/SKILL.md +4 -3
- package/gsp/skills/gsp-icons/SKILL.md +1 -1
- package/gsp/skills/gsp-icons/chunk-format.md +79 -0
- package/gsp/skills/gsp-launch/SKILL.md +1 -1
- package/gsp/skills/gsp-logo/SKILL.md +2 -2
- package/gsp/skills/gsp-logo/chunk-format.md +79 -0
- package/gsp/skills/gsp-phase-transition/SKILL.md +124 -0
- package/gsp/skills/gsp-project-brief/SKILL.md +1 -1
- package/gsp/skills/gsp-project-build/SKILL.md +10 -5
- package/gsp/skills/gsp-project-critique/SKILL.md +5 -5
- package/gsp/{references → skills/gsp-project-critique}/visual-taste.md +1 -1
- package/gsp/skills/gsp-project-design/SKILL.md +1 -1
- package/gsp/skills/gsp-project-research/SKILL.md +1 -1
- package/gsp/skills/gsp-project-review/SKILL.md +1 -1
- package/gsp/skills/gsp-start/SKILL.md +1 -1
- package/gsp/skills/gsp-style/SKILL.md +4 -4
- package/gsp/skills/gsp-style/chunk-format.md +79 -0
- package/gsp/skills/gsp-style/style-preset-schema.md +124 -0
- package/gsp/skills/gsp-typography/SKILL.md +28 -66
- package/gsp/skills/gsp-typography/chunk-format.md +79 -0
- package/gsp/skills/gsp-typography/domains/pairing.md +109 -0
- package/gsp/skills/gsp-typography/domains/scale.md +227 -0
- package/gsp/skills/gsp-typography/domains/system.md +108 -0
- package/gsp/skills/gsp-visuals/SKILL.md +82 -0
- package/gsp/skills/gsp-visuals/chunk-format.md +79 -0
- package/gsp/skills/{gsp-3d/SKILL.md → gsp-visuals/domains/3d.md} +62 -47
- package/gsp/skills/{gsp-images/SKILL.md → gsp-visuals/domains/imagery.md} +17 -69
- package/gsp/skills/{gsp-textures/SKILL.md → gsp-visuals/domains/textures.md} +54 -48
- package/gsp/skills/{gsp-video/SKILL.md → gsp-visuals/domains/video.md} +53 -47
- package/gsp/templates/branding/config.json +1 -1
- package/gsp/templates/phases/brief.md +1 -1
- package/gsp/templates/phases/critique.md +1 -1
- package/gsp/templates/phases/design.md +1 -1
- package/gsp/templates/phases/discover.md +1 -1
- package/gsp/templates/phases/identity.md +1 -1
- package/gsp/templates/phases/launch.md +1 -1
- package/gsp/templates/phases/patterns.md +1 -1
- package/gsp/templates/phases/research.md +1 -1
- package/gsp/templates/phases/review.md +1 -1
- package/gsp/templates/phases/strategy.md +1 -1
- package/gsp/templates/projects/config.json +1 -1
- package/package.json +1 -1
- package/gsp/references/phase-transitions.md +0 -132
- package/gsp/references/style-preset-schema.md +0 -63
- package/gsp/skills/gsp-typescale/SKILL.md +0 -234
- /package/gsp/{references → skills/gsp-accessibility-audit}/wcag-checklist.md +0 -0
- /package/gsp/{references → skills/gsp-art}/terminal-art.md +0 -0
- /package/gsp/{references → skills/gsp-brand-audit}/chunk-format.md +0 -0
- /package/gsp/{references → skills/gsp-brand-guidelines}/design-tokens.md +0 -0
- /package/gsp/{references → skills/gsp-brand-guidelines}/token-mapping.md +0 -0
- /package/gsp/{references → skills/gsp-brand-research}/design-trends.md +0 -0
- /package/gsp/{references → skills/gsp-brand-strategy}/brand-archetypes.md +0 -0
- /package/gsp/{references → skills/gsp-brand-strategy}/brand-prism.md +0 -0
- /package/gsp/{references → skills/gsp-brand-strategy}/positioning-frameworks.md +0 -0
- /package/gsp/{references → skills/gsp-brand-strategy}/voice-tone.md +0 -0
- /package/gsp/{references → skills/gsp-color/references}/color-composition.md +0 -0
- /package/gsp/{references → skills/gsp-project-build}/visual-effects.md +0 -0
- /package/gsp/{references → skills/gsp-project-critique}/anti-patterns.md +0 -0
- /package/gsp/{references → skills/gsp-project-critique}/nielsen-heuristics.md +0 -0
- /package/gsp/{references → skills/gsp-project-design}/apple-hig-patterns.md +0 -0
- /package/gsp/{references → skills/gsp-project-design}/block-patterns.md +0 -0
- /package/gsp/{references → skills/gsp-start}/questioning.md +0 -0
- /package/gsp/{references → skills/gsp-typography/references}/typography-scales.md +0 -0
package/bin/install.js
CHANGED
|
@@ -1205,8 +1205,26 @@ function installLocalSymlinks(targetDir, src) {
|
|
|
1205
1205
|
forceSymlink(path.join('..', '..', 'gsp', 'skills', dir.name), path.join(skillsDest, dir.name));
|
|
1206
1206
|
skillCount++;
|
|
1207
1207
|
}
|
|
1208
|
+
// ── Dev skill symlinks (local only — not shipped in npm package) ──
|
|
1209
|
+
const devSkillsSrc = path.join(cwd, 'dev', 'skills');
|
|
1210
|
+
let devSkillCount = 0;
|
|
1211
|
+
try {
|
|
1212
|
+
if (fs.existsSync(devSkillsSrc)) {
|
|
1213
|
+
for (const dir of fs.readdirSync(devSkillsSrc, { withFileTypes: true })) {
|
|
1214
|
+
if (!dir.isDirectory()) continue;
|
|
1215
|
+
forceSymlink(path.join('..', '..', 'dev', 'skills', dir.name), path.join(skillsDest, dir.name));
|
|
1216
|
+
devSkillCount++;
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
} catch {
|
|
1220
|
+
console.log(` ${c.secondary}! Could not read dev/skills/ — skipping dev skills${c.reset}`);
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1208
1223
|
if (skillCount > 0) {
|
|
1209
|
-
|
|
1224
|
+
const msg = devSkillCount > 0
|
|
1225
|
+
? `Symlinked ${skillCount} skills + ${devSkillCount} dev`
|
|
1226
|
+
: `Symlinked ${skillCount} skills`;
|
|
1227
|
+
console.log(` ${c.success}✓${c.reset} ${msg}`);
|
|
1210
1228
|
} else { failures.push('skills'); }
|
|
1211
1229
|
|
|
1212
1230
|
// Clean up legacy commands/gsp dir (may be broken symlink)
|
|
@@ -1217,24 +1235,25 @@ function installLocalSymlinks(targetDir, src) {
|
|
|
1217
1235
|
console.log(` ${c.success}✓${c.reset} Removed legacy commands/gsp`);
|
|
1218
1236
|
} catch {}
|
|
1219
1237
|
|
|
1220
|
-
// ── Bundle symlinks (templates
|
|
1238
|
+
// ── Bundle symlinks (templates → runtime root) ──
|
|
1221
1239
|
// Clean up legacy dirs
|
|
1222
1240
|
const legacyBundleDest = path.join(targetDir, 'get-shit-pretty');
|
|
1223
1241
|
if (fs.existsSync(legacyBundleDest)) {
|
|
1224
1242
|
fs.rmSync(legacyBundleDest, { recursive: true });
|
|
1225
1243
|
console.log(` ${c.success}✓${c.reset} Removed legacy get-shit-pretty/ bundle`);
|
|
1226
1244
|
}
|
|
1227
|
-
const
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1245
|
+
for (const legacyDir of ['prompts', 'references']) {
|
|
1246
|
+
const legacyPath = path.join(targetDir, legacyDir);
|
|
1247
|
+
try {
|
|
1248
|
+
fs.lstatSync(legacyPath);
|
|
1249
|
+
fs.rmSync(legacyPath, { recursive: true });
|
|
1250
|
+
console.log(` ${c.success}✓${c.reset} Removed legacy ${legacyDir}/`);
|
|
1251
|
+
} catch {}
|
|
1231
1252
|
}
|
|
1232
1253
|
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
console.log(` ${c.success}✓${c.reset} Symlinked ${dir}/`);
|
|
1237
|
-
}
|
|
1254
|
+
if (fs.existsSync(path.join(gspRoot, 'templates'))) {
|
|
1255
|
+
forceSymlink(path.join('..', 'gsp', 'templates'), path.join(targetDir, 'templates'));
|
|
1256
|
+
console.log(` ${c.success}✓${c.reset} Symlinked templates/`);
|
|
1238
1257
|
}
|
|
1239
1258
|
|
|
1240
1259
|
// Write VERSION from package.json (local dev uses repo root VERSION via symlinks)
|
|
@@ -1435,15 +1454,12 @@ function install(isGlobal, runtime = 'claude') {
|
|
|
1435
1454
|
console.log(` ${c.success}✓${c.reset} Removed legacy prompts/`);
|
|
1436
1455
|
}
|
|
1437
1456
|
|
|
1438
|
-
const
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
if (
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
console.log(` ${c.success}✓${c.reset} Installed ${dir}/`);
|
|
1445
|
-
} else { failures.push(dir); }
|
|
1446
|
-
}
|
|
1457
|
+
const templatesSrc = path.join(gspRoot, 'templates');
|
|
1458
|
+
if (fs.existsSync(templatesSrc)) {
|
|
1459
|
+
copyWithPathReplacement(templatesSrc, path.join(targetDir, 'templates'), pathPrefix, runtime);
|
|
1460
|
+
if (verifyInstalled(path.join(targetDir, 'templates'), 'templates')) {
|
|
1461
|
+
console.log(` ${c.success}✓${c.reset} Installed templates/`);
|
|
1462
|
+
} else { failures.push('templates'); }
|
|
1447
1463
|
}
|
|
1448
1464
|
|
|
1449
1465
|
// Write VERSION file
|
|
@@ -58,7 +58,7 @@ Write your audit as chunks to the output directory (path provided by the skill t
|
|
|
58
58
|
|
|
59
59
|
### Chunk files
|
|
60
60
|
|
|
61
|
-
Write each chunk following the
|
|
61
|
+
Write each chunk following the standard chunk format:
|
|
62
62
|
|
|
63
63
|
1. **`accessibility-audit.md`** (~100-150 lines) — Perceivable, Operable, Understandable, Robust checklists (pass/fail per criterion with notes), Mobile accessibility, Cognitive accessibility, summary (total pass/fail/not-applicable counts, overall conformance level), accessibility statement draft
|
|
64
64
|
2. **`accessibility-fixes.md`** (~50-100 lines) — Violations table (issue, severity Critical/Major/Minor, WCAG criterion, remediation steps). Only Critical and Major severity items.
|
|
@@ -38,7 +38,7 @@ Assess existing brand identities — coherence, market fit, equity, evolution op
|
|
|
38
38
|
<output>
|
|
39
39
|
Write 5 chunks + INDEX.md to the audit directory (path provided by the skill that spawned you).
|
|
40
40
|
|
|
41
|
-
Each chunk follows
|
|
41
|
+
Each chunk follows the standard chunk format.
|
|
42
42
|
|
|
43
43
|
1. **`brand-inventory.md`** — structured inventory of all current assets (logo, colors with hex, typefaces, voice samples, messaging, positioning)
|
|
44
44
|
2. **`coherence-assessment.md`** — strategy coherence (1-5), strategy↔visual alignment (1-5), key disconnects
|
|
@@ -50,7 +50,7 @@ Act as Head of Strategy at a top branding agency. Define the strategic foundatio
|
|
|
50
50
|
<output>
|
|
51
51
|
Write 5 chunks + INDEX.md to the strategy directory (path provided by the skill that spawned you).
|
|
52
52
|
|
|
53
|
-
Each chunk follows
|
|
53
|
+
Each chunk follows the standard chunk format.
|
|
54
54
|
|
|
55
55
|
1. **`positioning.md`** — positioning statement + 2-axis map with competitors plotted + white space analysis
|
|
56
56
|
2. **`archetype.md`** — primary + secondary archetype, rationale, shadow traits, communication style, visual tendencies
|
|
@@ -165,7 +165,7 @@ When in **revision mode** (addressing QA issues), append a revision section:
|
|
|
165
165
|
|
|
166
166
|
### `build/INDEX.md`
|
|
167
167
|
|
|
168
|
-
After writing BUILD-LOG.md, write `build/INDEX.md` following the standard chunk INDEX format (
|
|
168
|
+
After writing BUILD-LOG.md, write `build/INDEX.md` following the standard chunk INDEX format (standard chunk format). Reference BUILD-LOG.md (and CODE.md + components/ in figma mode).
|
|
169
169
|
|
|
170
170
|
> **Note:** `codebase/MANIFEST.md` is written by the skill (`project-build`), not by this agent.
|
|
171
171
|
|
|
@@ -50,7 +50,7 @@ Write your campaign as chunks to the project's launch directory (path provided b
|
|
|
50
50
|
|
|
51
51
|
### Chunk files
|
|
52
52
|
|
|
53
|
-
Write each chunk following the
|
|
53
|
+
Write each chunk following the standard chunk format:
|
|
54
54
|
|
|
55
55
|
1. **`campaign-strategy.md`** (~50-80 lines) — Objective, audience, key message, tone, channels
|
|
56
56
|
2. **`digital-ads.md`** (~80-120 lines) — Google Ads + Meta/Instagram + TikTok (all formats and A/B variants)
|
|
@@ -12,7 +12,7 @@ You are a GSP creative director spawned by `/gsp-brand-identity`.
|
|
|
12
12
|
|
|
13
13
|
Act as Creative Director at Pentagram. Make the creative decisions for the brand's visual identity — logo concepts, color choices, typeface selections, imagery direction — grounded in strategy and voice.
|
|
14
14
|
|
|
15
|
-
You make CREATIVE decisions. Domain skills (`/gsp-color`, `/gsp-typography`, `/gsp-logo`, `/gsp-
|
|
15
|
+
You make CREATIVE decisions. Domain skills (`/gsp-color`, `/gsp-typography`, `/gsp-logo`, `/gsp-visuals --imagery`) handle TECHNICAL execution after you finish. Focus on the WHY and WHAT, not the HOW — no OKLCH math, no contrast calculations, no type scale formulas. Those are enriched by specialists.
|
|
16
16
|
</role>
|
|
17
17
|
|
|
18
18
|
<inputs>
|
|
@@ -42,7 +42,7 @@ You make CREATIVE decisions. Domain skills (`/gsp-color`, `/gsp-typography`, `/g
|
|
|
42
42
|
2. **Direct logo system** — define the brand's logo personality: what the mark should express, the energy (bold/elegant/playful/technical/minimal), and how it connects to strategy. Write `logo-directions.md` with 3 concepts and strategic rationale. Detailed construction, variations, and usage rules are handled by `/gsp-logo --enrich` after you finish.
|
|
43
43
|
3. **Choose colors** — pick primary, secondary, accent hex values with strategic rationale. Connect each choice to brand archetype/positioning. Define dark mode direction. Write `color-system.md` with chosen colors, rationale, and semantic mapping. Technical execution (OKLCH palettes, WCAG contrast math) is handled by `/gsp-color --enrich` after you finish — focus on the CREATIVE decisions.
|
|
44
44
|
4. **Choose typography** — pick primary + secondary typefaces. Connect to voice: "We chose X because our voice is Y." Define scale direction (tight/airy, editorial/technical). Write `typography.md` with choices and rationale. Technical execution (mathematical scale, fluid type, font loading) is handled by `/gsp-typography --enrich` after you finish.
|
|
45
|
-
5. **Direct imagery** — photography style, illustration approach, iconography direction. Connected to archetype and brand essence. Write `imagery-style.md` with creative direction. Technical execution (icon library specifics, CSS treatment recipes) is handled by `/gsp-
|
|
45
|
+
5. **Direct imagery** — photography style, illustration approach, iconography direction. Connected to archetype and brand essence. Write `imagery-style.md` with creative direction. Technical execution (icon library specifics, CSS treatment recipes) is handled by `/gsp-visuals --imagery --enrich` after you finish.
|
|
46
46
|
6. **Show applications** — brand in context across key touchpoints
|
|
47
47
|
|
|
48
48
|
## Quality Standards
|
|
@@ -55,12 +55,12 @@ You make CREATIVE decisions. Domain skills (`/gsp-color`, `/gsp-typography`, `/g
|
|
|
55
55
|
<output>
|
|
56
56
|
Write 5 chunks + INDEX.md to the identity directory (path provided by the skill that spawned you).
|
|
57
57
|
|
|
58
|
-
Each chunk follows
|
|
58
|
+
Each chunk follows the standard chunk format. Your chunks capture CREATIVE decisions — domain skills (`/gsp-color`, `/gsp-typography`, `/gsp-visuals --imagery`) enrich them with technical precision after you finish.
|
|
59
59
|
|
|
60
60
|
1. **`logo-directions.md`** (~100-120 lines) — 3 directions with concept, rationale, variations, usage rules
|
|
61
61
|
2. **`color-system.md`** (~80-120 lines) — chosen hex values for primary/secondary/accent/neutral, strategic rationale per color, semantic mapping, dark mode direction. Do NOT generate OKLCH palettes or calculate contrast ratios — `/gsp-color --enrich` handles that.
|
|
62
62
|
3. **`typography.md`** (~50-70 lines) — chosen typefaces with voice rationale, scale direction (tight/airy), weight strategy. Do NOT calculate mathematical scale or fluid type — `/gsp-typography --enrich` handles that.
|
|
63
|
-
4. **`imagery-style.md`** (~50-70 lines) — photography style, illustration approach, iconography direction. Do NOT specify icon libraries or CSS treatments — `/gsp-
|
|
63
|
+
4. **`imagery-style.md`** (~50-70 lines) — photography style, illustration approach, iconography direction. Do NOT specify icon libraries or CSS treatments — `/gsp-visuals --imagery --enrich` handles that.
|
|
64
64
|
5. **`brand-applications.md`** (~50-70 lines) — key touchpoints showing brand in use
|
|
65
65
|
|
|
66
66
|
### INDEX.md
|
package/gsp/agents/gsp-critic.md
CHANGED
|
@@ -104,11 +104,11 @@ The gap between "correct" and "good." Evaluate:
|
|
|
104
104
|
- **Craft in details** — tinted shadows, considered spacing rhythm, typographic hierarchy through weight+color+spacing not just size
|
|
105
105
|
- **Would someone ask "who designed this?"** — or does it look like any other product?
|
|
106
106
|
|
|
107
|
-
Full scoring via `
|
|
107
|
+
Full scoring via `skills/gsp-project-critique/visual-taste.md` (15 items, X/75) — Read when you want to produce a formal taste score.
|
|
108
108
|
|
|
109
109
|
### Supplementary (Read from disk when needed)
|
|
110
110
|
|
|
111
|
-
8. **Full anti-pattern scan** — Read `
|
|
111
|
+
8. **Full anti-pattern scan** — Read `skills/gsp-project-critique/anti-patterns.md` for typography, color, and code quality patterns beyond the core checks above.
|
|
112
112
|
9. **Color composition** — Evaluate palette strategy using the inlined color-composition reference (60-30-10 rule, monochrome vs accent, warm/cool consistency).
|
|
113
113
|
|
|
114
114
|
### Synthesis
|
|
@@ -129,7 +129,7 @@ Write your critique as chunks to the project's critique directory (path provided
|
|
|
129
129
|
|
|
130
130
|
### Chunk files
|
|
131
131
|
|
|
132
|
-
Write each chunk following the
|
|
132
|
+
Write each chunk following the standard chunk format:
|
|
133
133
|
|
|
134
134
|
1. **`critique.md`** (~120-180 lines) — Strategy evaluation, brand compliance (X/25 when STYLE.md), usability evaluation (10 heuristics scored 1-5, total X/50), accessibility findings, content quality, implementation quality, taste assessment. Taste scoring (X/75) included when `visual-taste.md` was read.
|
|
135
135
|
2. **`prioritized-fixes.md`** (~50-100 lines) — Critical / Important / Polish fix lists with specific remediation per screen/component. **Tag style-level issues** with `[STYLE]` prefix — these need `/gsp-brand-refine` to update the `.yml` source, not just a design revision. Style-level: constraint violations, pattern mismatches, intensity miscalibration, missing bold bets. Screen-level: layout choices, content placement, component selection.
|
|
@@ -64,7 +64,7 @@ Baseline design principles — **STYLE.md overrides these** when present. A brut
|
|
|
64
64
|
- Accessibility: VoiceOver labels on every element, respect `prefers-reduced-motion`, support all 12 text sizes
|
|
65
65
|
- Gestures: never override system back, tap for primary action, long press for context menu
|
|
66
66
|
|
|
67
|
-
Full reference: `
|
|
67
|
+
Full reference: `skills/gsp-project-design/apple-hig-patterns.md` (available via Read for specific HIG pattern details).
|
|
68
68
|
|
|
69
69
|
## Anti-Pattern Awareness (distilled)
|
|
70
70
|
|
|
@@ -93,7 +93,7 @@ Write your screens as chunks to the project's design directory (path provided by
|
|
|
93
93
|
|
|
94
94
|
### Screen chunks
|
|
95
95
|
|
|
96
|
-
Write one chunk per screen (~150-200 lines each), following
|
|
96
|
+
Write one chunk per screen (~150-200 lines each), following the standard chunk format:
|
|
97
97
|
|
|
98
98
|
**Naming:** `screen-{NN}-{kebab-case-name}.md` (e.g., `screen-01-home.md`, `screen-03-user-profile.md`)
|
|
99
99
|
|
|
@@ -44,7 +44,7 @@ Write your research as chunks to the project's research directory (path provided
|
|
|
44
44
|
|
|
45
45
|
### Research chunks
|
|
46
46
|
|
|
47
|
-
Write each chunk following the
|
|
47
|
+
Write each chunk following the standard chunk format:
|
|
48
48
|
|
|
49
49
|
1. **`ux-patterns.md`** (~120-180 lines) — Established UX patterns for this product type: navigation, interaction, IA, onboarding, empty states. With sources and examples.
|
|
50
50
|
2. **`competitor-ux.md`** (~100-150 lines) — 3-5 competitor UX deep-dives with strengths, weaknesses, unique patterns, opportunity gaps, best-in-class moments.
|
|
@@ -46,7 +46,7 @@ Act as a senior design researcher. Analyze the market landscape and competitive
|
|
|
46
46
|
<output>
|
|
47
47
|
Write 4 chunks + INDEX.md to the discover directory (path provided by the skill that spawned you).
|
|
48
48
|
|
|
49
|
-
Each chunk follows
|
|
49
|
+
Each chunk follows the standard chunk format.
|
|
50
50
|
|
|
51
51
|
1. **`market-landscape.md`** — industry context, key players, trajectory, user expectation shifts relevant to this brand's personas
|
|
52
52
|
2. **`competitive-audit.md`** — competitors on Conservative↔Progressive × Traditional↔Modern axes, visual language analysis, white space
|
|
@@ -50,7 +50,7 @@ Write your review as chunks to the project's review directory (path provided by
|
|
|
50
50
|
|
|
51
51
|
### Review chunks
|
|
52
52
|
|
|
53
|
-
Write each chunk following the
|
|
53
|
+
Write each chunk following the standard chunk format:
|
|
54
54
|
|
|
55
55
|
1. **`acceptance-report.md`** (~100-150 lines) — Overall verdict (Pass/Conditional Pass/Fail), implementation checklist (per-screen status with codebase file paths), token audit summary, screen coverage, component coverage, accessibility compliance, responsive verification
|
|
56
56
|
2. **`issues.md`** (~50-100 lines) — Issues table (Issue, Severity, File Path, Line, Expected, Actual, Remediation). Critical issues block acceptance. All file paths reference actual codebase locations.
|
package/gsp/agents/gsp-scoper.md
CHANGED
|
@@ -44,7 +44,7 @@ Write your brief as chunks to the project's brief directory (path provided by th
|
|
|
44
44
|
|
|
45
45
|
### Brief chunks
|
|
46
46
|
|
|
47
|
-
Write each chunk following the
|
|
47
|
+
Write each chunk following the standard chunk format:
|
|
48
48
|
|
|
49
49
|
1. **`scope.md`** (~80-120 lines) — Prioritized screen list, component scope, project boundaries, success criteria, dependencies, issue framing
|
|
50
50
|
2. **`target-adaptations.md`** (~60-100 lines) — Token overrides, component adaptations, platform considerations, implementation target mapping
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: get-shit-pretty
|
|
3
|
-
description: "Design engineering for AI coding tools. Full pipeline: brand research, strategy, identity,
|
|
3
|
+
description: "Design engineering for AI coding tools. Full pipeline: brand research, strategy, identity, guidelines, UI design, critique, accessibility audit, build, and launch. Expertise skills (color, typography, visuals) serve the entire pipeline. 15 specialized agents with Apple HIG, Nielsen's heuristics, WCAG 2.2 AA, and design token standards."
|
|
4
4
|
user-invocable: false
|
|
5
5
|
model: opus
|
|
6
6
|
effort: high
|
|
@@ -12,8 +12,6 @@ Design engineering system for AI coding tools. Brand identity + design projects,
|
|
|
12
12
|
|
|
13
13
|
## Install
|
|
14
14
|
|
|
15
|
-
GSP requires a full installation to work — agents, prompts, templates, and references that power the pipeline. Run:
|
|
16
|
-
|
|
17
15
|
```bash
|
|
18
16
|
npx get-shit-pretty
|
|
19
17
|
```
|
|
@@ -22,11 +20,14 @@ Pick your runtime (Claude Code, OpenCode, Gemini CLI, or Codex CLI), choose glob
|
|
|
22
20
|
|
|
23
21
|
## What You Get
|
|
24
22
|
|
|
25
|
-
A dual-diamond design pipeline with
|
|
23
|
+
A dual-diamond design pipeline with 34 skills across two layers:
|
|
26
24
|
|
|
27
25
|
```
|
|
26
|
+
◆ Expertise (knowledge owners — serve the full pipeline)
|
|
27
|
+
color · typography · visuals · accessibility · style
|
|
28
|
+
|
|
28
29
|
◆ Branding
|
|
29
|
-
research → strategy → identity →
|
|
30
|
+
research → strategy → identity → guidelines
|
|
30
31
|
|
|
31
32
|
◆ Project
|
|
32
33
|
brief → research → design → critique → build → review → launch
|
|
@@ -34,12 +35,12 @@ brief → research → design → critique → build → review → launch
|
|
|
34
35
|
└──── loop ────────┘
|
|
35
36
|
```
|
|
36
37
|
|
|
37
|
-
Each
|
|
38
|
+
Each pipeline phase spawns specialized agents. Expertise skills carry domain knowledge as sibling files — loaded on demand, zero session-start cost.
|
|
38
39
|
|
|
39
40
|
- **Brand Research** — market landscape, audience, competitors
|
|
40
|
-
- **Brand Strategy** — archetype, positioning,
|
|
41
|
-
- **Brand Identity** — logo directions, color
|
|
42
|
-
- **Brand
|
|
41
|
+
- **Brand Strategy** — archetype, positioning, voice, messaging (Kapferer Prism)
|
|
42
|
+
- **Brand Identity** — logo directions, color, typography, imagery
|
|
43
|
+
- **Brand Guidelines** — design tokens, STYLE.md, component mapping
|
|
43
44
|
- **Project Brief** — scope, screen list, gap analysis
|
|
44
45
|
- **Project Research** — UX patterns, competitor experiences
|
|
45
46
|
- **Project Design** — screens and flows (Apple HIG)
|
|
@@ -35,7 +35,7 @@ Run lightweight accessibility checks inline — contrast ratio lookups and token
|
|
|
35
35
|
- Quick check mode (`--check`) produces display output only — no files written
|
|
36
36
|
- Token audit mode runs inline — no agent spawned
|
|
37
37
|
- Default conformance level is AA unless overridden by `--level AAA` or config
|
|
38
|
-
- Foundation chunks follow `
|
|
38
|
+
- Foundation chunks follow `chunk-format.md` format
|
|
39
39
|
</rules>
|
|
40
40
|
|
|
41
41
|
<process>
|
|
@@ -33,7 +33,7 @@ Run full accessibility audits — design screen reviews, codebase ARIA/keyboard/
|
|
|
33
33
|
</objective>
|
|
34
34
|
|
|
35
35
|
<execution_context>
|
|
36
|
-
@${CLAUDE_SKILL_DIR}
|
|
36
|
+
@${CLAUDE_SKILL_DIR}/wcag-checklist.md
|
|
37
37
|
</execution_context>
|
|
38
38
|
|
|
39
39
|
<rules>
|
|
@@ -41,7 +41,7 @@ Run full accessibility audits — design screen reviews, codebase ARIA/keyboard/
|
|
|
41
41
|
- One decision per question — never batch multiple questions in a single message
|
|
42
42
|
- Statement mode reads prior audit results — fails gracefully if none exist
|
|
43
43
|
- Default conformance level is AA unless overridden by `--level AAA` or config
|
|
44
|
-
- Foundation chunks follow `
|
|
44
|
+
- Foundation chunks follow `chunk-format.md` format
|
|
45
45
|
</rules>
|
|
46
46
|
|
|
47
47
|
<process>
|
|
@@ -23,6 +23,11 @@ Add reference material to a project for downstream agents to consume.
|
|
|
23
23
|
**Output:** `{project}/references/` with organized reference files + `references/INDEX.md`
|
|
24
24
|
</objective>
|
|
25
25
|
|
|
26
|
+
<rules>
|
|
27
|
+
- Always use `AskUserQuestion` for user interaction — never prompt via plain text
|
|
28
|
+
- One decision per question — never batch multiple questions in a single message
|
|
29
|
+
</rules>
|
|
30
|
+
|
|
26
31
|
<process>
|
|
27
32
|
## Step 0: Resolve project
|
|
28
33
|
|
|
@@ -23,6 +23,11 @@ Create terminal art with the user in the loop — gather intent, create, iterate
|
|
|
23
23
|
**Agent:** `gsp-ascii-artist`
|
|
24
24
|
</objective>
|
|
25
25
|
|
|
26
|
+
<rules>
|
|
27
|
+
- Always use `AskUserQuestion` for user interaction — never prompt via plain text
|
|
28
|
+
- One decision per question — never batch multiple questions in a single message
|
|
29
|
+
</rules>
|
|
30
|
+
|
|
26
31
|
<process>
|
|
27
32
|
## Step 1: Gather intent
|
|
28
33
|
|
|
@@ -26,7 +26,7 @@ Audit an existing brand. Produce evolution map that guides research, strategy, a
|
|
|
26
26
|
</objective>
|
|
27
27
|
|
|
28
28
|
<execution_context>
|
|
29
|
-
@${CLAUDE_SKILL_DIR}
|
|
29
|
+
@${CLAUDE_SKILL_DIR}/chunk-format.md
|
|
30
30
|
</execution_context>
|
|
31
31
|
|
|
32
32
|
<rules>
|
|
@@ -88,5 +88,5 @@ Update `evolution_scope` in `{BRAND_PATH}/config.json` with confirmed decisions.
|
|
|
88
88
|
|
|
89
89
|
Update `{BRAND_PATH}/STATE.md`: set Phase 0 (Audit) to `complete`.
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
Invoke `/gsp-phase-transition` with phase `audit` and output directory `{BRAND_PATH}/audit/`.
|
|
92
92
|
</process>
|
|
@@ -28,7 +28,7 @@ Operationalize brand identity into project-ready artifacts and complete the bran
|
|
|
28
28
|
|
|
29
29
|
<execution_context>
|
|
30
30
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/patterns.md
|
|
31
|
-
@${CLAUDE_SKILL_DIR}
|
|
31
|
+
@${CLAUDE_SKILL_DIR}/design-tokens.md
|
|
32
32
|
</execution_context>
|
|
33
33
|
|
|
34
34
|
<rules>
|
|
@@ -212,7 +212,7 @@ Update `{BRAND_PATH}/STATE.md`:
|
|
|
212
212
|
|
|
213
213
|
## Step 5: Phase transition output
|
|
214
214
|
|
|
215
|
-
|
|
215
|
+
Invoke `/gsp-phase-transition` with phase `guidelines` and output directory `{BRAND_PATH}/patterns/`.
|
|
216
216
|
|
|
217
217
|
**E2E mode:** Read `{BRAND_PATH}/config.json`. If `e2e` is `true`, auto-invoke `/gsp-start` via Skill tool — it will detect the completed brand and route directly to project setup (Step 4). No need to ask the user.
|
|
218
218
|
|
|
@@ -27,7 +27,7 @@ Build the brand's visual identity.
|
|
|
27
27
|
|
|
28
28
|
<execution_context>
|
|
29
29
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/identity.md
|
|
30
|
-
@${CLAUDE_SKILL_DIR}
|
|
30
|
+
@${CLAUDE_SKILL_DIR}/../gsp-color/references/color-composition.md
|
|
31
31
|
</execution_context>
|
|
32
32
|
|
|
33
33
|
<rules>
|
|
@@ -113,7 +113,7 @@ After the creative-director finishes, invoke domain skills to add technical prec
|
|
|
113
113
|
1. **Invoke `/gsp-logo --enrich`** — reads `logo-directions.md`, enriches each direction with detailed construction geometry, complete variation specs, clear space rules, and minimum size calculations.
|
|
114
114
|
2. **Invoke `/gsp-color --enrich`** — reads `color-system.md`, generates OKLCH palettes via tints.dev, calculates WCAG contrast, writes `palettes.json`, enriches with contrast ratios and semantic mapping.
|
|
115
115
|
3. **Invoke `/gsp-typography --enrich`** — reads `typography.md`, generates mathematical type scale, adds fluid type formulas, enriches with font loading instructions.
|
|
116
|
-
4. **Invoke `/gsp-
|
|
116
|
+
4. **Invoke `/gsp-visuals --imagery --enrich`** — reads `imagery-style.md`, adds icon library specifics, CSS texture/treatment recipes, enriches with technical implementation details.
|
|
117
117
|
|
|
118
118
|
Each skill loads its own domain references on-demand — no upfront context cost.
|
|
119
119
|
|
|
@@ -137,5 +137,5 @@ Use `AskUserQuestion`:
|
|
|
137
137
|
|
|
138
138
|
Update `{BRAND_PATH}/STATE.md`: set Phase 3 (Identity) to `complete`, Prettiness Level to 80%.
|
|
139
139
|
|
|
140
|
-
|
|
140
|
+
Invoke `/gsp-phase-transition` with phase `identity` and output directory `{BRAND_PATH}/identity/`.
|
|
141
141
|
</process>
|
|
@@ -27,7 +27,7 @@ Accept natural language feedback about brand visuals, identify which `.yml` valu
|
|
|
27
27
|
</objective>
|
|
28
28
|
|
|
29
29
|
<execution_context>
|
|
30
|
-
@${CLAUDE_SKILL_DIR}
|
|
30
|
+
@${CLAUDE_SKILL_DIR}/../gsp-brand-guidelines/design-tokens.md
|
|
31
31
|
</execution_context>
|
|
32
32
|
|
|
33
33
|
<rules>
|
|
@@ -27,7 +27,7 @@ Research market context that will inform brand strategy.
|
|
|
27
27
|
|
|
28
28
|
<execution_context>
|
|
29
29
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/discover.md
|
|
30
|
-
@${CLAUDE_SKILL_DIR}
|
|
30
|
+
@${CLAUDE_SKILL_DIR}/design-trends.md (index only — agent loads specific trend files only after open research validates relevance)
|
|
31
31
|
@${CLAUDE_SKILL_DIR}/../gsp-style/styles/INDEX.yml
|
|
32
32
|
</execution_context>
|
|
33
33
|
|
|
@@ -85,5 +85,5 @@ Update `{BRAND_PATH}/STATE.md`: set Phase 1 (Discover) to `complete`.
|
|
|
85
85
|
|
|
86
86
|
## Step 5: Phase transition
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
Invoke `/gsp-phase-transition` with phase `discover` and output directory `{BRAND_PATH}/research/`.
|
|
89
89
|
</process>
|
|
@@ -27,9 +27,9 @@ Define brand strategy and voice through interactive creative direction, then pro
|
|
|
27
27
|
|
|
28
28
|
<execution_context>
|
|
29
29
|
@${CLAUDE_SKILL_DIR}/../../templates/phases/strategy.md
|
|
30
|
-
@${CLAUDE_SKILL_DIR}
|
|
31
|
-
@${CLAUDE_SKILL_DIR}
|
|
32
|
-
@${CLAUDE_SKILL_DIR}
|
|
30
|
+
@${CLAUDE_SKILL_DIR}/brand-archetypes.md
|
|
31
|
+
@${CLAUDE_SKILL_DIR}/positioning-frameworks.md
|
|
32
|
+
@${CLAUDE_SKILL_DIR}/voice-tone.md
|
|
33
33
|
</execution_context>
|
|
34
34
|
|
|
35
35
|
<rules>
|
|
@@ -146,5 +146,5 @@ If adjust → loop back. If confirmed → proceed.
|
|
|
146
146
|
|
|
147
147
|
Update `{BRAND_PATH}/STATE.md`: set Phase 2 (Strategy) to `complete`.
|
|
148
148
|
|
|
149
|
-
|
|
149
|
+
Invoke `/gsp-phase-transition` with phase `strategy` and output directory `{BRAND_PATH}/strategy/`.
|
|
150
150
|
</process>
|
|
@@ -33,8 +33,8 @@ Compare a project's shipped state against its source brand across all dimensions
|
|
|
33
33
|
</objective>
|
|
34
34
|
|
|
35
35
|
<execution_context>
|
|
36
|
-
@${CLAUDE_SKILL_DIR}
|
|
37
|
-
@${CLAUDE_SKILL_DIR}
|
|
36
|
+
@${CLAUDE_SKILL_DIR}/../gsp-brand-guidelines/design-tokens.md
|
|
37
|
+
@${CLAUDE_SKILL_DIR}/chunk-format.md
|
|
38
38
|
</execution_context>
|
|
39
39
|
|
|
40
40
|
<rules>
|
|
@@ -93,7 +93,7 @@ Use the Update Map from the sync report. For each confirmed change:
|
|
|
93
93
|
|
|
94
94
|
**Personality** — update `{BRAND_PATH}/strategy/archetype.md` and `positioning.md`. Update `brand-platform.md` if values/promise shifted.
|
|
95
95
|
|
|
96
|
-
Preserve chunk format per `
|
|
96
|
+
Preserve chunk format per `chunk-format.md`. Update INDEX.md files if chunks were added.
|
|
97
97
|
|
|
98
98
|
## Step 4: Summary
|
|
99
99
|
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Chunk Format Reference
|
|
2
|
+
|
|
3
|
+
Standard format for all GSP phase output files. Chunks are the primary output — agents write chunks directly, not monoliths.
|
|
4
|
+
|
|
5
|
+
## File Format
|
|
6
|
+
|
|
7
|
+
Every chunk follows this structure:
|
|
8
|
+
|
|
9
|
+
# {Section/Component/Screen Name}
|
|
10
|
+
|
|
11
|
+
> Phase: {phase} | Brand/Project: {name} | Generated: {DATE}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
{Content for this chunk}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Related
|
|
20
|
+
|
|
21
|
+
- [{Related chunk name}]({relative-path-to-related-chunk})
|
|
22
|
+
|
|
23
|
+
## Naming Conventions
|
|
24
|
+
|
|
25
|
+
- **Singular, kebab-case, lowercase:** "Buttons" → `button.md`, "Date Picker" → `date-picker.md`
|
|
26
|
+
- **Screen files:** `screen-{NN}-{kebab-case-name}.md` (e.g., `screen-01-home.md`)
|
|
27
|
+
|
|
28
|
+
## INDEX.md Format
|
|
29
|
+
|
|
30
|
+
Each phase directory gets an INDEX.md manifest:
|
|
31
|
+
|
|
32
|
+
# {Phase Name}
|
|
33
|
+
> Phase: {phase} | Brand/Project: {name} | Generated: {DATE}
|
|
34
|
+
|
|
35
|
+
| Chunk | File | ~Lines |
|
|
36
|
+
|-------|------|--------|
|
|
37
|
+
| {Section} | [{filename}](./{filename}) | ~{N} |
|
|
38
|
+
|
|
39
|
+
Lightweight — just a lookup table. No prose.
|
|
40
|
+
|
|
41
|
+
## Rules
|
|
42
|
+
|
|
43
|
+
- **Chunks are primary output** — agents write chunks directly to the phase directory
|
|
44
|
+
- **No monoliths** — do not write a single large file then re-chunk it
|
|
45
|
+
- **Size target:** 50-200 lines per chunk
|
|
46
|
+
- **Self-contained:** each chunk must be understandable without loading other chunks
|
|
47
|
+
- **Cross-references:** `## Related` section uses relative paths to related chunks
|
|
48
|
+
- **Idempotent:** re-running a phase regenerates all chunks in that phase directory
|
|
49
|
+
|
|
50
|
+
## Output Budgets
|
|
51
|
+
|
|
52
|
+
Context is finite. Every line in a chunk is consumed by downstream agents. Budget accordingly.
|
|
53
|
+
|
|
54
|
+
### Per-chunk budgets
|
|
55
|
+
|
|
56
|
+
| Chunk type | Target | Hard max | Notes |
|
|
57
|
+
|-----------|--------|----------|-------|
|
|
58
|
+
| Phase chunk (design, research, etc.) | 50-150 lines | 200 lines | Self-contained, one concept per chunk |
|
|
59
|
+
| INDEX.md | 10-30 lines | 50 lines | Lookup table only, no prose |
|
|
60
|
+
| BUILD-LOG.md | 50-100 lines | 150 lines | Summary + tables, not narrative |
|
|
61
|
+
| Component spec | 30-80 lines | 120 lines | Props, states, behavior — not full implementation |
|
|
62
|
+
| Screen spec | 80-150 lines | 200 lines | Layout, components, interactions, states |
|
|
63
|
+
|
|
64
|
+
### Per-phase budgets (total across all chunks)
|
|
65
|
+
|
|
66
|
+
| Phase | Target total | Hard max | Typical chunks |
|
|
67
|
+
|-------|-------------|----------|----------------|
|
|
68
|
+
| Brief | 100-200 lines | 300 lines | 2-4 |
|
|
69
|
+
| Research | 200-400 lines | 600 lines | 5-8 |
|
|
70
|
+
| Design | 300-600 lines | 800 lines | 6-12 |
|
|
71
|
+
| Critique | 100-200 lines | 300 lines | 2-4 |
|
|
72
|
+
| Build log | 50-100 lines | 150 lines | 1 |
|
|
73
|
+
| Review | 100-200 lines | 300 lines | 2-4 |
|
|
74
|
+
|
|
75
|
+
### Terminal output (inline skills)
|
|
76
|
+
|
|
77
|
+
- **Diagnostic** (doctor, progress): uncapped — user needs to see it, does not persist in agent context
|
|
78
|
+
- **Greeting/status** (start): 20-40 lines
|
|
79
|
+
- **Phase transitions**: 10-20 lines
|