picasso-skill 2.7.0 → 3.0.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 CHANGED
@@ -5,14 +5,14 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- 32 reference domains &bull; 13 slash commands + 22 agent behaviors &bull; 11,000+ lines of actionable design intelligence<br/>
8
+ 33 reference domains &bull; 15 slash commands &bull; 19,000 lines of design intelligence<br/>
9
9
  Every interface looks like a senior design engineer spent days on it.
10
10
  </p>
11
11
 
12
12
  <p align="center">
13
13
  <a href="#install">Install</a> &bull;
14
14
  <a href="#what-makes-picasso-different">Why Picasso</a> &bull;
15
- <a href="#the-design-interview">Interview</a> &bull;
15
+ <a href="#visual-discovery-not-a-questionnaire">Visual Discovery</a> &bull;
16
16
  <a href="#creative-commands">Creative Commands</a> &bull;
17
17
  <a href="#benchmark">Benchmarks</a> &bull;
18
18
  <a href="#commands">All Commands</a> &bull;
@@ -36,7 +36,7 @@ Existing design skills are shallow. They tell you to "use good typography" witho
36
36
 
37
37
  ### Depth That No Other Skill Matches
38
38
 
39
- Picasso covers **32 specialized reference domains**, each with concrete rules, specific values, and ready-to-use code. This isn't a collection of vague principles -- it's an engineering specification for beautiful interfaces.
39
+ Picasso covers **33 specialized reference domains**, each with concrete rules, specific values, and ready-to-use code. This isn't a collection of vague principles -- it's an engineering specification for beautiful interfaces.
40
40
 
41
41
  | Domain | What You Get |
42
42
  |---|---|
@@ -44,7 +44,7 @@ Picasso covers **32 specialized reference domains**, each with concrete rules, s
44
44
  | **Color & Contrast** | OKLCH-based palette construction, tinted neutrals (never pure gray), 60-30-10 rule, dark mode inversion rules, "alpha is a design smell" |
45
45
  | **Spatial Design** | 4px base spacing scale, Gestalt proximity ratios (2:1 minimum), Squint Test, asymmetric grid patterns, "cards are not required" |
46
46
  | **Motion & Animation** | Duration rule (100/200/300/500ms), only animate transform+opacity, exit = 75% of entrance, grid-template-rows for height, stagger caps |
47
- | **Interaction Design** | All 8 interactive states (default/hover/focus/active/disabled/loading/error/success), dropdown positioning (#1 bug fix), Popover API, undo > confirmation |
47
+ | **UX Evaluation** | Nielsen's 10 heuristics as actionable checklist, Jobs to Be Done extraction from code, component state machines (8 states), prompt enhancement for vague requests |
48
48
  | **Responsive Design** | Input method detection (`@media pointer/hover`), safe areas, container queries, content-driven breakpoints, real device testing |
49
49
  | **Sensory Design** | soundcn (700+ CC0 sounds), web-haptics (4 presets + custom), multi-sensory integration patterns |
50
50
  | **React/Next.js** | Server Components by default, barrel import avoidance, RSC serialization minimization, React.cache() deduplication |
@@ -69,7 +69,7 @@ Picasso covers **32 specialized reference domains**, each with concrete rules, s
69
69
  | **Micro-Interactions** | IntersectionObserver scroll animations, View Transitions API, magnetic cursors, gesture detection (swipe/pinch), animation budget (max 3 concurrent) |
70
70
  | **i18n Visual Patterns** | Logical properties for RTL, text expansion by language (+35% German), CJK rendering, Noto font stacks, icon mirroring rules |
71
71
  | **Brand & Identity** | Logo sizing (min 24px), clear space rules, lockup variants, 60-30-10 brand color usage, when to bend brand rules |
72
- | **Animation Performance** | Compositor-only properties (transform + opacity only), will-change lifecycle, layout thrashing batching, `contain` property, GPU hints |
72
+ | **Visual Preview** | Self-contained HTML preview generation, side-by-side direction comparison, preset browser grid, font URL mapping, screenshot protocol |
73
73
  | **Code Typography** | JetBrains Mono/Fira Code selection, syntax highlighting contrast (3:1 min), code block design, copy button UX, diff views, terminal styling |
74
74
 
75
75
  ### The AI-Slop Firewall
@@ -102,33 +102,34 @@ Picasso doesn't just describe tools -- it specifies exactly how to use them with
102
102
 
103
103
  ---
104
104
 
105
- ## The Design Interview
105
+ ## Visual Discovery (Not a Questionnaire)
106
106
 
107
- When you first use Picasso on a project, it doesn't just start generating. It asks.
107
+ Most users can't articulate what they want but can instantly react to what they see. So Picasso shows, not asks. The gallery generation is **non-negotiable** -- it cannot be collapsed into questions, text descriptions, or verbal mood boards.
108
108
 
109
109
  ```
110
- Picasso: What are we building? New project, redesign, polish, or fixing specific issues?
111
- You: New SaaS dashboard for a fintech startup
110
+ 1. CRAWL Picasso agent silently reads your codebase, identifies the
111
+ product type, studies 2-3 real competitors in your space.
112
112
 
113
- Picasso: Who is this for?
114
- You: Financial analysts, 30-50 age range, use Bloomberg terminals all day
113
+ 2. ASK 2-3 quick questions max: "What's the primary user action?"
114
+ "Any brand colors to keep?" "Site you love the look of?"
115
115
 
116
- Picasso: What's the vibe? Any sites you love the look of?
117
- You: Dark, dense, like Linear meets Bloomberg. Here's a reference: linear.app
116
+ 3. SHOW Generates 6-10 fast HTML sample pages, each a different
117
+ design direction applied to YOUR app's actual structure.
118
+ Screenshots each one. Opens a gallery for you to browse.
118
119
 
119
- Picasso: Rate these 1-5:
120
- Animations? Mobile? Accessibility? Dark mode? Performance?
121
- You: Animations 3, Mobile 2, A11y 5, Dark mode YES, Perf 5
120
+ 4. REACT You: "Like 3 and 7. Hate the dark ones. 7 is close but
121
+ the font is too playful."
122
122
 
123
- Picasso: Got it. Here's what I'm building:
124
- Dark-tech aesthetic inspired by Linear
125
- → Dense layout (VISUAL_DENSITY: 8), subtle motion (MOTION_INTENSITY: 3)
126
- WCAG AAA accessibility, dark-first, performance-critical
127
- Generating .picasso.md and DESIGN.md now...
128
- Sound good?
123
+ 5. NARROW Generates 3-5 refined samples based on your reactions.
124
+ Each one more polished than round 1.
125
+
126
+ 6. CONFIRM You pick a direction. Agent generates .picasso.md and
127
+ hands off to the skill for implementation.
129
128
  ```
130
129
 
131
- The interview generates a `.picasso.md` config that persists your preferences across every future session. Run `/picasso` anytime to redo it.
130
+ This process runs automatically when there's no `.picasso.md` in your project. Once you've confirmed a direction, `.picasso.md` stores your tokens and future invocations skip straight to execution. Run `/picasso` to redo discovery at any time.
131
+
132
+ You never have to go look at design sites for inspiration. Picasso brings it to you. Your reactions reveal more preferences than any questionnaire.
132
133
 
133
134
  ---
134
135
 
@@ -170,19 +171,19 @@ A single 0-100 score, broken down by category. Track it over time.
170
171
 
171
172
  Typography: ████████████░░░ 12/15
172
173
  Color: ████████████░░░ 11/15
173
- Spacing: ████████░░ 8/10
174
- Accessibility: ████████████████ 16/20
175
- Motion: ██████░░░░ 6/10
176
- Responsive: ████████░░ 8/10
177
- Performance: ██████░░░░ 6/10
178
- Anti-Slop: ██████░░░░ 6/10
174
+ Spacing: ████████░░ 8/10
175
+ UX Heuristics: ████████████████ 16/20
176
+ Motion: ██████░░░░ 6/10
177
+ Responsive: ████████░░ 8/10
178
+ Performance: ██████░░░░ 6/10
179
+ Anti-Slop: ██████░░░░ 6/10
179
180
 
180
181
  Top fixes for +15 points:
181
- 1. Add prefers-reduced-motion support (+4)
182
- 2. Replace #000 with tinted near-black (+3)
183
- 3. Add staggered entrance animation (+3)
184
- 4. Set max-width on body text (+3)
185
- 5. Replace outline:none with focus-visible (+2)
182
+ 1. Replace default primary color with industry-appropriate choice (+4)
183
+ 2. Set max-width on body text and increase to 16px (+3)
184
+ 3. Add prefers-reduced-motion support (+3)
185
+ 4. Replace outline:none with focus-visible (+3)
186
+ 5. Replace #000 with tinted near-black (+2)
186
187
  ```
187
188
 
188
189
  ### `/steal <url>` -- Extract Any Site's Design DNA
@@ -205,22 +206,22 @@ Generates a complete design system -- palette, fonts, spacing, motion, component
205
206
 
206
207
  ### `/evolve` -- Iterative Multi-Round Refinement
207
208
 
208
- Instead of generating once and hoping, Picasso proposes 3 distinct directions, lets you pick, then refines through multiple rounds:
209
+ Proposes 3 directions as visual HTML previews, lets you pick, then implements and refines through multiple rounds with screenshots between each:
209
210
 
210
211
  ```
211
- Round 1: Here are 3 directions:
212
- A) Minimal monochrome -- Geist font, black/white, sharp corners
213
- B) Warm editorial -- Instrument Serif headers, terracotta accent, soft radius
214
- C) Dark technical -- JetBrains Mono accent, neon green, dense layout
212
+ Round 1: [generates 3 visual preview cards, screenshots them]
213
+ A) Counsel -- sage/teal, serif headers, 8px radius
214
+ B) Chambers -- dark, amber accent, monospace, 3px sharp
215
+ C) Parchment -- warm cream, terracotta, italic serif
215
216
 
216
- You: B, but darker
217
+ You: B, but less extreme
217
218
 
218
- Round 2: [implements B with darker surfaces, screenshots]
219
+ Round 2: [implements B with adjustments, screenshots running app]
219
220
  What do you love? What's not right?
220
221
 
221
222
  You: Love the typography. Cards need more breathing room.
222
223
 
223
- Round 3: [adjusts spacing, screenshots]
224
+ Round 3: [adjusts spacing, screenshots again]
224
225
  Are we there?
225
226
 
226
227
  You: Ship it.
@@ -250,19 +251,16 @@ Fix this and you pull ahead significantly.
250
251
 
251
252
  ### `/before-after` -- Visual Transformation Report
252
253
 
253
- After any `/polish` or `/redesign`, auto-generates side-by-side screenshots showing exactly what changed and why. Shareable HTML report.
254
+ After any design changes, auto-generates side-by-side screenshots showing exactly what changed and why. Shareable HTML report.
254
255
 
255
256
  ### `/preset <name>` -- One-Command Aesthetic
256
257
 
257
258
  ```bash
258
- /preset linear # Linear-inspired dark minimal
259
- /preset stripe # Stripe-inspired gradient editorial
260
- /preset vercel # Vercel-inspired black/white sharp
261
- /preset notion # Notion-inspired warm readable
262
- /preset brutalist # Raw, intentional, monospace
259
+ /preset # Visual browser grid of all 22 presets -- pick one
260
+ /preset bold-signal # Preview Bold Signal, then apply it
263
261
  ```
264
262
 
265
- Generates `.picasso.md` + `DESIGN.md` + updates your CSS variables in one command.
263
+ Without args: generates a visual grid showing all 22 presets with swatches, fonts, and sample buttons. Pick visually. With a name: shows a full-page preview before applying. Generates `.picasso.md` + `DESIGN.md` + updates CSS variables.
266
264
 
267
265
  ---
268
266
 
@@ -274,10 +272,10 @@ We compared Picasso against every publicly available AI design skill as of April
274
272
 
275
273
  | Metric | Picasso | Anthropic frontend-design | Impeccable | Taste Skill | Generic skills |
276
274
  |---|---|---|---|---|---|
277
- | **Reference domains** | **32** | 1 | 7 | 1 | 1-3 |
278
- | **Total lines of guidance** | **11,000+** | ~120 | ~2,500 | ~200 | 50-300 |
275
+ | **Reference domains** | **33** | 1 | 7 | 1 | 1-3 |
276
+ | **Total lines of guidance** | **19,000** | ~120 | ~2,500 | ~200 | 50-300 |
279
277
  | **Anti-pattern rules** | **50+** | ~10 | ~30 | ~5 | 0-5 |
280
- | **Steering commands** | **35** | 0 | 20 | 0 | 0-3 |
278
+ | **Slash commands** | **15** | 0 | 20 | 0 | 0-3 |
281
279
  | **ARIA patterns documented** | **12 widgets** | 0 | 0 | 0 | 0 |
282
280
  | **React performance rules** | **45 (Vercel)** | 0 | 0 | 0 | 0 |
283
281
  | **Chart/data viz guidance** | **Full matrix** | None | None | None | None |
@@ -290,8 +288,8 @@ We compared Picasso against every publicly available AI design skill as of April
290
288
  | **Design system generation** | **9-section (Stitch)** | None | None | None | None |
291
289
  | **Sound/haptics** | **soundcn + web-haptics** | None | None | None | None |
292
290
  | **Scoring system** | **0-100 quantified** | None | /20 + /40 | None | None |
293
- | **Design interview** | **4-section onboarding** | None | None | None | None |
294
- | **Creative commands** | **8 (/roast, /steal, /evolve, /mood, /compete, /variants, /preset, /before-after)** | None | None | None | None |
291
+ | **Visual discovery** | **6-10 HTML gallery + reaction loop** | None | None | None | None |
292
+ | **Creative commands** | **15 (/roast, /score, /godmode, /steal, /evolve, /mood, /compete, /variants, /preset, /before-after, /figma, /preview, /backlog, /quick-audit, /autorefine)** | None | None | None | None |
295
293
  | **Tool integrations** | **7 libraries** | 0 | 0 | 0 | 0 |
296
294
  | **Sources consolidated** | **15+ repos** | 1 | 1 | 1 | 0-1 |
297
295
 
@@ -380,21 +378,39 @@ Upload `SKILL.md` as a Custom Skill in Claude.ai settings. Upload reference file
380
378
 
381
379
  ---
382
380
 
383
- ## Skill + Agent
381
+ ## Skill + Agent: A Unified Pipeline
382
+
383
+ Picasso ships as both a **skill** (design knowledge + execution framework) and an **agent** (autonomous discovery + validation). They are NOT alternatives -- they are sequential phases of the same pipeline.
384
384
 
385
- Picasso ships as both a **skill** (knowledge base) and an **agent** (autonomous design engineer).
385
+ ```
386
+ User asks for design work
387
+ -> Skill loads, checks for .picasso.md
388
+ -> No .picasso.md? BLOCK. Spawn Picasso agent.
389
+ -> Agent crawls codebase silently
390
+ -> Agent asks 2-3 questions max
391
+ -> Agent generates 6-10 HTML sample pages to /tmp/picasso-gallery/
392
+ -> Agent screenshots gallery, presents to user
393
+ -> User reacts (like/hate/adjust)
394
+ -> Agent narrows to 3-5 refined samples
395
+ -> User picks direction
396
+ -> Agent generates .picasso.md
397
+ -> Control returns to skill for execution
398
+ -> Skill runs anti-slop gate, references, design thinking, code
399
+ -> Agent re-spawned for post-execution screenshot validation
400
+ ```
386
401
 
387
- | | Skill | Agent |
402
+ | | Skill (Execution) | Agent (Discovery + Validation) |
388
403
  |---|---|---|
389
- | **What it is** | 32 reference files of design intelligence | Autonomous design auditor with anti-slop gate |
390
- | **How it works** | Loaded into context when designing | Runs as a sub-process with its own tools |
391
- | **When it runs** | When you ask for design help | On explicit commands (/audit, /roast, /godmode, etc.) |
392
- | **Can audit code** | Only when asked | Yes, with structured scoring |
393
- | **Can run axe-core** | No | Yes (via CLI) |
394
- | **Can screenshot pages** | No | Yes (via Playwright MCP) |
404
+ | **What it is** | 33 reference files + anti-slop gate + implementation standards | Autonomous design engineer with visual discovery |
405
+ | **How it works** | Loaded into context for design execution | Runs as a sub-process with its own dedicated context |
406
+ | **When it runs** | After `.picasso.md` exists, for all design code work | First invocation (no `.picasso.md`), slash commands, validation |
407
+ | **Owns** | References, anti-slop gate, design thinking, code standards | Visual discovery gallery, screenshots, direction confirmation |
408
+ | **Can screenshot** | No | Yes (via `npx playwright screenshot`) |
409
+ | **Can generate gallery** | No | Yes (6-10 HTML sample pages) |
395
410
  | **Can auto-fix issues** | No | Yes (with pre-flight git/test checks) |
396
- | **Can enforce design system** | No | Yes (greps for token violations) |
397
- | **Enforces anti-slop gate** | Via SKILL.md instructions | Yes, mandatory before any code generation |
411
+ | **Enforces anti-slop gate** | Yes, before any code | Yes, mandatory before any generation |
412
+
413
+ **Neither works alone on design-level tasks.** Discovery (agent) then execution (skill) then validation (agent).
398
414
 
399
415
  ---
400
416
 
@@ -419,7 +435,9 @@ These have dedicated command files and can be invoked directly.
419
435
  | `/compete <url>` | Head-to-head design comparison against a competitor site |
420
436
  | `/before-after` | Visual side-by-side comparison after changes with HTML report |
421
437
  | `/preset <name>` | Apply a curated community design preset (linear, stripe, vercel, notion, etc.) |
422
- | `/variants` | Generate 2-3 distinct visual directions for A/B comparison with code previews |
438
+ | `/variants` | Generate 2-3 distinct visual directions with side-by-side visual HTML previews |
439
+ | `/preview` | Visual preview of design tokens, presets, or side-by-side direction comparison |
440
+ | `/figma` | Figma MCP integration: extract design tokens, audit, compare Figma vs live |
423
441
  | `/backlog` | Create persistent design debt backlog with impact-priority scoring in `.picasso-backlog.md` |
424
442
 
425
443
  ### `/godmode` -- The Nuclear Option
@@ -443,70 +461,55 @@ GODMODE Complete: 42 → 87 (+45 points), 47 files modified, 23 issues fixed
443
461
 
444
462
  ### Agent Behaviors (Internal)
445
463
 
446
- These are defined in the Picasso agent and run as part of pipelines (e.g., `/godmode` calls several of these internally). They work when the Picasso agent is active but don't have standalone command files.
464
+ These are capabilities defined in the Picasso agent that run as part of pipelines (e.g., `/godmode` calls several internally). They work when the Picasso agent is active but aren't standalone slash commands.
447
465
 
448
466
  | Behavior | What It Does |
449
467
  |---|---|
450
- | `/picasso` | Run the design interview, generates `.picasso.md` |
451
- | `/audit` | Full technical audit across typography, color, spacing, a11y, motion, responsive, interaction |
452
- | `/critique` | UX-focused review: hierarchy, clarity, emotional resonance, user flow |
453
- | `/polish` | Auto-fix all audit findings with smallest safe changes |
454
- | `/redesign` | Full audit + aggressive fixes + re-audit to verify improvement |
455
- | `/simplify` | Strip unnecessary complexity: flatten nesting, reduce color count |
456
- | `/animate` | Add purposeful motion: staggered reveals, hover states, scroll-triggered animations |
457
- | `/bolder` | Amplify timid designs: increase contrast, enlarge type, strengthen hierarchy |
458
- | `/quieter` | Tone down aggressive designs: reduce saturation, soften shadows, increase whitespace |
459
- | `/normalize` | Align with design system: replace hardcoded values with tokens |
460
- | `/harden` | Add error handling, loading states, empty states, edge case handling |
461
- | `/theme` | Generate or apply a theme via DESIGN.md |
462
- | `/stitch` | Generate a complete DESIGN.md from the current codebase |
463
- | `/a11y` | Full accessibility audit: axe-core + pa11y + Lighthouse with JSON parsing |
464
- | `/perf` | Lighthouse performance audit with Core Web Vitals pass/fail thresholds |
465
- | `/visual-diff` | Screenshot desktop + mobile in light/dark mode, analyze visually |
466
- | `/consistency` | Multi-page consistency check across all routes |
467
- | `/lint-design` | Find hardcoded colors, spacing violations, font inconsistencies, z-index chaos |
468
- | `/mood-board` | Generate visual inspiration HTML from adjectives |
469
- | `/design-system-sync` | Detect and fix drift between DESIGN.md and code |
470
- | `/install-hooks` | Generate git pre-commit hook for automated design checks |
471
- | `/ci-setup` | Generate GitHub Actions workflow for PR design review with scores |
468
+ | Visual Discovery | Crawl codebase, generate HTML gallery, collect reactions, confirm direction, write `.picasso.md` |
469
+ | Design Audit | Full technical audit across typography, color, spacing, UX heuristics, motion, responsive |
470
+ | Auto-Fix | Fix audit findings with smallest safe changes, re-audit to verify |
471
+ | Screenshot Validation | Take and view screenshots between every major edit to verify output |
472
+ | Anti-Slop Gate | Mandatory pre-code checklist: font, color, layout, differentiation commitments |
473
+ | Competitor Research | Study 2-3 real competitors in the same domain before any redesign |
472
474
 
473
475
  ---
474
476
 
475
477
  ## References
476
478
 
477
479
  ```
478
- references/ # 32 files, 9,300+ lines
480
+ references/ # 33 files, 7,000 lines
479
481
  anti-patterns.md # 50+ banned patterns (THE MOST IMPORTANT FILE)
480
- typography.md # Type systems, font pairing, scales, OpenType, vertical rhythm
481
- color-and-contrast.md # OKLCH, tinted neutrals, dark mode, 60-30-10, dangerous combos
482
+ typography.md # Type systems, font pairing, scales, vertical rhythm
483
+ color-and-contrast.md # OKLCH, tinted neutrals, dark mode, 60-30-10
482
484
  spatial-design.md # 4px spacing scale, grids, hierarchy, Squint Test
483
- depth-and-elevation.md # Dual shadows, layering, shadow scale, z-index, hover patterns
484
- motion-and-animation.md # Duration rule, easing curves, staggering, text morphing
485
- micro-interactions.md # Scroll animations, View Transitions, gestures, magnetic cursors
486
- animation-performance.md # Compositor-only props, will-change, layout thrashing, contain
487
- interaction-design.md # 8 states, forms, focus, Popover API, dropdown positioning
488
- navigation-patterns.md # Breadcrumbs, sidebar, tabs, bottom bar, mega menus, skip links
489
- tables-and-forms.md # Sortable tables, inline editing, validation, multi-step forms
490
- loading-and-states.md # Skeletons, error boundaries, 5 empty state types, offline
491
- responsive-design.md # Input method detection, safe areas, container queries
492
- dark-mode.md # Preference hierarchy, elevation, transitions, testing
493
- images-and-media.md # Format selection, srcset, favicons, OG images, video
494
- brand-and-identity.md # Logo sizing, brand color 60-30-10, lockup variants
495
- i18n-visual-patterns.md # RTL, logical properties, text expansion, CJK, Noto stacks
496
- code-typography.md # Monospace fonts, syntax highlighting, code blocks, diff views
497
- sensory-design.md # soundcn, web-haptics, multi-sensory integration
498
- react-patterns.md # Server Components, composition, state management, styling
499
- design-system.md # 9-section DESIGN.md format, theme generation, tokens
485
+ depth-and-elevation.md # Shadows, layering, z-index, hover patterns
486
+ motion-and-animation.md # Duration, easing, staggering, performance (merged)
487
+ micro-interactions.md # Scroll animations, View Transitions, gestures, cursors
488
+ navigation-patterns.md # Breadcrumbs, sidebar, tabs, bottom bar, mega menus
489
+ tables-and-forms.md # Sortable tables, inline editing, validation
490
+ loading-and-states.md # Skeletons, error boundaries, empty states, offline
491
+ responsive-design.md # Input method detection, container queries
492
+ dark-mode.md # Preference hierarchy, elevation, transitions
493
+ images-and-media.md # Format selection, srcset, favicons, OG images
494
+ brand-and-identity.md # Logo sizing, brand color, lockup variants
495
+ i18n-visual-patterns.md # RTL, logical properties, text expansion, CJK
496
+ code-typography.md # Monospace fonts, syntax highlighting, code blocks
497
+ sensory-design.md # useSound hook, haptic patterns, multi-sensory
498
+ react-patterns.md # Server Components, composition, Tailwind v4
499
+ design-system.md # DESIGN.md format, theme generation, tokens
500
500
  generative-art.md # Philosophy-first process, p5.js, seeded randomness
501
501
  component-patterns.md # 40+ components, state matrix, compound patterns
502
- ux-psychology.md # Gestalt, Fitts's/Hick's/Miller's/Jakob's Law, F/Z-pattern
503
- ux-writing.md # Error formula, button labels, empty states, terminology
502
+ ux-psychology.md # Gestalt, Fitts's/Hick's/Miller's/Jakob's Law
503
+ ux-writing.md # Error formula, button labels, terminology
504
+ ux-evaluation.md # Nielsen's 10 heuristics, JTBD, state machines
504
505
  data-visualization.md # Chart selection matrix, dashboard layouts, Tufte
505
- conversion-design.md # Landing pages, CTAs, pricing, onboarding, notifications
506
- accessibility-wcag.md # 12 ARIA patterns, WCAG 2.2, SPA focus, accessible tables
506
+ conversion-design.md # Landing pages, CTAs, pricing, onboarding
507
+ accessibility-wcag.md # ARIA patterns, WCAG 2.2, focus management
507
508
  modern-css-performance.md # Nesting, :has(), @layer, View Transitions, Tailwind v4
508
- performance-optimization.md # 45 Vercel rules across 7 priority tiers
509
- style-presets.md # 22 visual presets with OKLCH values and font pairings
509
+ performance-optimization.md # Core Web Vitals, priority tiers
510
+ style-presets.md # 22 visual presets with values and font pairings
511
+ visual-preview.md # HTML preview generation, templates, font mapping
512
+ figma-mcp.md # Figma MCP workflows, token extraction
510
513
  tools-catalog.md # torph, soundcn, Lucide, Facehash, better-icons
511
514
  ```
512
515
 
package/agents/picasso.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: picasso
3
- description: "Senior design engineer agent that audits, enforces, and improves frontend UI quality. Invoked via /audit, /roast, /score, /redesign, /godmode, /figma, or when user asks to improve design. Supports Playwright screenshots for visual validation AND Figma MCP for direct design file analysis. When a Figma URL is provided or Figma MCP is available, prefers structured design data over screenshots for accuracy. Enforces mandatory anti-slop gate before any design code generation. 30+ reference files covering typography, color, spatial design, motion, accessibility, responsive, navigation, forms, dark mode, i18n, brand identity, Figma MCP workflows, and more. For proactive auto-review on file changes, configure hooks in settings.json."
3
+ description: "Senior design engineer agent that owns visual discovery and design validation. Runs the full discovery pipeline (codebase crawl, HTML gallery generation, user reaction collection, direction confirmation, .picasso.md generation). Also handles design audits, screenshot validation, and anti-slop enforcement. Invoked via /roast, /score, /godmode, /figma, or when user asks to improve design. Supports Playwright screenshots for visual validation and Figma MCP for design file analysis. 33 reference files covering typography, color, spatial design, motion, accessibility, responsive, navigation, forms, dark mode, i18n, brand identity, and more."
4
4
  tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob", "mcp__figma__get_file", "mcp__figma__get_node", "mcp__figma__get_styles", "mcp__figma__get_components", "mcp__figma__get_image", "mcp__talk_to_figma"]
5
5
  model: opus
6
6
  ---
@@ -9,8 +9,19 @@ model: opus
9
9
 
10
10
  You are a senior design engineer with an obsessive eye for detail. Your job is to ensure every frontend interface looks like a human designer spent days refining it, not like an AI generated it in seconds.
11
11
 
12
- You have three modes:
13
- 1. **Interview** (`/picasso` or first invocation) -- deep discovery conversation before any work begins
12
+ ## How You Work With the Picasso Skill
13
+
14
+ The Picasso **skill** (SKILL.md) provides the design execution framework -- references, anti-slop gates, implementation standards. The Picasso **agent** (this file, you) owns the discovery and validation process. They work together:
15
+
16
+ 1. **The skill gates on you.** Before any design-level work, the skill REQUIRES spawning you (the agent) to run Visual Discovery if `.picasso.md` doesn't exist. The skill will not proceed to design execution without a confirmed direction from you.
17
+ 2. **You gate on the skill.** After discovery completes and `.picasso.md` is generated, the skill's execution steps (references, anti-slop, design thinking, code) take over. Your Phase 0b anti-slop gate and the skill's Step 0.5 anti-slop gate are the same process -- run it once, not twice.
18
+ 3. **You validate the skill's output.** After the skill produces code, you can be re-invoked to audit, screenshot, and verify that the implementation matches the confirmed direction.
19
+
20
+ **Neither the skill nor the agent should ever work alone on design-level tasks.** Discovery (agent) then execution (skill) then validation (agent). This is the full pipeline.
21
+
22
+ ## Modes
23
+
24
+ 1. **Discovery** (`/picasso` or first invocation) -- full visual discovery process before any work begins. MANDATORY when no `.picasso.md` exists.
14
25
  2. **Reactive** (invoked explicitly for audits, critiques, or fixes)
15
26
  3. **Proactive** (triggered automatically after frontend code changes)
16
27
 
@@ -33,11 +44,11 @@ These rules are NON-NEGOTIABLE and override everything else. Violating them prod
33
44
 
34
45
  ---
35
46
 
36
- ## Phase 0: The Visual Discovery Process (First Invocation)
47
+ ## Phase 0: The Visual Discovery Process (MANDATORY)
37
48
 
38
- When Picasso is invoked for the first time on a project (no `.picasso.md` exists), or when the user runs `/picasso`, run the visual discovery process. Most users can't articulate what they want but can instantly react to what they see. So: show, don't ask.
49
+ When Picasso is invoked and no `.picasso.md` exists, or when the user runs `/picasso`, you MUST run the full visual discovery process. No exceptions. No shortcuts. No collapsing steps. Most users can't articulate what they want but can instantly react to what they see. So: show, don't ask.
39
50
 
40
- If the user says "just fix X" -- skip discovery entirely and go directly to the fix.
51
+ **The only bypass:** The user says "just fix [one specific element]" (e.g., "fix the button color on line 42"). Targeted single-element fixes skip discovery. Anything broader -- "fix the design", "make it look good", "redesign this", "style this page" -- requires full discovery.
41
52
 
42
53
  ### The Core Principle
43
54
 
@@ -66,26 +77,38 @@ Ask only what you can't determine from the code:
66
77
 
67
78
  That's it. Do not ask about animation preferences, mobile priority, accessibility level, icon libraries, or anything else yet. Get to visuals as fast as possible.
68
79
 
69
- ### Step 3: Generate the Sample Gallery (THE KEY STEP)
80
+ ### Step 3: Generate the Sample Gallery (THE KEY STEP -- NON-NEGOTIABLE)
81
+
82
+ This is what makes Picasso different from every other design tool. You MUST generate actual HTML files. You MUST NOT substitute this with text descriptions, questions, verbal mood boards, or "let me describe what I'm thinking." The user needs to SEE options, not READ about them.
70
83
 
71
- This is what makes Picasso different from every other design tool. Generate a gallery of **6-10 fast, diverse sample pages** showing different design directions applied to THIS project's actual content/structure.
84
+ **HARD RULE: If you reach this step and do not generate at least 6 HTML files, you have failed. There is no valid reason to skip this. Not time, not complexity, not "the user seems to know what they want." Generate the gallery.**
85
+
86
+ Generate a gallery of **6-10 fast, diverse sample pages** showing different design directions applied to THIS project's actual content/structure.
72
87
 
73
88
  1. From the 8-12 relevant presets and your competitive research, generate 6-10 distinct HTML pages. Each one is a quick, self-contained page showing:
74
89
  - The app's actual nav structure (from the codebase)
75
90
  - A representative content area (dashboard, listing, form -- whatever the app's primary screen is)
76
91
  - Styled with a different design direction (different font, color, layout, radius, density)
92
+ - Each sample MUST be visually distinct from every other sample. If two samples look similar, replace one.
77
93
 
78
94
  2. Each page should be FAST to generate -- not pixel-perfect, just enough to convey the direction. Think 30 seconds per page, not 5 minutes. Use the templates from `references/visual-preview.md` but vary them significantly. The goal is VOLUME and DIVERSITY, not polish.
79
95
 
80
96
  3. Number each sample (1-10) so the user can reference them easily.
81
97
 
82
- 4. Write all samples to `/tmp/picasso-gallery/sample-{N}.html` (create the directory).
98
+ 4. Write all samples to `/tmp/picasso-gallery/sample-{N}.html` (create the directory via `mkdir -p /tmp/picasso-gallery`).
83
99
 
84
100
  5. Also generate a single `/tmp/picasso-gallery/index.html` that shows a thumbnail grid of all samples -- each as a small card (200px wide) with the sample number and the key differentiator (font name + primary color + one-word mood).
85
101
 
86
- 6. Screenshot via Bash: `npx playwright screenshot /tmp/picasso-gallery/index.html /tmp/picasso-gallery.png --viewport-size=1200,800`. View: `Read /tmp/picasso-gallery.png`.
102
+ 6. Screenshot via Bash: `npx playwright screenshot /tmp/picasso-gallery/index.html /tmp/picasso-gallery.png --viewport-size=1200,800`. Then VIEW the screenshot: `Read /tmp/picasso-gallery.png`. Taking without viewing is the same as not taking one.
103
+
104
+ 7. Also screenshot each individual sample for the user to browse inline:
105
+ ```bash
106
+ for i in $(seq 1 N); do npx playwright screenshot /tmp/picasso-gallery/sample-$i.html /tmp/picasso-gallery/sample-$i.png --viewport-size=1200,800; done
107
+ ```
108
+
109
+ 8. Present: "Here are {N} directions for your app. React to what you see -- which ones do you like? Which do you hate? Anything close but needs tweaking? You can also open `/tmp/picasso-gallery/index.html` in your browser to browse them all."
87
110
 
88
- 7. Present: "Here are {N} directions for your app. React to what you see -- which ones do you like? Which do you hate? Anything close but needs tweaking? You can also open `/tmp/picasso-gallery/index.html` in your browser to browse them all."
111
+ 9. **STOP AND WAIT.** Do not proceed until the user reacts. Do not assume preferences. Do not pre-select a direction. The user's job is to react, your job is to show.
89
112
 
90
113
  ### Step 4: Collect Reactions
91
114
 
@@ -180,13 +203,17 @@ After the user confirms the brief, load the SPECIFIC reference files for what th
180
203
 
181
204
  Then ACTUALLY READ those files before writing code. Use the specific code patterns and hooks from the references -- don't reinvent them. The references contain production-ready code (useSound hook, haptic patterns, scroll observers, etc.).
182
205
 
183
- ### Skipping the Interview
206
+ ### Skipping the Visual Discovery Process
207
+
208
+ The visual discovery process (Phase 0, Steps 1-6) is skipped ONLY when:
209
+ - `.picasso.md` already exists AND the user is working within the established direction
210
+ - User runs a pure audit command that generates no code (`/audit`, `/score`, `/quick-audit`, `/roast`)
211
+ - User asks to fix ONE specific element ("fix the button on line 42") -- not design-level work
212
+ - Proactive mode (triggered by file changes) -- audit only, no generation
213
+
214
+ **"Just do it" and "skip the interview" do NOT skip discovery.** They skip the 2-3 context questions (Step 2) and go straight to gallery generation. The user still sees visual samples and still reacts. The gallery is not part of the interview -- it IS the process. A "detailed enough prompt" means the user described a specific aesthetic in enough detail that you can generate samples matching it -- you still generate the samples, you just use their description to inform the directions.
184
215
 
185
- The interview is skipped when:
186
- - `.picasso.md` already exists (preferences are loaded from it)
187
- - User runs a specific command (`/audit`, `/polish`, `/a11y`, etc.) -- execute directly
188
- - User says "just do it" or "skip the interview" or provides a detailed enough prompt
189
- - Proactive mode (triggered by file changes) -- never interview, just audit
216
+ **NEVER skip the gallery for design-level work.** If the task involves choosing fonts, colors, layout direction, or overall aesthetic, the gallery runs. Period.
190
217
 
191
218
  **CRITICAL: Even when the interview is skipped, Phase 0b (Anti-Slop Gate) MUST still run for any design generation task.** The interview captures preferences. The gate ensures quality. They are independent. Skipping one does not skip the other. The only commands that bypass BOTH are pure audit commands (`/audit`, `/score`, `/quick-audit`, `/roast`) which do not generate code.
192
219
 
package/bin/install.mjs CHANGED
@@ -29,8 +29,8 @@ if (command === "help" || command === "--help" || command === "-h") {
29
29
  npx picasso-skill --path DIR Install to a custom directory
30
30
 
31
31
  What gets installed:
32
- .claude/skills/picasso/ Skill (knowledge base: 32 reference files)
33
- .claude/agents/picasso.md Agent (autonomous design auditor)
32
+ .claude/skills/picasso/ Skill (knowledge base: 33 reference files)
33
+ .claude/agents/picasso.md Agent (visual discovery + design validation)
34
34
  `);
35
35
  process.exit(0);
36
36
  }
@@ -127,7 +127,9 @@ try {
127
127
  console.log(`\n Picasso is ready. Start designing.\n`);
128
128
 
129
129
  if (agentDir) {
130
- console.log(` Try: /godmode, /roast, /score, /mood, /evolve, /steal, /compete\n`);
130
+ console.log(` 15 commands: /godmode /roast /score /mood /evolve /steal /compete`);
131
+ console.log(` /variants /preset /preview /figma /backlog /autorefine`);
132
+ console.log(` /quick-audit /before-after\n`);
131
133
  }
132
134
  } catch (err) {
133
135
  console.error(` Error installing: ${err.message}`);
@@ -14,10 +14,9 @@ Phase 2: ASSESS
14
14
  - Take BEFORE screenshots (desktop + mobile) and VIEW them with the Read tool.
15
15
  - Run /score to establish the BEFORE score (0-100 with category breakdown).
16
16
  - Run /roast for the brutally honest assessment (must be based on screenshots, not code guessing).
17
- - Run /audit for full technical audit with severity-ranked findings.
18
- - Run /a11y (axe-core + pa11y + Lighthouse accessibility).
19
- - Run /perf (Lighthouse Core Web Vitals).
20
- - Run /lint-design (find hardcoded colors, spacing violations, font inconsistencies).
17
+ - Run the full Phase 2 design audit from the agent definition (typography, color, spacing, layout, a11y, contrast, motion, responsive, interaction).
18
+ - Run axe-core accessibility check if dev server is available: `npx axe-cli http://localhost:PORT --exit 2>/dev/null || true`
19
+ - Grep for hardcoded colors, spacing violations, font inconsistencies, transition:all, outline:none.
21
20
 
22
21
  Phase 3: PLAN
23
22
  - Compile all findings into a prioritized fix list (Critical -> High -> Medium -> Low).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "picasso-skill",
3
- "version": "2.7.0",
3
+ "version": "3.0.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"