get-shit-pretty 0.5.2 → 0.6.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.
@@ -72,7 +72,7 @@ If all 4 phases complete, check:
72
72
 
73
73
  **Check B4: Legacy Monolith Detection**
74
74
  For each brand phase directory (discover, strategy, identity, patterns):
75
- - If monolith exists but no INDEX.md → WARN: "Legacy format in {phase}/ re-run /gsp:brand-{phase} for chunk output"
75
+ - If monolith exists but no INDEX.md → WARN: "Monolith files are no longer supported in GSP v0.6.0+. Re-run `/gsp:brand-{phase}` to generate chunk output."
76
76
 
77
77
  ### Per-Project Checks (6-phase)
78
78
 
@@ -239,6 +239,22 @@ Glob for all SKILL.md files in the skills directory (`{runtime-dir}/skills/*/SKI
239
239
  - All present → PASS
240
240
  - Missing → WARN: "Skills missing `user-invocable: true`: {list}. They won't appear in the slash-command menu. Re-run the installer or add the field manually."
241
241
 
242
+ **Check I2: Skill directories are complete (not just SKILL.md)**
243
+ For each gsp-* skill directory, check if `SKILL.md` references sibling files via `${CLAUDE_SKILL_DIR}/` paths (e.g. `styles/INDEX.yml`). If it does, verify those files/dirs exist in the installed skill directory.
244
+ - All referenced siblings present → PASS
245
+ - Missing siblings → FAIL: "Skill {name} references {path} but it's missing. Re-run the installer: `npx get-shit-pretty`"
246
+
247
+ **Check I3: Bundle directories accessible**
248
+ Check that the runtime bundle directories exist (`{runtime-dir}/prompts/`, `{runtime-dir}/templates/`, `{runtime-dir}/references/`). Skills reference these via `${CLAUDE_SKILL_DIR}/../../`.
249
+ - All present → PASS
250
+ - Missing → FAIL: "Bundle directory {dir} missing. Re-run the installer: `npx get-shit-pretty`"
251
+
252
+ **Check I4: VERSION file present**
253
+ Check `{runtime-dir}/VERSION` exists and contains a valid semver string.
254
+ - Present and valid → PASS (show version)
255
+ - Missing → WARN: "VERSION file missing. Re-run the installer."
256
+ - Mismatched with source → INFO: "Installed version {installed} differs from source {source}."
257
+
242
258
  ### Cross-Instance Checks
243
259
 
244
260
  **Check X1: Multiple projects, same brand**
@@ -287,6 +303,9 @@ Overall Health: {SCORE}/100 {emoji}
287
303
 
288
304
  ─── Installation Health ───────────────
289
305
  ✅ I1. Skills invocable ........ PASS
306
+ ✅ I2. Skill completeness ...... PASS
307
+ ✅ I3. Bundle directories ...... PASS
308
+ ✅ I4. VERSION file ............ PASS
290
309
 
291
310
  ─── Cross-Instance ────────────────────
292
311
  ✅ X1. Brand Consistency ...... PASS
@@ -42,6 +42,7 @@ Skill names are left-padded with 4 spaces. Descriptions start at column 27 (4 in
42
42
  /gsp:brand-identity create visual identity
43
43
  /gsp:brand-patterns build design system tokens and components
44
44
  /gsp:brand-sync sync brand to match a project's shipped state
45
+ /gsp:brand-refine tweak brand tokens mid-project without re-running identity
45
46
  /gsp:brand-audit audit existing brand before evolving (optional)
46
47
 
47
48
  ─── Project ──────────────────────────
@@ -31,12 +31,9 @@ Create marketing campaign assets for product launch.
31
31
  <process>
32
32
  ## Step 0: Resolve project and brand
33
33
 
34
- Scan `.design/projects/` for project directories. If only one project exists, use it. If multiple, ask the user which project to work on.
34
+ Resolve project from `.design/projects/` (one use it, multiple ask). Set `PROJECT_PATH`.
35
35
 
36
- Set `PROJECT_PATH` = `.design/projects/{project}`
37
-
38
- Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
39
- - Set `BRAND_PATH` = `.design/branding/{brand}`
36
+ Read `{PROJECT_PATH}/brand.ref` set `BRAND_PATH`.
40
37
 
41
38
  ## Step 1: Load context
42
39
 
@@ -49,9 +46,8 @@ Read `{PROJECT_PATH}/config.json` to get `design_scope`.
49
46
  ### Identity (selective, chunk-first)
50
47
 
51
48
  Read `{BRAND_PATH}/identity/INDEX.md`. If it exists, load all identity chunks.
52
- Fallback: read `{BRAND_PATH}/identity/IDENTITY.md`. Log: "⚠️ Legacy identity format detected."
53
49
 
54
- If neither exists, tell the user to complete the brand identity first.
50
+ If it doesn't exist, tell the user to complete the brand identity first.
55
51
 
56
52
  ### Voice and Messaging (from strategy)
57
53
 
@@ -60,7 +56,6 @@ Read `{BRAND_PATH}/strategy/voice-and-tone.md` and `{BRAND_PATH}/strategy/messag
60
56
  ### Design (chunk-first)
61
57
 
62
58
  Read `{PROJECT_PATH}/design/INDEX.md`. If it exists, load all screen chunks.
63
- Fallback: read `{PROJECT_PATH}/screens/INDEX.md` (legacy path).
64
59
 
65
60
  ### Other
66
61
 
@@ -31,6 +31,7 @@ Generate production-ready OKLCH color palettes from hex colors.
31
31
 
32
32
  <rules>
33
33
  - Always use `AskUserQuestion` for user interaction — never prompt via plain text
34
+ - One decision per question — never batch multiple questions in a single message
34
35
  - Palettes are deterministic — same hex input always produces the same OKLCH scales
35
36
  - Foundation chunks follow `references/chunk-format.md` format exactly
36
37
  - Every palette gets the full 11-stop scale: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950
@@ -138,6 +139,8 @@ If a brand context exists (`.design/branding/{brand}/`):
138
139
 
139
140
  ## Step 5: Write palettes.json
140
141
 
142
+ If `{OUTPUT_PATH}/palettes.json` already exists, use `AskUserQuestion`: "palettes.json already exists — overwrite with new palette?" with options **Overwrite** and **Cancel**. If cancelled, skip writing palettes.json and proceed to the next step.
143
+
141
144
  Write `{OUTPUT_PATH}/palettes.json` with the full OKLCH scales:
142
145
 
143
146
  ```json
@@ -34,15 +34,9 @@ Scope the project and plan adaptations from the brand system.
34
34
  <process>
35
35
  ## Step 0: Resolve project and brand
36
36
 
37
- Scan `.design/projects/` for project directories. If only one project exists, use it. If multiple, ask the user which project to work on.
37
+ Resolve project from `.design/projects/` (one use it, multiple ask). Set `PROJECT_PATH`.
38
38
 
39
- Set `PROJECT_PATH` = `.design/projects/{project}`
40
-
41
- Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
42
- - Extract `brand` name and `path` from brand.ref
43
- - Set `BRAND_PATH` = `.design/branding/{brand}`
44
-
45
- If brand.ref doesn't exist, tell the user to run `/gsp:start` to set up the project with a brand reference.
39
+ Read `{PROJECT_PATH}/brand.ref` set `BRAND_PATH`. If brand.ref doesn't exist, tell the user to run `/gsp:start`.
46
40
 
47
41
  ## Step 1: Load context
48
42
 
@@ -50,9 +44,7 @@ If brand.ref doesn't exist, tell the user to run `/gsp:start` to set up the proj
50
44
 
51
45
  Read `{BRAND_PATH}/patterns/INDEX.md`. If it exists, load all foundation chunks + selective component chunks.
52
46
 
53
- Fallback: read `{BRAND_PATH}/patterns/SYSTEM.md` (legacy monolith). Log: "⚠️ Legacy format detected."
54
-
55
- If neither exists, tell the user to run `/gsp:brand-patterns` first to create the brand's design patterns.
47
+ If it doesn't exist, tell the user to run `/gsp:brand-patterns` first to create the brand's design patterns.
56
48
 
57
49
  Also read `{BRAND_PATH}/patterns/tokens.json`.
58
50
 
@@ -57,12 +57,9 @@ Implement designs as production-ready code in the codebase via phased pipeline w
57
57
  <process>
58
58
  ## Step 0: Resolve project and brand
59
59
 
60
- Scan `.design/projects/` for project directories. If only one project exists, use it. If multiple, ask the user which project to work on.
60
+ Resolve project from `.design/projects/` (one use it, multiple ask). Set `PROJECT_PATH`.
61
61
 
62
- Set `PROJECT_PATH` = `.design/projects/{project}`
63
-
64
- Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
65
- - Set `BRAND_PATH` = `.design/branding/{brand}`
62
+ Read `{PROJECT_PATH}/brand.ref` set `BRAND_PATH`.
66
63
 
67
64
  ## Step 0.5: Validate prerequisites
68
65
 
@@ -36,12 +36,9 @@ Critique design quality and audit accessibility compliance.
36
36
  <process>
37
37
  ## Step 0: Resolve project and brand
38
38
 
39
- Scan `.design/projects/` for project directories. If only one project exists, use it. If multiple, ask the user which project to work on.
39
+ Resolve project from `.design/projects/` (one use it, multiple ask). Set `PROJECT_PATH`.
40
40
 
41
- Set `PROJECT_PATH` = `.design/projects/{project}`
42
-
43
- Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
44
- - Set `BRAND_PATH` = `.design/branding/{brand}`
41
+ Read `{PROJECT_PATH}/brand.ref` set `BRAND_PATH`.
45
42
 
46
43
  ## Step 1: Load context
47
44
 
@@ -52,13 +49,10 @@ Read `{PROJECT_PATH}/config.json` to get `implementation_target`, `design_scope`
52
49
  **BRIEF:** `{PROJECT_PATH}/BRIEF.md`
53
50
 
54
51
  **Identity:** Read `{BRAND_PATH}/identity/INDEX.md` → load all chunks.
55
- Fallback: `{BRAND_PATH}/identity/IDENTITY.md`.
56
52
 
57
53
  **Patterns:** Read `{BRAND_PATH}/patterns/INDEX.md` → load all chunks.
58
- Fallback: `{BRAND_PATH}/patterns/SYSTEM.md`.
59
54
 
60
55
  **Design:** Read `{PROJECT_PATH}/design/INDEX.md` → load all chunks.
61
- Fallback: `{PROJECT_PATH}/design/SCREENS.md` or `{PROJECT_PATH}/screens/INDEX.md` (legacy).
62
56
 
63
57
  **Brief:** Read `{PROJECT_PATH}/brief/INDEX.md` → load all chunks (if exists).
64
58
 
@@ -150,5 +144,7 @@ If verdict is **Fail**:
150
144
  ## Step 6: Phase transition output
151
145
 
152
146
  Render phase transition (see `references/phase-transitions.md`). This phase has pass/fail variants — the reference covers both.
147
+
148
+ If critique identified brand-level issues (palette contrast, typography weight, spacing scale), note: "Some issues are brand-level — run `/gsp:brand-refine` to adjust tokens without re-running identity."
153
149
  </process>
154
150
  </output>
@@ -36,12 +36,9 @@ Design core UI/UX screens and interaction flows.
36
36
  <process>
37
37
  ## Step 0: Resolve project and brand
38
38
 
39
- Scan `.design/projects/` for project directories. If only one project exists, use it. If multiple, ask the user which project to work on.
39
+ Resolve project from `.design/projects/` (one use it, multiple ask). Set `PROJECT_PATH`.
40
40
 
41
- Set `PROJECT_PATH` = `.design/projects/{project}`
42
-
43
- Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
44
- - Set `BRAND_PATH` = `.design/branding/{brand}`
41
+ Read `{PROJECT_PATH}/brand.ref` set `BRAND_PATH`.
45
42
 
46
43
  ## Step 0.5: Validate prerequisites
47
44
 
@@ -71,14 +68,11 @@ If `{PROJECT_PATH}/references/` exists, scan for files (images, PDFs, markdown,
71
68
 
72
69
  Read `{BRAND_PATH}/patterns/INDEX.md`. If it exists, load all foundation chunks + selective component chunks.
73
70
 
74
- Fallback: read `{BRAND_PATH}/patterns/SYSTEM.md` (legacy monolith). Log: "⚠️ Legacy format detected — consider re-running /gsp:brand-patterns for chunk output."
75
-
76
- If neither exists, tell the user to run `/gsp:brand-patterns` first.
71
+ If it doesn't exist, tell the user to run `/gsp:brand-patterns` first.
77
72
 
78
73
  ### Brand context (selective)
79
74
 
80
75
  Read `{BRAND_PATH}/identity/INDEX.md`. If it exists, load `color-system.md`, `typography.md`, and `imagery-style.md`.
81
- Fallback: read `{BRAND_PATH}/identity/IDENTITY.md`.
82
76
 
83
77
  ### Brand style prompt (visual DNA)
84
78
 
@@ -36,12 +36,9 @@ Deep research into UX patterns, competitor experiences, and technical approaches
36
36
  <process>
37
37
  ## Step 0: Resolve project and brand
38
38
 
39
- Scan `.design/projects/` for project directories. If only one project exists, use it. If multiple, ask the user which project to work on.
39
+ Resolve project from `.design/projects/` (one use it, multiple ask). Set `PROJECT_PATH`.
40
40
 
41
- Set `PROJECT_PATH` = `.design/projects/{project}`
42
-
43
- Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
44
- - Set `BRAND_PATH` = `.design/branding/{brand}`
41
+ Read `{PROJECT_PATH}/brand.ref` set `BRAND_PATH`.
45
42
 
46
43
  ## Step 1: Load context
47
44
 
@@ -32,12 +32,9 @@ QA validate the codebase implementation against design intent.
32
32
  <process>
33
33
  ## Step 0: Resolve project and brand
34
34
 
35
- Scan `.design/projects/` for project directories. If only one project exists, use it. If multiple, ask the user which project to work on.
35
+ Resolve project from `.design/projects/` (one use it, multiple ask). Set `PROJECT_PATH`.
36
36
 
37
- Set `PROJECT_PATH` = `.design/projects/{project}`
38
-
39
- Read `{PROJECT_PATH}/brand.ref` to resolve brand path:
40
- - Set `BRAND_PATH` = `.design/branding/{brand}`
37
+ Read `{PROJECT_PATH}/brand.ref` set `BRAND_PATH`.
41
38
 
42
39
  ## Step 1: Load context
43
40
 
@@ -54,7 +51,6 @@ Read `{PROJECT_PATH}/config.json` to get `implementation_target`, `design_scope`
54
51
  **Git diff:** Run `git diff` (and `git diff --cached`) to see what actually changed in the codebase. Cross-reference against BUILD-LOG.md.
55
52
 
56
53
  **Design:** Read `{PROJECT_PATH}/design/INDEX.md` → load all screen chunks.
57
- Fallback: `{PROJECT_PATH}/screens/INDEX.md` (legacy).
58
54
 
59
55
  **Brand patterns:** Read `{BRAND_PATH}/patterns/INDEX.md` → load foundation + component chunks.
60
56
  Also read `{BRAND_PATH}/patterns/tokens.json`.
@@ -175,4 +171,6 @@ If verdict is **Fail**:
175
171
  ## Step 6: Phase transition output
176
172
 
177
173
  Render phase transition (see `references/phase-transitions.md`). This phase has pass/fail variants — the reference covers both.
174
+
175
+ If review identified brand-level issues (token values that don't work in context), note: "Some issues are brand-level — run `/gsp:brand-refine` to adjust tokens without re-running identity."
178
176
  </process>