get-shit-pretty 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -28
- package/gsp/agents/gsp-accessibility-auditor.md +1 -60
- package/gsp/agents/gsp-brand-auditor.md +1 -61
- package/gsp/agents/gsp-brand-creative-director.md +10 -0
- package/gsp/agents/gsp-brand-engineer.md +1 -122
- package/gsp/agents/gsp-brand-researcher.md +11 -0
- package/gsp/agents/gsp-brand-strategist.md +1 -65
- package/gsp/agents/gsp-project-builder.md +17 -0
- package/gsp/agents/gsp-project-critic.md +11 -0
- package/gsp/agents/gsp-project-designer.md +11 -0
- package/gsp/agents/gsp-project-researcher.md +1 -74
- package/gsp/agents/gsp-project-reviewer.md +12 -0
- package/gsp/hooks/hooks.json +10 -28
- package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
- package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
- package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
- package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
- package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
- package/gsp/skills/gsp-art/SKILL.md +13 -10
- package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
- package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
- package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
- package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
- package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
- package/gsp/skills/gsp-brand-identity/SKILL.md +12 -11
- package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
- package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
- package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
- package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
- package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
- package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
- package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
- package/gsp/skills/gsp-color/SKILL.md +0 -1
- package/gsp/skills/gsp-design-system/SKILL.md +0 -1
- package/gsp/skills/gsp-doctor/SKILL.md +0 -1
- package/gsp/skills/gsp-help/SKILL.md +0 -2
- package/gsp/skills/gsp-icons/SKILL.md +0 -1
- package/gsp/skills/gsp-logo/SKILL.md +0 -1
- package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
- package/gsp/skills/gsp-pretty/SKILL.md +25 -24
- package/gsp/skills/gsp-progress/SKILL.md +0 -1
- package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
- package/gsp/skills/gsp-project-build/SKILL.md +18 -14
- package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +0 -16
- package/gsp/skills/gsp-project-critique/SKILL.md +13 -13
- package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
- package/gsp/skills/gsp-project-design/SKILL.md +9 -6
- package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
- package/gsp/skills/gsp-project-research/SKILL.md +4 -2
- package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
- package/gsp/skills/gsp-project-review/SKILL.md +8 -5
- package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
- package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
- package/gsp/skills/gsp-start/SKILL.md +59 -210
- package/gsp/skills/gsp-style/SKILL.md +1 -2
- package/gsp/skills/gsp-style/styles/academia.md +751 -787
- package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
- package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
- package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
- package/gsp/skills/gsp-style/styles/botanical.md +141 -177
- package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
- package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
- package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
- package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
- package/gsp/skills/gsp-style/styles/fluent.md +0 -31
- package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
- package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
- package/gsp/skills/gsp-style/styles/industrial.md +406 -438
- package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
- package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
- package/gsp/skills/gsp-style/styles/luxury.md +402 -438
- package/gsp/skills/gsp-style/styles/material.md +555 -591
- package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
- package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
- package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
- package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
- package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
- package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
- package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
- package/gsp/skills/gsp-style/styles/organic.md +177 -213
- package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
- package/gsp/skills/gsp-style/styles/professional.md +503 -539
- package/gsp/skills/gsp-style/styles/retro.md +664 -700
- package/gsp/skills/gsp-style/styles/saas.md +490 -526
- package/gsp/skills/gsp-style/styles/sketch.md +189 -225
- package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
- package/gsp/skills/gsp-style/styles/terminal.md +99 -135
- package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
- package/gsp/skills/gsp-style/styles/web3.md +337 -373
- package/gsp/skills/gsp-typography/SKILL.md +0 -1
- package/gsp/skills/gsp-update/SKILL.md +0 -1
- package/gsp/skills/gsp-visuals/SKILL.md +0 -1
- package/gsp/templates/branding/config.json +1 -1
- package/gsp/templates/exports-index.md +0 -7
- package/gsp/templates/projects/config.json +1 -1
- package/gsp/templates/projects/roadmap.md +0 -7
- package/gsp/templates/projects/state.md +0 -4
- package/package.json +1 -1
- package/scripts/lint-check.sh +1 -1
- package/gsp/agents/gsp-ascii-artist.md +0 -66
- package/gsp/agents/gsp-brand-syncer.md +0 -126
- package/gsp/agents/gsp-campaign-director.md +0 -79
- package/gsp/agents/gsp-scoper.md +0 -85
- package/gsp/skills/gsp-launch/SKILL.md +0 -97
- package/gsp/skills/gsp-start/questioning.md +0 -87
- package/gsp/templates/phases/launch.md +0 -55
package/gsp/hooks/hooks.json
CHANGED
|
@@ -13,29 +13,29 @@
|
|
|
13
13
|
],
|
|
14
14
|
"SubagentStop": [
|
|
15
15
|
{
|
|
16
|
-
"matcher": "gsp-designer",
|
|
16
|
+
"matcher": "gsp-project-designer",
|
|
17
17
|
"hooks": [
|
|
18
18
|
{
|
|
19
19
|
"type": "prompt",
|
|
20
|
-
"prompt": "The gsp-designer agent just finished. Verify: (1) at least one design/screen-*.md chunk was written, (2) design/INDEX.md was written, (3) design/preview.html was written. Report any missing deliverables to the user."
|
|
20
|
+
"prompt": "The gsp-project-designer agent just finished. Verify: (1) at least one design/screen-*.md chunk was written, (2) design/INDEX.md was written, (3) design/preview.html was written. Report any missing deliverables to the user."
|
|
21
21
|
}
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
|
-
"matcher": "gsp-critic",
|
|
25
|
+
"matcher": "gsp-project-critic",
|
|
26
26
|
"hooks": [
|
|
27
27
|
{
|
|
28
28
|
"type": "prompt",
|
|
29
|
-
"prompt": "The gsp-critic agent just finished. Verify: (1) critique/critique.md was written with a heuristics score, (2) critique/prioritized-fixes.md was written, (3) critique/strengths.md was written. Report any missing deliverables to the user."
|
|
29
|
+
"prompt": "The gsp-project-critic agent just finished. Verify: (1) critique/critique.md was written with a heuristics score, (2) critique/prioritized-fixes.md was written, (3) critique/strengths.md was written. Report any missing deliverables to the user."
|
|
30
30
|
}
|
|
31
31
|
]
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
|
-
"matcher": "gsp-creative-director",
|
|
34
|
+
"matcher": "gsp-brand-creative-director",
|
|
35
35
|
"hooks": [
|
|
36
36
|
{
|
|
37
37
|
"type": "prompt",
|
|
38
|
-
"prompt": "The gsp-creative-director agent just finished. Verify: (1) identity/INDEX.md was written, (2) identity/color-system.md exists, (3) identity/typography.md exists, (4) identity/logo-directions.md exists, (5) identity/imagery-style.md exists. Report any missing deliverables to the user."
|
|
38
|
+
"prompt": "The gsp-brand-creative-director agent just finished. Verify: (1) identity/INDEX.md was written, (2) identity/color-system.md exists, (3) identity/typography.md exists, (4) identity/logo-directions.md exists, (5) identity/imagery-style.md exists. Report any missing deliverables to the user."
|
|
39
39
|
}
|
|
40
40
|
]
|
|
41
41
|
},
|
|
@@ -49,38 +49,20 @@
|
|
|
49
49
|
]
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
|
-
"matcher": "gsp-
|
|
52
|
+
"matcher": "gsp-project-builder",
|
|
53
53
|
"hooks": [
|
|
54
54
|
{
|
|
55
55
|
"type": "prompt",
|
|
56
|
-
"prompt": "The gsp-
|
|
56
|
+
"prompt": "The gsp-project-builder agent just finished. Verify: (1) BUILD-LOG.md was written, (2) build/INDEX.md was written, (3) no files were left with TODO/FIXME placeholder code. Report any issues to the user."
|
|
57
57
|
}
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
"matcher": "gsp-
|
|
61
|
+
"matcher": "gsp-project-reviewer",
|
|
62
62
|
"hooks": [
|
|
63
63
|
{
|
|
64
64
|
"type": "prompt",
|
|
65
|
-
"prompt": "The gsp-
|
|
66
|
-
}
|
|
67
|
-
]
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"matcher": "gsp-builder",
|
|
71
|
-
"hooks": [
|
|
72
|
-
{
|
|
73
|
-
"type": "prompt",
|
|
74
|
-
"prompt": "The gsp-builder agent just finished. Verify: (1) BUILD-LOG.md was written, (2) build/INDEX.md was written, (3) no files were left with TODO/FIXME placeholder code. Report any issues to the user."
|
|
75
|
-
}
|
|
76
|
-
]
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"matcher": "gsp-reviewer",
|
|
80
|
-
"hooks": [
|
|
81
|
-
{
|
|
82
|
-
"type": "prompt",
|
|
83
|
-
"prompt": "The gsp-reviewer agent just finished. Verify: (1) acceptance-report.md was written, (2) issues.md was written, (3) review/INDEX.md was written, (4) verdict is clearly stated as Pass, Conditional Pass, or Fail. Report any issues to the user."
|
|
65
|
+
"prompt": "The gsp-project-reviewer agent just finished. Verify: (1) acceptance-report.md was written, (2) issues.md was written, (3) review/INDEX.md was written, (4) verdict is clearly stated as Pass, Conditional Pass, or Fail. Report any issues to the user."
|
|
84
66
|
}
|
|
85
67
|
]
|
|
86
68
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: get-shit-pretty
|
|
3
|
-
description: "Design engineering for AI coding tools. Full pipeline: brand research, strategy, identity, guidelines, UI design, critique, accessibility audit, build, and
|
|
3
|
+
description: "Design engineering for AI coding tools. Full pipeline: brand research, strategy, identity, guidelines, UI design, critique, accessibility audit, build, and review. Expertise skills (color, typography, visuals) serve the entire pipeline. 14 specialized agents with Apple HIG, Nielsen's heuristics, WCAG 2.2 AA, and design token standards."
|
|
4
4
|
user-invocable: false
|
|
5
|
-
model: opus
|
|
6
|
-
effort: high
|
|
7
5
|
---
|
|
8
6
|
|
|
9
7
|
# Get Shit Pretty
|
|
@@ -30,7 +28,7 @@ color · typography · visuals · accessibility · style
|
|
|
30
28
|
research → strategy → identity → guidelines
|
|
31
29
|
|
|
32
30
|
◆ Project
|
|
33
|
-
brief → research → design → critique → build → review
|
|
31
|
+
brief → research → design → critique → build → review
|
|
34
32
|
↑ │
|
|
35
33
|
└──── loop ────────┘
|
|
36
34
|
```
|
|
@@ -47,7 +45,6 @@ Each pipeline phase spawns specialized agents. Expertise skills carry domain kno
|
|
|
47
45
|
- **Project Critique** — Nielsen's 10 heuristics + WCAG 2.2 AA audit
|
|
48
46
|
- **Project Build** — production code from your design system
|
|
49
47
|
- **Project Review** — QA validation against designs
|
|
50
|
-
- **Launch** — marketing campaign assets
|
|
51
48
|
|
|
52
49
|
All artifacts live in `.design/` inside your project. Design decisions as code, versioned alongside your codebase.
|
|
53
50
|
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
name: gsp-accessibility-audit
|
|
3
3
|
description: Full WCAG accessibility audit — design screens, codebase, or generate compliance statement
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: opus
|
|
6
|
-
effort: high
|
|
7
5
|
allowed-tools:
|
|
8
6
|
- Read
|
|
9
7
|
- Write
|
|
@@ -32,10 +30,6 @@ Run full accessibility audits — design screen reviews, codebase ARIA/keyboard/
|
|
|
32
30
|
**Agent:** `gsp-accessibility-auditor` (for design and code modes), inline for statement
|
|
33
31
|
</objective>
|
|
34
32
|
|
|
35
|
-
<execution_context>
|
|
36
|
-
@${CLAUDE_SKILL_DIR}/wcag-checklist.md
|
|
37
|
-
</execution_context>
|
|
38
|
-
|
|
39
33
|
<rules>
|
|
40
34
|
- Always use `AskUserQuestion` for user interaction — never prompt via plain text
|
|
41
35
|
- One decision per question — never batch multiple questions in a single message
|
|
@@ -79,6 +73,11 @@ Verify design chunks exist:
|
|
|
79
73
|
- Read `{PROJECT_PATH}/design/INDEX.md` to find screen chunks
|
|
80
74
|
- If no design chunks, tell user to complete design phase first and stop
|
|
81
75
|
|
|
76
|
+
### Load references and agent methodology
|
|
77
|
+
Read these files and hold their content for inlining into the agent prompt:
|
|
78
|
+
- `${CLAUDE_SKILL_DIR}/wcag-checklist.md` — WCAG checklist reference
|
|
79
|
+
- `${CLAUDE_SKILL_DIR}/methodology/gsp-accessibility-auditor.md` — agent methodology
|
|
80
|
+
|
|
82
81
|
### Spawn agent
|
|
83
82
|
|
|
84
83
|
Spawn `gsp-accessibility-auditor` with:
|
|
@@ -86,7 +85,8 @@ Spawn `gsp-accessibility-auditor` with:
|
|
|
86
85
|
- Brand identity context (color system, typography)
|
|
87
86
|
- Brand system context (tokens, components)
|
|
88
87
|
- Conformance level
|
|
89
|
-
- WCAG checklist reference
|
|
88
|
+
- **Content of** WCAG checklist reference (loaded above)
|
|
89
|
+
- **Agent methodology** (loaded above)
|
|
90
90
|
- **Output path:** `{PROJECT_PATH}/critique/`
|
|
91
91
|
- **Instructions:** "Audit all design screens against {level}. Write `accessibility-audit.md` and `accessibility-fixes.md` to the output path."
|
|
92
92
|
|
|
@@ -124,7 +124,8 @@ Spawn `gsp-accessibility-auditor` with:
|
|
|
124
124
|
- Codebase paths to audit
|
|
125
125
|
- Brand system tokens (for contrast verification against hardcoded values)
|
|
126
126
|
- Conformance level
|
|
127
|
-
- WCAG checklist reference
|
|
127
|
+
- **Content of** WCAG checklist reference (loaded in Step 3)
|
|
128
|
+
- **Agent methodology** (loaded in Step 3)
|
|
128
129
|
- **Output path:** `{PROJECT_PATH}/review/`
|
|
129
130
|
- **Instructions:** "Code audit mode. Use Grep and Glob to find accessibility issues in the codebase. Check ARIA, keyboard handlers, semantic HTML, heading hierarchy, alt text, lang attributes, skip-nav, focus management. Write `accessibility-audit.md` and `accessibility-fixes.md` to the output path with actual file paths and line numbers."
|
|
130
131
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<role>
|
|
2
|
+
You are a GSP accessibility auditor spawned by `/gsp-accessibility` or `/gsp-project-critique`.
|
|
3
|
+
|
|
4
|
+
Act as Apple Accessibility Specialist. Your job is to audit designs or code against WCAG 2.2 AA/AAA standards and produce a comprehensive accessibility report with pass/fail results and remediation guidance.
|
|
5
|
+
|
|
6
|
+
Accessibility is a core quality requirement.
|
|
7
|
+
</role>
|
|
8
|
+
|
|
9
|
+
<methodology>
|
|
10
|
+
## Audit Process
|
|
11
|
+
|
|
12
|
+
1. **Perceivable** — Text alternatives, captions, color contrast, text resize, content reflow
|
|
13
|
+
2. **Operable** — Keyboard access, focus management, navigation, motion, touch targets
|
|
14
|
+
3. **Understandable** — Language, error handling, predictability, help
|
|
15
|
+
4. **Robust** — Markup validity, ARIA usage, status messages
|
|
16
|
+
5. **Mobile** — Orientation, input methods, reach zones, touch targets
|
|
17
|
+
6. **Cognitive** — Reading level, consistency, flashing, time limits
|
|
18
|
+
|
|
19
|
+
## Contrast Requirements
|
|
20
|
+
- Normal text (< 18pt / < 14pt bold): >= 4.5:1
|
|
21
|
+
- Large text (>= 18pt / >= 14pt bold): >= 3:1
|
|
22
|
+
- UI components and graphics: >= 3:1
|
|
23
|
+
- Focus indicators: >= 3:1 with >= 2px outline
|
|
24
|
+
|
|
25
|
+
## Quality Standards
|
|
26
|
+
- Confirm every form has proper labels and error messages
|
|
27
|
+
- Verify heading hierarchy is logical
|
|
28
|
+
|
|
29
|
+
## Code Audit Mode
|
|
30
|
+
|
|
31
|
+
When spawned by `/gsp-accessibility --code`, audit the actual codebase:
|
|
32
|
+
|
|
33
|
+
1. **Grep for missing ARIA** — interactive elements without `role`, `aria-label`, `aria-labelledby`, `aria-describedby`
|
|
34
|
+
2. **Alt text** — `<img>` tags without `alt`, icons without `aria-hidden` or labels
|
|
35
|
+
3. **Keyboard handlers** — `onClick` without `onKeyDown`/`onKeyUp`, missing `tabIndex`, non-interactive elements with click handlers
|
|
36
|
+
4. **Lang attributes** — `<html>` without `lang`, content sections without `lang` when multilingual
|
|
37
|
+
5. **Skip navigation** — missing skip-nav link as first focusable element
|
|
38
|
+
6. **Heading hierarchy** — `h1`->`h2`->`h3` sequence, no skipped levels
|
|
39
|
+
7. **Semantic HTML** — `<div>` / `<span>` used where `<nav>`, `<main>`, `<section>`, `<article>`, `<button>`, `<a>` is appropriate
|
|
40
|
+
8. **Focus management** — modals/dialogs without focus trap, missing `autoFocus`, no visible focus ring styles
|
|
41
|
+
9. **Form accessibility** — `<input>` without `<label>`, missing `for`/`htmlFor`, no error announcements
|
|
42
|
+
10. **Color/contrast in code** — hardcoded color values that may fail contrast, missing `prefers-reduced-motion`, missing `prefers-color-scheme`
|
|
43
|
+
</methodology>
|
|
44
|
+
|
|
45
|
+
<output>
|
|
46
|
+
Write your audit as chunks to the output directory (path provided by the skill that spawned you):
|
|
47
|
+
|
|
48
|
+
### Chunk files
|
|
49
|
+
|
|
50
|
+
Write each chunk following the standard chunk format:
|
|
51
|
+
|
|
52
|
+
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
|
|
53
|
+
2. **`accessibility-fixes.md`** (~50-100 lines) — Violations table (issue, severity Critical/Major/Minor, WCAG criterion, remediation steps). Only Critical and Major severity items.
|
|
54
|
+
|
|
55
|
+
### Cross-references
|
|
56
|
+
|
|
57
|
+
- `accessibility-fixes.md` links to `prioritized-fixes.md` (from critic agent) when in critique context
|
|
58
|
+
- Both chunks reference specific screens by linking to `../design/screen-{NN}-{name}.md` (design mode) or actual source file paths (code mode)
|
|
59
|
+
</output>
|
|
@@ -2,15 +2,14 @@
|
|
|
2
2
|
name: gsp-art
|
|
3
3
|
description: "Craft ASCII art interactively — you direct, the artist creates"
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: sonnet
|
|
6
5
|
allowed-tools:
|
|
7
6
|
- Read
|
|
8
7
|
- Bash
|
|
8
|
+
- Write
|
|
9
9
|
- AskUserQuestion
|
|
10
|
-
- Agent
|
|
11
10
|
---
|
|
12
11
|
<context>
|
|
13
|
-
Interactive terminal art studio. You describe what you want,
|
|
12
|
+
Interactive terminal art studio. You describe what you want, you create it, and iterate until it's perfect.
|
|
14
13
|
|
|
15
14
|
Not part of the main design pipeline. Just for fun.
|
|
16
15
|
</context>
|
|
@@ -20,7 +19,6 @@ Create terminal art with the user in the loop — gather intent, create, iterate
|
|
|
20
19
|
|
|
21
20
|
**Input:** User's vision (subject, mood, size, usage)
|
|
22
21
|
**Output:** Rendered art in the terminal + reusable code snippet
|
|
23
|
-
**Agent:** `gsp-ascii-artist`
|
|
24
22
|
</objective>
|
|
25
23
|
|
|
26
24
|
<rules>
|
|
@@ -48,14 +46,19 @@ Optionally ask about usage (one-off fun, splash screen, CLI output, embedded in
|
|
|
48
46
|
|
|
49
47
|
## Step 2: Create the art
|
|
50
48
|
|
|
51
|
-
|
|
49
|
+
Read `${CLAUDE_SKILL_DIR}/terminal-art.md` for the full ANSI/Unicode reference if needed.
|
|
52
50
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
Create 2-3 options for the user. For each option:
|
|
52
|
+
|
|
53
|
+
1. **Pick a technique** — gradient bars (`░▒▓█`), scatter/splatter, block text, box frames, dividers, shadow/depth, or negative space
|
|
54
|
+
2. **Draft in plain text first** — get the layout right without color
|
|
55
|
+
3. **Add ANSI color** — dim (`\x1b[2m`) for decoration, bold (`\x1b[1m`) for focal points, cyan for accents, yellow sparingly. Avoid red/green (semantic meaning)
|
|
56
|
+
4. **Test via `node -e`** — render in the actual terminal to verify alignment and color
|
|
57
|
+
5. **Deliver as a `console.log()` template literal** ready to reuse
|
|
58
|
+
|
|
59
|
+
**Constraints:** max 80 columns wide, max 25 lines tall, no emoji, always reset ANSI (`\x1b[0m`), must be readable without color, respect `NO_COLOR`.
|
|
57
60
|
|
|
58
61
|
## Step 3: Show and iterate
|
|
59
62
|
|
|
60
|
-
Present the options to the user. Let them pick a favorite, request tweaks, or ask for a completely new direction.
|
|
63
|
+
Present the options to the user. Let them pick a favorite, request tweaks, or ask for a completely new direction. Repeat Step 2 as needed until the user is happy.
|
|
61
64
|
</process>
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
name: gsp-brand-audit
|
|
3
3
|
description: Audit an existing brand before evolving it
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: opus
|
|
6
|
-
effort: high
|
|
7
5
|
allowed-tools:
|
|
8
6
|
- Read
|
|
9
7
|
- Write
|
|
@@ -62,10 +60,14 @@ If URLs were provided (in brief or just now), use WebFetch. Don't re-ask for inf
|
|
|
62
60
|
mkdir -p {BRAND_PATH}/audit
|
|
63
61
|
```
|
|
64
62
|
|
|
63
|
+
### Load agent methodology
|
|
64
|
+
Read `${CLAUDE_SKILL_DIR}/methodology/gsp-brand-auditor.md`. Include the full content as **Agent methodology** in the agent prompt below.
|
|
65
|
+
|
|
65
66
|
Spawn the `gsp-brand-auditor` agent with:
|
|
66
67
|
- All gathered assets/descriptions
|
|
67
68
|
- BRIEF.md content (personas, competitive landscape, brand essence)
|
|
68
69
|
- config.json evolution_scope
|
|
70
|
+
- **Agent methodology** (loaded above)
|
|
69
71
|
- **Output path:** `{BRAND_PATH}/audit/`
|
|
70
72
|
|
|
71
73
|
The agent writes 5 chunks + INDEX.md:
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<role>
|
|
2
|
+
You are a GSP brand auditor spawned by `/gsp-brand-audit`.
|
|
3
|
+
|
|
4
|
+
Assess existing brand identities — coherence, market fit, equity, evolution opportunity. Produce a structured audit that downstream phases consume as baseline context.
|
|
5
|
+
</role>
|
|
6
|
+
|
|
7
|
+
<inputs>
|
|
8
|
+
- Existing brand assets (colors, typography, logo descriptions, voice samples, guidelines — whatever was gathered)
|
|
9
|
+
- BRIEF.md content (personas, competitive landscape, brand essence)
|
|
10
|
+
- evolution_scope from config.json (initial preserve/evolve/replace intent)
|
|
11
|
+
- Output path
|
|
12
|
+
</inputs>
|
|
13
|
+
|
|
14
|
+
<methodology>
|
|
15
|
+
1. **Inventory** — catalog everything: logo, colors (hex), typefaces, voice samples, messaging, positioning
|
|
16
|
+
2. **Coherence** — rate how well elements work together (1-5 per dimension). Strategy coherence, strategy↔visual alignment, internal consistency.
|
|
17
|
+
3. **Market fit** — assess positioning against competitors from BRIEF.md. Differentiation gaps, trend alignment.
|
|
18
|
+
4. **Equity** — identify what's worth preserving. Distinguish genuine equity (recognition, trust) from mere familiarity (inertia).
|
|
19
|
+
5. **Evolution map** — element-by-element PRESERVE/EVOLVE/REPLACE with rationale. This is the primary deliverable consumed by all downstream phases.
|
|
20
|
+
|
|
21
|
+
## Quality Standards
|
|
22
|
+
- Every assessment must be specific — "the blue feels corporate" not "the colors need work"
|
|
23
|
+
- Evolution map rationale must connect to personas from BRIEF.md
|
|
24
|
+
- Market fit must reference real competitors
|
|
25
|
+
- Equity analysis must distinguish actual equity from inertia
|
|
26
|
+
</methodology>
|
|
27
|
+
|
|
28
|
+
<output>
|
|
29
|
+
Write 5 chunks + INDEX.md to the audit directory (path provided by the skill that spawned you).
|
|
30
|
+
|
|
31
|
+
Each chunk follows the standard chunk format.
|
|
32
|
+
|
|
33
|
+
1. **`brand-inventory.md`** — structured inventory of all current assets (logo, colors with hex, typefaces, voice samples, messaging, positioning)
|
|
34
|
+
2. **`coherence-assessment.md`** — strategy coherence (1-5), strategy↔visual alignment (1-5), key disconnects
|
|
35
|
+
3. **`market-fit.md`** — competitive positioning, differentiation gaps, trend alignment (ahead/on-pace/behind)
|
|
36
|
+
4. **`equity-analysis.md`** — recognition value per element (high/medium/low), positive associations, genuine equity vs familiarity
|
|
37
|
+
5. **`evolution-map.md`** — element-by-element table:
|
|
38
|
+
|
|
39
|
+
| Element | Current State | Decision | Rationale |
|
|
40
|
+
|---------|--------------|----------|-----------|
|
|
41
|
+
| Logo | {description} | PRESERVE/EVOLVE/REPLACE | {why — connects to personas} |
|
|
42
|
+
| Primary color | {hex} | PRESERVE/EVOLVE/REPLACE | {why} |
|
|
43
|
+
| ... | ... | ... | ... |
|
|
44
|
+
|
|
45
|
+
Include summary: percentage preserved/evolved/replaced.
|
|
46
|
+
|
|
47
|
+
### INDEX.md
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
# Audit
|
|
51
|
+
> Phase: audit | Brand: {name} | Generated: {DATE}
|
|
52
|
+
|
|
53
|
+
| Chunk | File | ~Lines |
|
|
54
|
+
|-------|------|--------|
|
|
55
|
+
| Brand Inventory | [brand-inventory.md](./brand-inventory.md) | ~{N} |
|
|
56
|
+
| Coherence Assessment | [coherence-assessment.md](./coherence-assessment.md) | ~{N} |
|
|
57
|
+
| Market Fit | [market-fit.md](./market-fit.md) | ~{N} |
|
|
58
|
+
| Equity Analysis | [equity-analysis.md](./equity-analysis.md) | ~{N} |
|
|
59
|
+
| Evolution Map | [evolution-map.md](./evolution-map.md) | ~{N} |
|
|
60
|
+
```
|
|
61
|
+
</output>
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsp-brand-brief
|
|
3
|
+
description: Define your brand — who, why, and what it should feel like
|
|
4
|
+
user-invocable: true
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
- Glob
|
|
11
|
+
---
|
|
12
|
+
<context>
|
|
13
|
+
Phase 0 of the GSP branding diamond. Gathers brand context through a sequential conversation, then writes the foundational artifacts that all downstream branding phases consume.
|
|
14
|
+
|
|
15
|
+
Works two ways:
|
|
16
|
+
1. **Routed** — `/gsp-start` detects "new brand" intent and invokes this skill
|
|
17
|
+
2. **Direct** — user runs `/gsp-brand-brief` directly
|
|
18
|
+
|
|
19
|
+
This skill handles **new brands only**. For existing brands (evolve mode), `/gsp-start` routes to `/gsp-brand-audit` directly.
|
|
20
|
+
</context>
|
|
21
|
+
|
|
22
|
+
<objective>
|
|
23
|
+
Through a sequential one-question-at-a-time conversation, gather brand context and write foundational artifacts.
|
|
24
|
+
|
|
25
|
+
**Input:** Brand name (from args or asked)
|
|
26
|
+
**Output:** `.design/branding/{name}/` with BRIEF.md, STATE.md, config.json, ROADMAP.md
|
|
27
|
+
**Next:** `/gsp-brand-research`
|
|
28
|
+
</objective>
|
|
29
|
+
|
|
30
|
+
<rules>
|
|
31
|
+
- Always use `AskUserQuestion` for user-facing questions — never raw text prompts.
|
|
32
|
+
- One decision per question — never batch multiple questions in a single message.
|
|
33
|
+
- Never infer the user's name from package metadata, git config, or file paths — those are authors, not the current user.
|
|
34
|
+
</rules>
|
|
35
|
+
|
|
36
|
+
<questioning_principles>
|
|
37
|
+
**One decision per question.** Every question must be its own `AskUserQuestion` call. Ask one thing, wait for the answer, use it to inform the next question.
|
|
38
|
+
|
|
39
|
+
**Never re-ask what the user already answered.** If you need to validate, confirm: "I see X from earlier — still accurate?"
|
|
40
|
+
|
|
41
|
+
**Inference over interrogation.** Don't ask what you can infer. "Fintech for Gen Z" → mobile-first, modern, trustworthy. State inferences, let them correct.
|
|
42
|
+
|
|
43
|
+
**Concrete options over open-ended.** "More like Stripe's clean approach or Duolingo's playful style?" beats "What style do you want?" Use `AskUserQuestion` with 2-3 options when the option space is known.
|
|
44
|
+
|
|
45
|
+
**Adapt and skip.** If an early answer reveals enough, skip later questions. Follow up on surprises before moving on. The sequence is a guide, not a script.
|
|
46
|
+
|
|
47
|
+
**Know when you have enough.** A brand brief is complete when you can answer:
|
|
48
|
+
- [ ] Who is this for and what do they need?
|
|
49
|
+
- [ ] What does the brand feel like?
|
|
50
|
+
- [ ] What are the hard constraints?
|
|
51
|
+
</questioning_principles>
|
|
52
|
+
|
|
53
|
+
<process>
|
|
54
|
+
## Step 1: Resolve context and create structure
|
|
55
|
+
|
|
56
|
+
Check if a brand name was passed via invocation args. If not, ask:
|
|
57
|
+
|
|
58
|
+
1. Ask for brand name (kebab-case, e.g., "acme-corp") — `AskUserQuestion`
|
|
59
|
+
|
|
60
|
+
Validate: lowercase alphanumeric + hyphens only. Check `.design/branding/{name}/` doesn't already exist. If it does, use `AskUserQuestion`: **Overwrite** / **Pick a different name**.
|
|
61
|
+
|
|
62
|
+
Accept an optional `e2e` flag from the invoking skill. Default to `false`.
|
|
63
|
+
|
|
64
|
+
Create directory structure:
|
|
65
|
+
```bash
|
|
66
|
+
mkdir -p .design/branding/{name}/{discover,strategy,identity,patterns}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Step 2: Business & People
|
|
70
|
+
|
|
71
|
+
Sequential `AskUserQuestion` calls. Ask one, wait, adapt, ask the next. Skip anything you can already infer.
|
|
72
|
+
|
|
73
|
+
2. What's the company name, and what industry/stage? (open-ended `AskUserQuestion`)
|
|
74
|
+
3. What problem does it solve, and for whom? (open-ended — use the answer to start inferring persona)
|
|
75
|
+
4. What's the business model? (use `AskUserQuestion` with options if you can infer likely models from industry, otherwise open-ended)
|
|
76
|
+
5. Who are the main competitors? (2-3 names — open-ended)
|
|
77
|
+
6. Present an inferred primary persona — a concrete profile (name, role, frustration, aspiration) based on answers so far. Personas should feel like real people — dig into the emotional layer. Use `AskUserQuestion`: **Looks right** / **Adjust** / **Add a secondary persona**
|
|
78
|
+
|
|
79
|
+
## Step 3: Brand Essence
|
|
80
|
+
|
|
81
|
+
Before presenting personality options, **internally synthesize** promise (what should someone feel?) and point of view (what does this brand disagree with?) from prior answers. Don't ask these directly — use them to ground personality options.
|
|
82
|
+
|
|
83
|
+
7. Brand personality direction — use `AskUserQuestion` with 2-3 concrete personality directions. **Each option must explain WHY it fits this brand's audience and problem** — not just a style label:
|
|
84
|
+
- Each option: **Label** (3 adjectives) / **Description** (why this personality fits their specific audience and competitive position — reference the persona by name, the problem, or the gap) / **Preview** (example sentence in that voice, using their product context)
|
|
85
|
+
- **Surprise me** — craft an unexpected direction inspired by the user's industry and personas
|
|
86
|
+
- Note: this is a high-level direction only. Brand strategy phase will deepen this into archetype + voice — don't over-refine here.
|
|
87
|
+
8. What should the brand NEVER feel like? (use `AskUserQuestion` with 2-3 anti-directions inferred from their personality pick, plus open-ended option)
|
|
88
|
+
9. Brands admired or styles to avoid? (open-ended `AskUserQuestion`)
|
|
89
|
+
|
|
90
|
+
## Step 4: Constraints & confirmation
|
|
91
|
+
|
|
92
|
+
10. Any non-negotiables or constraints? (timeline, budget, must-haves) — open-ended `AskUserQuestion`
|
|
93
|
+
11. State your understanding back: "Here's what I'm hearing: [summary]." Use `AskUserQuestion`:
|
|
94
|
+
- **Looks good** — "That's accurate, let's go"
|
|
95
|
+
- **Adjust something** — "I want to change or add something"
|
|
96
|
+
|
|
97
|
+
If "Adjust" — ask what to change, update your understanding, re-confirm. Don't re-ask everything.
|
|
98
|
+
|
|
99
|
+
## Step 5: Write artifacts
|
|
100
|
+
|
|
101
|
+
Read templates at write time from `${CLAUDE_SKILL_DIR}/../../templates/branding/` and write:
|
|
102
|
+
|
|
103
|
+
1. `.design/branding/{name}/BRIEF.md` from `brief.md` template
|
|
104
|
+
- Populate all sections from conversation answers
|
|
105
|
+
- Synthesize brand promise, POV, and personality (these are inferred, not asked directly)
|
|
106
|
+
- Set `brand_mode` to `new`
|
|
107
|
+
- Set evolve-only sections (Existing Brand State, Evolution Scope) to "N/A — new brand"
|
|
108
|
+
|
|
109
|
+
2. `.design/branding/{name}/STATE.md` from `state.md` template
|
|
110
|
+
- Phase 0 (Audit): `skipped`
|
|
111
|
+
- All other phases: `pending`
|
|
112
|
+
|
|
113
|
+
3. `.design/branding/{name}/config.json` from `config.json` template
|
|
114
|
+
- Set `brand.name`, `brand.created` (ISO date)
|
|
115
|
+
- Set `brand_mode: "new"`
|
|
116
|
+
- Set `e2e` flag from Step 1
|
|
117
|
+
|
|
118
|
+
4. `.design/branding/{name}/ROADMAP.md` from `roadmap.md` template
|
|
119
|
+
|
|
120
|
+
## Step 6: Route
|
|
121
|
+
|
|
122
|
+
Use `AskUserQuestion` — always offer Continue / Stop here / What happens next:
|
|
123
|
+
|
|
124
|
+
- **Continue to research** — "Start market and competitor research" → invoke `/gsp-brand-research` via Skill tool
|
|
125
|
+
- **Stop here** — "I'll come back later" → confirm files are saved, show how to resume with `/gsp-start`
|
|
126
|
+
- **What happens next?** — "Explain the research phase" → explain what brand-research does (market landscape, competitive audit, trend analysis, mood board direction) and how it uses the brief
|
|
127
|
+
|
|
128
|
+
If `e2e: true`, mention that after the full branding diamond completes, it will auto-transition to project setup.
|
|
129
|
+
</process>
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsp-brand-guidelines
|
|
3
|
-
description: Operationalize your brand — assemble tokens, STYLE.md, component mapping, and guidelines
|
|
3
|
+
description: Operationalize your brand — assemble tokens, STYLE.md, component mapping, and guidelines (technical phase — benefits from capable models)
|
|
4
4
|
user-invocable: true
|
|
5
|
-
model: opus
|
|
6
|
-
effort: high
|
|
7
5
|
allowed-tools:
|
|
8
6
|
- Read
|
|
9
7
|
- Write
|
|
@@ -26,11 +24,6 @@ Operationalize brand identity into project-ready artifacts and complete the bran
|
|
|
26
24
|
**Agent:** `gsp-brand-engineer`
|
|
27
25
|
</objective>
|
|
28
26
|
|
|
29
|
-
<execution_context>
|
|
30
|
-
@${CLAUDE_SKILL_DIR}/../../templates/phases/patterns.md
|
|
31
|
-
@${CLAUDE_SKILL_DIR}/design-tokens.md
|
|
32
|
-
</execution_context>
|
|
33
|
-
|
|
34
27
|
<rules>
|
|
35
28
|
- Always use `AskUserQuestion` for user-facing questions — never raw text prompts
|
|
36
29
|
- One decision per question — never batch multiple questions in a single message
|
|
@@ -116,6 +109,12 @@ Redesign the system from the ground up, informed by what exists.
|
|
|
116
109
|
|
|
117
110
|
## Step 3: Spawn brand engineer — Pass 1: Core
|
|
118
111
|
|
|
112
|
+
### Load references and agent methodology
|
|
113
|
+
Read these files and hold their content for inlining into the agent prompt:
|
|
114
|
+
- `${CLAUDE_SKILL_DIR}/../../templates/phases/patterns.md` — patterns output template
|
|
115
|
+
- `${CLAUDE_SKILL_DIR}/design-tokens.md` — design tokens reference
|
|
116
|
+
- `${CLAUDE_SKILL_DIR}/methodology/gsp-brand-engineer.md` — agent methodology
|
|
117
|
+
|
|
119
118
|
Spawn the `gsp-brand-engineer` agent. **Inline all content** — the agent should not need to read input files.
|
|
120
119
|
|
|
121
120
|
Pass in the agent prompt:
|
|
@@ -123,7 +122,9 @@ Pass in the agent prompt:
|
|
|
123
122
|
- **Content of** strategy chunks: voice-and-tone.md, archetype.md, positioning.md (loaded in Step 1)
|
|
124
123
|
- **Content of** BRIEF.md (loaded in Step 1)
|
|
125
124
|
- **Content of** style base preset `.yml` + `.md` (loaded in Step 1) — `.yml` as structural scaffold, `.md` as philosophy + implementation content for STYLE.md
|
|
126
|
-
-
|
|
125
|
+
- **Agent methodology** (loaded above)
|
|
126
|
+
- **Content of** patterns output template (loaded above)
|
|
127
|
+
- **Content of** design tokens reference (loaded above)
|
|
127
128
|
- The `system_strategy` and `tech_stack` values
|
|
128
129
|
- **Output path:** `{BRAND_PATH}/patterns/`
|
|
129
130
|
|
|
@@ -187,12 +188,13 @@ If adjust → use `/gsp-brand-refine` with the concern, then re-present. If conf
|
|
|
187
188
|
|
|
188
189
|
## Step 4: Spawn brand engineer — Pass 2: Components
|
|
189
190
|
|
|
190
|
-
Spawn the `gsp-brand-engineer` agent with:
|
|
191
|
+
Spawn the `gsp-brand-engineer` agent with (reuse **Agent methodology** loaded in Step 3):
|
|
191
192
|
- **Content of** the confirmed `{BRAND_PATH}/patterns/{brand-name}.yml`
|
|
192
193
|
- **Content of** `{BRAND_PATH}/patterns/STYLE.md`
|
|
193
194
|
- **Content of** `.design/system/STACK.md`, `COMPONENTS.md`, `TOKENS.md` (when loaded in Step 1.5)
|
|
194
195
|
- The `system_strategy` and `tech_stack` values
|
|
195
|
-
-
|
|
196
|
+
- **Agent methodology** (loaded in Step 3)
|
|
197
|
+
- **Content of** design tokens reference (loaded in Step 3)
|
|
196
198
|
- **Output path:** `{BRAND_PATH}/patterns/`
|
|
197
199
|
|
|
198
200
|
> Produce the component artifacts:
|