picasso-skill 2.6.1 → 2.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.
@@ -21,7 +21,7 @@ The preset name: `$ARGUMENTS`
21
21
  - Each card: preset name (in its heading font), 5-swatch color palette strip, one-line mood description, a sample button in the preset's primary color and radius
22
22
  - Card backgrounds use the preset's surface color, text uses its text color
23
23
  3. Write to `/tmp/picasso-preset-browser.html`
24
- 4. Screenshot via Bash: `npx playwright screenshot /tmp/picasso-preset-browser.html /tmp/picasso-preset-browser.png --viewport-size=1200,800`, then view with `Read`
24
+ 4. Screenshot via Bash: `npx playwright screenshot /tmp/picasso-preset-browser.html /tmp/picasso-preset-browser.png --viewport-size=1200,1600 --full-page`, then view with `Read`
25
25
  5. Present: "Here are all 22 presets. Which one catches your eye?"
26
26
  6. Wait for the user to pick
27
27
 
@@ -3,8 +3,70 @@ name: quick-audit
3
3
  description: "5-minute fast design audit: 6 binary checks (font, color, layout, spacing, a11y, anti-slop)"
4
4
  ---
5
5
 
6
- Run the Picasso /quick-audit command. Check exactly 6 things and report pass/fail for each. Takes 5 minutes, not 30.
6
+ # /quick-audit -- 5-Minute Fast Audit
7
7
 
8
- MANDATORY FIRST STEP: Take a desktop screenshot (`npx playwright screenshot http://localhost:PORT /tmp/picasso-quick-audit.png --viewport-size=1440,900`) and VIEW it with the Read tool before assessing Layout, Spacing, or Anti-Slop visually. Font and Color checks can be done from code. Accessibility can be done from code. But layout/spacing/anti-slop require visual verification.
8
+ Check exactly 6 things and report pass/fail. Takes 5 minutes, not 30.
9
9
 
10
- If screenshots fail, you can still check Font, Color, and Accessibility from code. Mark Layout, Spacing, and Anti-Slop as "SKIPPED (no screenshot available)" instead of guessing.
10
+ ## First Step
11
+
12
+ Take a desktop screenshot: `npx playwright screenshot http://localhost:PORT /tmp/picasso-quick-audit.png --viewport-size=1440,900`
13
+ View it with `Read` before assessing Layout, Spacing, or Anti-Slop.
14
+
15
+ If screenshots fail, check Font/Color/Accessibility from code. Mark Layout/Spacing/Anti-Slop as "SKIPPED (no screenshot)."
16
+
17
+ ## The 6 Checks
18
+
19
+ ### 1. Font
20
+ FAIL if primary font is any of: Inter, Roboto, Arial, Open Sans, system-ui, Helvetica.
21
+ FAIL if primary font is the framework default (Geist for Next.js, Noto Sans for Material).
22
+ PASS if a deliberately chosen, non-default font is used.
23
+
24
+ ### 2. Color
25
+ FAIL if neutrals are pure gray (#808080, #ccc, #666, #333 without hue tint).
26
+ FAIL if primary color is Tailwind's default indigo/violet/purple family.
27
+ PASS if neutrals are tinted and primary is a deliberate brand choice.
28
+
29
+ ### 3. Layout
30
+ FAIL if everything is centered on one vertical axis with no spatial variation.
31
+ PASS if layout has asymmetry, varied section widths, or intentional spatial hierarchy.
32
+ (Requires screenshot to verify.)
33
+
34
+ ### 4. Spacing
35
+ FAIL if spacing is uniform everywhere with no gestalt grouping.
36
+ PASS if spacing follows a consistent scale AND varies between groups vs. within groups.
37
+ (Requires screenshot to verify.)
38
+
39
+ ### 5. Accessibility
40
+ FAIL if `outline: none` exists without `:focus-visible` replacement.
41
+ FAIL if `prefers-reduced-motion` is not handled.
42
+ PASS if focus indicators and motion preferences are both addressed.
43
+
44
+ ### 6. Anti-Slop
45
+ FAIL if 3+ of these appear simultaneously:
46
+ - Indigo/violet/purple as primary color
47
+ - Per-card staggered entrance animations (animation-delay per stat card)
48
+ - Rainbow-coded elements (different color per icon/badge/card)
49
+ - Gradient blobs on body background
50
+ - Uniform identical card grid (all same size/radius/style)
51
+ - Icons inside colored circle/rounded-square containers
52
+ - hover:-translate-y + shadow-lg on cards
53
+ - Colored left-border or top-border per card
54
+ - Everything centered on one axis
55
+ - Same spacing between every section
56
+
57
+ PASS if fewer than 3 are present.
58
+
59
+ ## Output
60
+
61
+ ```
62
+ ## Quick Audit: [project name]
63
+
64
+ Font: PASS/FAIL (details)
65
+ Color: PASS/FAIL (details)
66
+ Layout: PASS/FAIL (details)
67
+ Spacing: PASS/FAIL (details)
68
+ Accessibility: PASS/FAIL (details)
69
+ Anti-Slop: PASS/FAIL (X fingerprints: list them)
70
+
71
+ Result: X/6 -- [one-line recommendation]
72
+ ```
package/commands/roast.md CHANGED
@@ -23,7 +23,12 @@ Rules:
23
23
  - Be funny and cutting, but never mean about the developer -- only the design
24
24
  - Every roast point MUST include the fix
25
25
  - End with a genuine compliment about what IS working
26
- - Output a Roast Score from 🔥 (barely warm) to 🔥🔥🔥🔥🔥 (absolute inferno)
26
+ - Output a Roast Score calibrated to severity:
27
+ - 🔥 (1/5): Minor polish. Good design with a few rough edges.
28
+ - 🔥🔥 (2/5): Noticeable issues. Looks decent but has clear amateur tells.
29
+ - 🔥🔥🔥 (3/5): Significant problems. AI-generated fingerprints visible. Needs real design work.
30
+ - 🔥🔥🔥🔥 (4/5): Major overhaul needed. Multiple anti-patterns, no cohesive design language.
31
+ - 🔥🔥🔥🔥🔥 (5/5): Start over. Every design decision is a default or anti-pattern.
27
32
  - Load anti-patterns.md first to check against the AI slop fingerprint
28
33
 
29
34
  Format:
package/commands/score.md CHANGED
@@ -1,28 +1,94 @@
1
- Run the Picasso /score command -- quantified design quality score.
1
+ ---
2
+ name: score
3
+ description: "Quantified 0-100 design quality score with category breakdown."
4
+ ---
2
5
 
3
- Use the Picasso agent to score the current project's frontend design on a 0-100 scale.
6
+ # /score -- Design Quality Score
4
7
 
5
- MANDATORY FIRST STEP -- Gather visual evidence before scoring:
8
+ Score the current project's frontend design on a 0-100 scale.
9
+
10
+ ## First Steps (Mandatory)
6
11
 
7
12
  1. Take screenshots: `npx playwright screenshot http://localhost:PORT /tmp/picasso-score-desktop.png --viewport-size=1440,900` (and mobile at 375,812)
8
- 2. Use the Read tool to VIEW the screenshot files before scoring visual categories
9
- 3. If screenshots fail, tell the user and score only code-auditable categories (mark visual categories as "N/A - no screenshot")
10
-
11
- If a Figma URL is provided, run /figma first to extract design tokens, then proceed with those as ground truth.
12
-
13
- ANTI-HALLUCINATION RULES:
14
- - Visual categories (Typography appearance, Color in practice, Spacing rhythm, Anti-Slop visual check) MUST be scored from screenshots, not code alone
15
- - Code-auditable categories (a11y violations via axe, transition:all grep, prefers-reduced-motion grep) can be scored from code
16
- - Never claim "this looks like X" without viewing a screenshot
17
-
18
- Categories:
19
- - Typography (0-15): font choice, type scale, max-width, line-height, letter-spacing
20
- - Color (0-15): no pure black/gray, OKLCH usage, tinted neutrals, 60-30-10, semantics
21
- - Spacing (0-10): consistent 4px scale, Gestalt grouping
22
- - Accessibility (0-20): axe-core violations, focus-visible, semantic HTML, alt text, reduced-motion
23
- - Motion (0-10): no transition:all, stagger pattern, reduced-motion, no bounce
24
- - Responsive (0-10): works at 375px, touch targets, no horizontal scroll
25
- - Performance (0-10): Lighthouse perf score mapped 0-100 -> 0-10
26
- - Anti-Slop (0-10): deductions for each AI-slop fingerprint detected (-2 each)
27
-
28
- Output format with visual bars and top fixes for maximum point improvement.
13
+ 2. View the screenshots with `Read` before scoring visual categories
14
+ 3. If screenshots fail, tell the user and score only code-auditable categories
15
+
16
+ If a Figma URL is provided, run /figma first for ground truth.
17
+
18
+ ## Scoring Categories
19
+
20
+ ### Typography (0-15)
21
+ - Font choice: not a banned default AND not a framework default (Geist for Next.js, Roboto for Material). +3
22
+ - Type scale: follows a modular ratio, not ad-hoc sizes. +3
23
+ - Body text max-width set (65ch or equivalent). +3
24
+ - Line-height: 1.5-1.6 body, 1.1-1.2 headings. +3
25
+ - Letter-spacing on uppercase text (0.05em+). +3
26
+
27
+ ### Color (0-15)
28
+ - No pure black (#000) or pure gray. +3
29
+ - OKLCH or HSL usage (not all raw hex). +3
30
+ - Neutrals tinted toward palette hue. +3
31
+ - 60-30-10 ratio (dominant surface, secondary, accent). +3
32
+ - Semantic colors defined (success, warning, error). +3
33
+
34
+ ### Spacing (0-10)
35
+ - Consistent scale (4px multiples). +5
36
+ - Gestalt grouping: tighter within groups, wider between. +5
37
+
38
+ ### UX Heuristics (0-20)
39
+ Score against Nielsen's 10 heuristics (see `references/ux-evaluation.md`), 2 pts each:
40
+ - H1: System status (loading states, feedback). +2
41
+ - H2: Real world match (clear labels, familiar icons). +2
42
+ - H3: User control (undo, escape, back). +2
43
+ - H4: Consistency (same styles everywhere). +2
44
+ - H5: Error prevention (validation, confirmation). +2
45
+ - H6: Recognition (visible labels, persistent nav). +2
46
+ - H7: Efficiency (keyboard shortcuts, bulk ops). +2
47
+ - H8: Minimal design (clear hierarchy, no clutter). +2
48
+ - H9: Error recovery (helpful error messages). +2
49
+ - H10: Help (tooltips, onboarding). +2
50
+
51
+ ### Motion (0-10)
52
+ - No `transition: all` (grep for it). +3
53
+ - Page has choreographed entrance (page-level, NOT per-card stagger). +3
54
+ - `prefers-reduced-motion` support exists. +2
55
+ - No bounce/elastic easing. +2
56
+
57
+ ### Responsive (0-10)
58
+ - Content readable at 375px. +5
59
+ - Touch targets >= 44px. +3
60
+ - No horizontal scroll on mobile. +2
61
+
62
+ ### Performance (0-10)
63
+ - If Lighthouse available: map score 0-100 to 0-10
64
+ - If Lighthouse unavailable: check for lazy loading (+3), image dimensions set (+3), font-display: swap (+2), no layout-shifting elements (+2)
65
+
66
+ ### Anti-Slop (0-10)
67
+ Start at 10, deduct -2 for each fingerprint found (minimum 0):
68
+ - Indigo/violet/purple as primary (unless user's declared brand color)
69
+ - Per-card/per-row staggered entrance animations
70
+ - Rainbow-coded elements (different color per card/badge/icon)
71
+ - Gradient blobs on body background
72
+ - Uniform identical card grid (all same size/style)
73
+ - Icons inside colored circle containers
74
+ - hover:-translate-y + shadow-lg on cards
75
+ - Colored left-border or top-border accents on cards
76
+
77
+ ## Output
78
+
79
+ ```
80
+ ## Picasso Design Score: XX/100
81
+
82
+ Typography: [bars] XX/15
83
+ Color: [bars] XX/15
84
+ Spacing: [bars] XX/10
85
+ UX Heuristics: [bars] XX/20
86
+ Motion: [bars] XX/10
87
+ Responsive: [bars] XX/10
88
+ Performance: [bars] XX/10
89
+ Anti-Slop: [bars] XX/10
90
+
91
+ Top fixes for +XX points:
92
+ 1. [specific fix] (+X)
93
+ 2. [specific fix] (+X)
94
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "picasso-skill",
3
- "version": "2.6.1",
3
+ "version": "2.7.0",
4
4
  "description": "The ultimate AI design skill for producing distinctive, production-grade frontend interfaces",
5
5
  "bin": {
6
6
  "picasso-skill": "./bin/install.mjs"