get-shit-pretty 0.6.2 → 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/README.md +7 -12
- package/bin/install.js +125 -84
- package/gsp/agents/gsp-accessibility-auditor.md +4 -4
- package/gsp/agents/gsp-ascii-artist.md +2 -2
- package/gsp/agents/gsp-brand-auditor.md +3 -3
- package/gsp/agents/gsp-brand-engineer.md +131 -0
- package/gsp/agents/gsp-brand-strategist.md +3 -3
- package/gsp/agents/gsp-brand-syncer.md +8 -7
- package/gsp/agents/gsp-builder.md +49 -6
- package/gsp/agents/gsp-campaign-director.md +3 -4
- package/gsp/agents/gsp-creative-director.md +80 -0
- package/gsp/agents/gsp-critic.md +100 -18
- package/gsp/agents/gsp-designer.md +52 -5
- package/gsp/agents/gsp-project-researcher.md +4 -4
- package/gsp/agents/gsp-researcher.md +5 -5
- package/gsp/agents/gsp-reviewer.md +3 -3
- package/gsp/agents/gsp-scoper.md +3 -3
- package/gsp/hooks/hooks.json +5 -5
- package/gsp/skills/get-shit-pretty/SKILL.md +10 -9
- package/gsp/skills/gsp-accessibility/SKILL.md +12 -12
- package/gsp/skills/gsp-accessibility-audit/SKILL.md +8 -9
- package/gsp/skills/gsp-add-reference/SKILL.md +6 -1
- package/gsp/skills/gsp-art/SKILL.md +6 -1
- package/gsp/skills/gsp-brand-audit/SKILL.md +5 -5
- package/gsp/skills/gsp-brand-guidelines/SKILL.md +233 -0
- package/gsp/skills/gsp-brand-guidelines/token-mapping.md +329 -0
- package/gsp/skills/gsp-brand-identity/SKILL.md +29 -20
- package/gsp/skills/gsp-brand-refine/SKILL.md +30 -23
- package/gsp/skills/gsp-brand-research/SKILL.md +4 -4
- package/gsp/{references → skills/gsp-brand-research}/design-trends.md +4 -4
- package/gsp/skills/gsp-brand-strategy/SKILL.md +7 -7
- package/gsp/skills/gsp-brand-sync/SKILL.md +10 -10
- package/gsp/skills/gsp-brand-sync/chunk-format.md +79 -0
- package/gsp/skills/gsp-color/SKILL.md +73 -0
- 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 +9 -4
- package/gsp/skills/gsp-doctor/SKILL.md +25 -18
- package/gsp/skills/gsp-help/SKILL.md +30 -29
- package/gsp/skills/gsp-icons/SKILL.md +108 -0
- package/gsp/skills/gsp-icons/chunk-format.md +79 -0
- package/gsp/skills/gsp-launch/SKILL.md +3 -4
- package/gsp/skills/gsp-logo/SKILL.md +173 -0
- package/gsp/skills/gsp-logo/chunk-format.md +79 -0
- package/gsp/skills/gsp-phase-transition/SKILL.md +124 -0
- 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 +8 -9
- package/gsp/skills/gsp-project-build/SKILL.md +30 -25
- package/gsp/skills/gsp-project-critique/SKILL.md +17 -18
- package/gsp/{references → skills/gsp-project-critique}/visual-taste.md +1 -1
- package/gsp/skills/gsp-project-design/SKILL.md +18 -18
- package/gsp/skills/gsp-project-research/SKILL.md +6 -7
- package/gsp/skills/gsp-project-review/SKILL.md +8 -10
- package/gsp/skills/gsp-scaffold/SKILL.md +3 -3
- package/gsp/skills/gsp-start/SKILL.md +15 -15
- package/gsp/{references → skills/gsp-start}/questioning.md +1 -1
- package/gsp/skills/gsp-style/SKILL.md +43 -45
- 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-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-typography/SKILL.md +70 -0
- 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-update/SKILL.md +1 -2
- package/gsp/skills/gsp-visuals/SKILL.md +82 -0
- package/gsp/skills/gsp-visuals/chunk-format.md +79 -0
- package/gsp/skills/gsp-visuals/domains/3d.md +127 -0
- package/gsp/skills/gsp-visuals/domains/imagery.md +145 -0
- package/gsp/skills/gsp-visuals/domains/textures.md +138 -0
- package/gsp/skills/gsp-visuals/domains/video.md +107 -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/brief.md +1 -1
- package/gsp/templates/phases/build.md +1 -1
- package/gsp/templates/phases/critique.md +1 -1
- package/gsp/templates/phases/design.md +2 -2
- 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 +60 -71
- 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/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/references/phase-transitions.md +0 -132
- package/gsp/references/style-preset-schema.md +0 -63
- package/gsp/skills/gsp-brand-patterns/SKILL.md +0 -240
- 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-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-typography/references}/typography-scales.md +0 -0
|
@@ -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}/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,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
|
|
@@ -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:
|
|
@@ -94,5 +93,5 @@ Update `{PROJECT_PATH}/STATE.md`:
|
|
|
94
93
|
|
|
95
94
|
## Step 4: Phase transition output
|
|
96
95
|
|
|
97
|
-
|
|
96
|
+
Invoke `/gsp-phase-transition` with phase `launch` and output directory `{PROJECT_PATH}/launch/`.
|
|
98
97
|
</process>
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp-logo
|
|
3
|
+
description: Design logo directions — concepts, variations, usage rules, and clear space
|
|
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 logo director. You design logo system directions — concept, rationale, variations, and usage rules.
|
|
16
|
+
|
|
17
|
+
This is a standalone composable skill. It works two ways:
|
|
18
|
+
1. **Standalone** — user runs `/gsp-logo` directly for logo exploration
|
|
19
|
+
2. **As a building block** — the creative-director invokes this during the branding diamond to produce `logo-directions.md`
|
|
20
|
+
|
|
21
|
+
A logo system is more than a mark — it's a flexible identity that works at every size (favicon to billboard), in every context (light, dark, monochrome), and in every variation (primary, secondary, icon, wordmark).
|
|
22
|
+
</context>
|
|
23
|
+
|
|
24
|
+
<objective>
|
|
25
|
+
Design 3 distinct logo directions for a brand.
|
|
26
|
+
|
|
27
|
+
**Input:** Brand context (strategy, archetype, name) or user description
|
|
28
|
+
**Output:** `logo-directions.md` chunk with 3 directions, each with concept, rationale, variations, and usage rules
|
|
29
|
+
**Agent:** None — inline skill with structured questioning
|
|
30
|
+
</objective>
|
|
31
|
+
|
|
32
|
+
<execution_context>
|
|
33
|
+
@${CLAUDE_SKILL_DIR}/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 logo direction must connect to brand strategy — "This direction expresses X because the brand is Y"
|
|
40
|
+
- Directions must be genuinely different approaches, not variations of one idea
|
|
41
|
+
- Always specify how the logo works at extremes: 16px favicon AND full-width hero
|
|
42
|
+
- Include what the logo is NOT — anti-patterns prevent generic marks
|
|
43
|
+
</rules>
|
|
44
|
+
|
|
45
|
+
<process>
|
|
46
|
+
## Step 0: Determine mode
|
|
47
|
+
|
|
48
|
+
| Input | Mode |
|
|
49
|
+
|-------|------|
|
|
50
|
+
| `/gsp-logo --enrich` | Enrich existing logo-directions.md |
|
|
51
|
+
| `/gsp-logo` | Interactive — design logo directions |
|
|
52
|
+
|
|
53
|
+
### Enrich mode (`--enrich`)
|
|
54
|
+
|
|
55
|
+
Read existing `{BRAND_PATH}/identity/logo-directions.md`. For each direction, enrich with:
|
|
56
|
+
- Detailed construction geometry (grid, proportions, key relationships)
|
|
57
|
+
- Complete variation specs (primary, secondary, icon, wordmark, monochrome, reversed)
|
|
58
|
+
- Clear space rules expressed as fraction of mark height
|
|
59
|
+
- Minimum size calculations (full lockup vs icon breakpoint)
|
|
60
|
+
- Don'ts with specific examples
|
|
61
|
+
|
|
62
|
+
Overwrite `logo-directions.md` with enriched version. Preserve the creative concepts and rationale.
|
|
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}/strategy/positioning.md`, `{BRAND_PATH}/identity/color-system.md` if they exist. Use brand strategy to drive logo concepts.
|
|
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 directions from strategy).
|
|
72
|
+
|
|
73
|
+
## Step 1: Interactive mode (no brand context)
|
|
74
|
+
|
|
75
|
+
Gather logo direction through questions. One `AskUserQuestion` at a time:
|
|
76
|
+
|
|
77
|
+
1. What's the brand name? (open-ended)
|
|
78
|
+
2. What does the brand do, and for whom? (open-ended — infer personality)
|
|
79
|
+
3. Logo energy — use `AskUserQuestion`:
|
|
80
|
+
- **Bold & geometric** — "strong shapes, confident, modern"
|
|
81
|
+
- **Elegant & refined** — "thin strokes, classic, understated"
|
|
82
|
+
- **Playful & expressive** — "organic, hand-crafted feel, personality"
|
|
83
|
+
- **Technical & precise** — "grid-based, systematic, engineered"
|
|
84
|
+
- **Minimal & typographic** — "the name IS the logo, pure type"
|
|
85
|
+
4. Any existing marks or elements to consider? (open-ended — "no" is fine)
|
|
86
|
+
|
|
87
|
+
## Step 2: Design 3 directions
|
|
88
|
+
|
|
89
|
+
Each direction must be a genuinely different approach — not three variations of the same idea:
|
|
90
|
+
|
|
91
|
+
### Per direction, define:
|
|
92
|
+
|
|
93
|
+
- **Concept name** — a memorable label (e.g., "The Architect", "Living Mark", "Pure Type")
|
|
94
|
+
- **Concept description** — what the mark represents and why. 2-3 sentences max.
|
|
95
|
+
- **Strategic rationale** — connects to brand archetype/positioning: "This direction expresses [strategy element] because..."
|
|
96
|
+
- **Mark type** — wordmark, lettermark, symbol, combination mark, emblem, abstract
|
|
97
|
+
- **Construction** — key geometric relationships, grid alignment, proportions
|
|
98
|
+
- **Variations:**
|
|
99
|
+
- Primary (full lockup)
|
|
100
|
+
- Secondary (compact/stacked)
|
|
101
|
+
- Icon (standalone mark, works at 16px)
|
|
102
|
+
- Wordmark (type only, no symbol)
|
|
103
|
+
- Monochrome (single color)
|
|
104
|
+
- Reversed (on dark backgrounds)
|
|
105
|
+
- **Clear space** — minimum padding expressed as fraction of mark height (e.g., "0.5x mark height on all sides")
|
|
106
|
+
- **Minimum size** — smallest size before the mark breaks down (e.g., "24px for full lockup, 16px for icon")
|
|
107
|
+
- **Don'ts** — specific anti-patterns for this direction (stretching, recoloring, busy backgrounds, etc.)
|
|
108
|
+
|
|
109
|
+
### Direction diversity
|
|
110
|
+
|
|
111
|
+
Ensure the 3 directions span different mark types. If one is a wordmark, another should be a symbol-based mark. If one is geometric, another should be organic. Give the user a real choice, not three flavors of the same thing.
|
|
112
|
+
|
|
113
|
+
## Step 3: Write logo-directions.md
|
|
114
|
+
|
|
115
|
+
Resolve output path:
|
|
116
|
+
- Within a brand: `{BRAND_PATH}/identity/logo-directions.md`
|
|
117
|
+
- Within a project: `{PROJECT_PATH}/references/logo-directions.md`
|
|
118
|
+
- Standalone: display output, offer to save
|
|
119
|
+
|
|
120
|
+
Write following `chunk-format.md` format. Target: 100-140 lines.
|
|
121
|
+
|
|
122
|
+
Structure:
|
|
123
|
+
```markdown
|
|
124
|
+
# Logo Directions
|
|
125
|
+
|
|
126
|
+
> Phase: identity | Brand: {name} | Generated: {DATE}
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Direction 1: {Concept Name}
|
|
131
|
+
|
|
132
|
+
**Concept:** {description}
|
|
133
|
+
**Rationale:** {connects to strategy}
|
|
134
|
+
**Mark type:** {type}
|
|
135
|
+
**Construction:** {geometric relationships}
|
|
136
|
+
|
|
137
|
+
### Variations
|
|
138
|
+
{primary, secondary, icon, wordmark, monochrome, reversed}
|
|
139
|
+
|
|
140
|
+
### Usage Rules
|
|
141
|
+
- Clear space: {rule}
|
|
142
|
+
- Minimum size: {rule}
|
|
143
|
+
- Don'ts: {anti-patterns}
|
|
144
|
+
|
|
145
|
+
## Direction 2: {Concept Name}
|
|
146
|
+
{same structure}
|
|
147
|
+
|
|
148
|
+
## Direction 3: {Concept Name}
|
|
149
|
+
{same structure}
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Related
|
|
154
|
+
- [color-system.md](./color-system.md)
|
|
155
|
+
- [typography.md](./typography.md)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Step 4: Completion
|
|
159
|
+
|
|
160
|
+
Display summary:
|
|
161
|
+
```
|
|
162
|
+
/gsp-logo — 3 directions defined
|
|
163
|
+
|
|
164
|
+
1. {concept name} {mark type} — {one-line concept}
|
|
165
|
+
2. {concept name} {mark type} — {one-line concept}
|
|
166
|
+
3. {concept name} {mark type} — {one-line concept}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Use `AskUserQuestion`:
|
|
170
|
+
- **Continue to identity** — proceed with `/gsp-brand-identity`
|
|
171
|
+
- **Explore a direction** — deep dive into one direction
|
|
172
|
+
- **Done** — that's all
|
|
173
|
+
</process>
|
|
@@ -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
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp-phase-transition
|
|
3
|
+
description: "Render phase transition screens — pipeline progress, completion banner, file tree. Invoked by pipeline skills at phase completion."
|
|
4
|
+
user-invocable: false
|
|
5
|
+
model: sonnet
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Read
|
|
8
|
+
- Glob
|
|
9
|
+
---
|
|
10
|
+
<context>
|
|
11
|
+
Rendering utility invoked by pipeline skills at phase completion. Produces the visual transition — pipeline progress line, completion banner, file tree of outputs — then returns control to the calling skill for routing.
|
|
12
|
+
|
|
13
|
+
The calling skill provides phase name and output directory. This skill reads STATE.md, renders the transition, and returns. The calling skill handles routing (AskUserQuestion, E2E auto-invoke, etc.) after this skill completes.
|
|
14
|
+
</context>
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Render a phase transition screen showing pipeline progress, the completed phase, and output file tree.
|
|
18
|
+
|
|
19
|
+
**Input:** Phase name + output directory path from the invoking skill
|
|
20
|
+
**Output:** Terminal output with pipeline progress, completion banner, and file tree
|
|
21
|
+
**Agent:** None — inline rendering
|
|
22
|
+
</objective>
|
|
23
|
+
|
|
24
|
+
<process>
|
|
25
|
+
## Step 0: Parse invocation context
|
|
26
|
+
|
|
27
|
+
The invoking skill provides:
|
|
28
|
+
- **Phase name** — which phase just completed (e.g., "discover", "strategy", "build")
|
|
29
|
+
- **Output directory** — path to the phase's output files
|
|
30
|
+
|
|
31
|
+
Look up the completion message from the defaults table. If the invoking skill provided a custom message, use that instead.
|
|
32
|
+
|
|
33
|
+
## Step 1: Read STATE.md
|
|
34
|
+
|
|
35
|
+
Determine context by reading the brand or project STATE.md:
|
|
36
|
+
- Which pipeline (branding or project)?
|
|
37
|
+
- Which phases are complete?
|
|
38
|
+
- Brand/project name?
|
|
39
|
+
|
|
40
|
+
Use Glob to find STATE.md: `.design/branding/*/STATE.md` or `.design/projects/*/STATE.md`.
|
|
41
|
+
|
|
42
|
+
## Step 2: Pipeline progress line (conditional)
|
|
43
|
+
|
|
44
|
+
Show the pipeline line **only when 2+ phases are complete**. If this is the first phase completed, skip the pipeline line.
|
|
45
|
+
|
|
46
|
+
### Styling
|
|
47
|
+
|
|
48
|
+
- `◆` for completed phases
|
|
49
|
+
- `◈` for next phase
|
|
50
|
+
- `◇` for pending phases
|
|
51
|
+
- `───` connecting phases
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
{brand-or-project-name}
|
|
55
|
+
◆ discover ─── ◆ strategy ─── ◈ identity ─── ◇ guidelines
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Branding phases
|
|
59
|
+
|
|
60
|
+
`discover ─── strategy ─── identity ─── guidelines`
|
|
61
|
+
|
|
62
|
+
If audit phase exists (evolve mode), prepend: `audit ─── `
|
|
63
|
+
|
|
64
|
+
### Project phases
|
|
65
|
+
|
|
66
|
+
`brief ─── research ─── design ─── critique ─── build ─── review`
|
|
67
|
+
|
|
68
|
+
If launch is in scope, append: ` ─── launch`
|
|
69
|
+
|
|
70
|
+
## Step 3: Completion banner + file tree
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
◆ {phase} complete — {completion_message}
|
|
74
|
+
|
|
75
|
+
{phase_dir}/
|
|
76
|
+
├── {file1}.md
|
|
77
|
+
├── {file2}.md
|
|
78
|
+
└── INDEX.md
|
|
79
|
+
|
|
80
|
+
──────────────────────────────
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Read the actual output directory to list real files.
|
|
84
|
+
|
|
85
|
+
### File tree rules
|
|
86
|
+
|
|
87
|
+
- Root is the phase directory name followed by `/`
|
|
88
|
+
- Files sorted alphabetically, directories first
|
|
89
|
+
- INDEX.md always listed last
|
|
90
|
+
- Use `├──` for all items except the last, which uses `└──`
|
|
91
|
+
- Subdirectories show their contents with `│` continuation
|
|
92
|
+
|
|
93
|
+
### Final phase
|
|
94
|
+
|
|
95
|
+
If all phases in the pipeline are complete, add ` fully pretty.` after the divider.
|
|
96
|
+
|
|
97
|
+
## Default completion messages
|
|
98
|
+
|
|
99
|
+
### Branding
|
|
100
|
+
|
|
101
|
+
| Phase | Message |
|
|
102
|
+
|-------|---------|
|
|
103
|
+
| audit | brand assessed |
|
|
104
|
+
| discover | market landscape mapped |
|
|
105
|
+
| strategy | brand platform defined |
|
|
106
|
+
| identity | visual system designed |
|
|
107
|
+
| guidelines | design system built |
|
|
108
|
+
|
|
109
|
+
### Project
|
|
110
|
+
|
|
111
|
+
| Phase | Message |
|
|
112
|
+
|-------|---------|
|
|
113
|
+
| brief | project scoped |
|
|
114
|
+
| research | patterns and approaches researched |
|
|
115
|
+
| design | screens designed |
|
|
116
|
+
| critique | designs critiqued |
|
|
117
|
+
| build | code implemented |
|
|
118
|
+
| review | implementation validated |
|
|
119
|
+
| launch | campaign assets created |
|
|
120
|
+
|
|
121
|
+
## Step 4: Return
|
|
122
|
+
|
|
123
|
+
Return control to the calling skill. Do NOT present routing options — the calling skill owns routing.
|
|
124
|
+
</process>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: pretty
|
|
2
|
+
name: gsp-pretty
|
|
3
3
|
description: "Surprise ASCII art in the terminal"
|
|
4
4
|
user-invocable: true
|
|
5
5
|
model: sonnet
|
|
@@ -59,5 +59,5 @@ Spawn the `gsp-ascii-artist` agent with this prompt, filling in the context you
|
|
|
59
59
|
|
|
60
60
|
## Step 3: Done
|
|
61
61
|
|
|
62
|
-
No iteration needed. If the user wants more control, point them to `/gsp
|
|
62
|
+
No iteration needed. If the user wants more control, point them to `/gsp-art`.
|
|
63
63
|
</process>
|