picasso-skill 1.3.0 → 1.3.2
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 +503 -92
- package/agents/picasso.md +279 -1
- package/package.json +1 -1
- package/skills/picasso/SKILL.md +22 -1
package/README.md
CHANGED
|
@@ -1,10 +1,319 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<strong>PICASSO</strong><br/>
|
|
3
|
+
The most comprehensive AI design skill ever built.
|
|
4
|
+
</p>
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
<p align="center">
|
|
7
|
+
20 reference domains • 35+ commands • 4,700+ lines of actionable design intelligence<br/>
|
|
8
|
+
Every interface looks like a senior design engineer spent days on it.
|
|
9
|
+
</p>
|
|
4
10
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="#install">Install</a> •
|
|
13
|
+
<a href="#what-makes-picasso-different">Why Picasso</a> •
|
|
14
|
+
<a href="#the-design-interview">Interview</a> •
|
|
15
|
+
<a href="#creative-commands">Creative Commands</a> •
|
|
16
|
+
<a href="#benchmark">Benchmarks</a> •
|
|
17
|
+
<a href="#commands">All Commands</a> •
|
|
18
|
+
<a href="#references">References</a> •
|
|
19
|
+
<a href="#sources">Sources</a>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## The Problem
|
|
25
|
+
|
|
26
|
+
Every AI coding tool produces the same output: Inter font, purple gradients on white, centered layouts, uniform card grids, glassmorphism everywhere. It's instantly recognizable as "AI made this." Users can feel it. Clients can see it. It looks generic because it is generic.
|
|
27
|
+
|
|
28
|
+
Existing design skills are shallow. They tell you to "use good typography" without specifying what that means. They say "be accessible" without giving you the ARIA patterns. They cover 3-4 design domains and call it done.
|
|
29
|
+
|
|
30
|
+
**Picasso is different.** It is the largest, most detailed, and most opinionated design skill available for any AI coding agent. It doesn't just tell you what to do -- it tells you exactly how, with specific values, code examples, and anti-patterns for every decision.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## What Makes Picasso Different
|
|
35
|
+
|
|
36
|
+
### Depth That No Other Skill Matches
|
|
37
|
+
|
|
38
|
+
Picasso covers **20 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
|
+
|
|
40
|
+
| Domain | What You Get |
|
|
41
|
+
|---|---|
|
|
42
|
+
| **Typography** | Modular type scales, 15+ font alternatives to Inter/Roboto, OpenType feature activation, vertical rhythm system, `max-width: 65ch`, font loading strategies |
|
|
43
|
+
| **Color & Contrast** | OKLCH-based palette construction, tinted neutrals (never pure gray), 60-30-10 rule, dark mode inversion rules, "alpha is a design smell" |
|
|
44
|
+
| **Spatial Design** | 4px base spacing scale, Gestalt proximity ratios (2:1 minimum), Squint Test, asymmetric grid patterns, "cards are not required" |
|
|
45
|
+
| **Motion & Animation** | Duration rule (100/200/300/500ms), only animate transform+opacity, exit = 75% of entrance, grid-template-rows for height, stagger caps |
|
|
46
|
+
| **Interaction Design** | All 8 interactive states (default/hover/focus/active/disabled/loading/error/success), dropdown positioning (#1 bug fix), Popover API, undo > confirmation |
|
|
47
|
+
| **Responsive Design** | Input method detection (`@media pointer/hover`), safe areas, container queries, content-driven breakpoints, real device testing |
|
|
48
|
+
| **Sensory Design** | soundcn (700+ CC0 sounds), web-haptics (4 presets + custom), multi-sensory integration patterns |
|
|
49
|
+
| **React/Next.js** | Server Components by default, barrel import avoidance, RSC serialization minimization, React.cache() deduplication |
|
|
50
|
+
| **Anti-Patterns** | 50+ explicit "never do this" rules across typography, color, layout, motion, interaction, code, and content |
|
|
51
|
+
| **Design Systems** | VoltAgent/Google Stitch 9-section DESIGN.md format, 4 pre-built themes, two-layer token architecture |
|
|
52
|
+
| **Generative Art** | Philosophy-first creative process, seeded randomness, p5.js patterns, parameter-driven exploration |
|
|
53
|
+
| **Component Patterns** | 40+ standard component names from 90+ real design systems, state matrix, compound component patterns, sizing conventions |
|
|
54
|
+
| **UX Psychology** | Gestalt principles with CSS examples, Fitts's/Hick's/Miller's/Jakob's Law with specific numbers, F/Z-pattern scanning, Peak-End Rule |
|
|
55
|
+
| **Data Visualization** | Chart selection decision matrix (13 types), dashboard layout patterns, Okabe-Ito colorblind-safe palettes, Tufte data-ink ratio, React library comparison |
|
|
56
|
+
| **Modern CSS** | CSS nesting, :has(), @layer, anchor positioning, @scope, @property, color-mix(), subgrid, Popover API, scroll-driven animations, View Transitions |
|
|
57
|
+
| **Web Performance** | Core Web Vitals targets (LCP < 2.5s, CLS < 0.1, INP < 200ms), image format matrix (AVIF/WebP), font-display strategies, critical CSS, Tailwind v4 |
|
|
58
|
+
| **Conversion Design** | Hero section variations, CTA design with conversion data, pricing page structure, friction reduction metrics, onboarding frameworks, notification hierarchy |
|
|
59
|
+
| **Accessibility** | 12 WAI-ARIA widget patterns with exact roles/states/keyboard, WCAG 2.2 new criteria, focus management for SPAs, accessible data tables, drag-and-drop alternatives |
|
|
60
|
+
| **UX Writing** | Error message formula (what + why + fix), button label rules (verb + object), translation expansion percentages, terminology consistency |
|
|
61
|
+
| **Style Presets** | 22 curated visual presets with hex values, font pairings, border-radius, and signature UI elements, mapped to moods |
|
|
62
|
+
| **Performance Optimization** | Vercel's 45 React/Next.js rules across 7 priority tiers with BAD/GOOD code examples |
|
|
63
|
+
|
|
64
|
+
### The AI-Slop Firewall
|
|
65
|
+
|
|
66
|
+
Picasso's anti-pattern system is the most aggressive in any design skill. It doesn't just suggest good practices -- it explicitly bans the fingerprints of AI-generated interfaces:
|
|
67
|
+
|
|
68
|
+
**Banned typography:** Inter, Roboto, Arial, Open Sans, Space Grotesk, monospace-as-lazy-technical-vibe, large icons with rounded corners above every heading.
|
|
69
|
+
|
|
70
|
+
**Banned color:** Pure black (#000), pure white (#fff), pure gray, gray text on colored backgrounds, cyan-on-dark, purple-to-blue gradients, neon accents on dark, gradient text for "impact."
|
|
71
|
+
|
|
72
|
+
**Banned layout:** Cards nested in cards, identical card grids (icon + heading + text repeated), hero metric layout template, centered everything, same spacing everywhere, glassmorphism everywhere.
|
|
73
|
+
|
|
74
|
+
**Banned motion:** bounce/elastic easing, `transition: all`, animating width/height/padding/margin, no reduced-motion support.
|
|
75
|
+
|
|
76
|
+
**Banned interaction:** Placeholder-only labels, `outline: none` without replacement, hover-only interactions, every button styled as primary.
|
|
77
|
+
|
|
78
|
+
### Integrated Tool Ecosystem
|
|
79
|
+
|
|
80
|
+
Picasso doesn't just describe tools -- it specifies exactly how to use them with installation commands, import paths, and API examples:
|
|
81
|
+
|
|
82
|
+
| Tool | What It Does | Integration |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| **torph** | Text morphing animation | `import { TextMorph } from 'torph/react'` with spring easing |
|
|
85
|
+
| **soundcn** | 700+ UI sounds | `npx shadcn add @soundcn/click-soft`, base64 inline, zero deps |
|
|
86
|
+
| **web-haptics** | Mobile haptic feedback | 4 presets (success/nudge/error/buzz), desktop debug mode |
|
|
87
|
+
| **facehash** | Deterministic avatar faces | ~3KB, SVG, 3D depth, Avatar/AvatarFallback pattern |
|
|
88
|
+
| **better-icons** | 200K+ icons from 150+ sets | MCP server for AI agents, CLI search, project sync |
|
|
89
|
+
| **Geist Pixel** | 5 pixel font variants | Square/Grid/Circle/Triangle/Line, Next.js native |
|
|
90
|
+
| **Lucide React** | Default icon library | Direct imports (avoid barrel files) |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## The Design Interview
|
|
95
|
+
|
|
96
|
+
When you first use Picasso on a project, it doesn't just start generating. It asks.
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
Picasso: What are we building? New project, redesign, polish, or fixing specific issues?
|
|
100
|
+
You: New SaaS dashboard for a fintech startup
|
|
101
|
+
|
|
102
|
+
Picasso: Who is this for?
|
|
103
|
+
You: Financial analysts, 30-50 age range, use Bloomberg terminals all day
|
|
104
|
+
|
|
105
|
+
Picasso: What's the vibe? Any sites you love the look of?
|
|
106
|
+
You: Dark, dense, like Linear meets Bloomberg. Here's a reference: linear.app
|
|
107
|
+
|
|
108
|
+
Picasso: Rate these 1-5:
|
|
109
|
+
Animations? Mobile? Accessibility? Dark mode? Performance?
|
|
110
|
+
You: Animations 3, Mobile 2, A11y 5, Dark mode YES, Perf 5
|
|
111
|
+
|
|
112
|
+
Picasso: Got it. Here's what I'm building:
|
|
113
|
+
→ Dark-tech aesthetic inspired by Linear
|
|
114
|
+
→ Dense layout (VISUAL_DENSITY: 8), subtle motion (MOTION_INTENSITY: 3)
|
|
115
|
+
→ WCAG AAA accessibility, dark-first, performance-critical
|
|
116
|
+
→ Generating .picasso.md and DESIGN.md now...
|
|
117
|
+
Sound good?
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
The interview generates a `.picasso.md` config that persists your preferences across every future session. Run `/picasso` anytime to redo it.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Creative Commands
|
|
125
|
+
|
|
126
|
+
These are the features that make Picasso unlike any other design tool.
|
|
127
|
+
|
|
128
|
+
### `/roast` -- The Brutally Honest Critique
|
|
129
|
+
|
|
130
|
+
Forget polite feedback. `/roast` tears your design apart with designer-Twitter energy.
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
🔥🔥🔥🔥 ROAST SCORE: 4/5
|
|
134
|
+
|
|
135
|
+
This hero section looks like every v0 output from 2024. The purple gradient
|
|
136
|
+
physically hurts my eyes. The three identical cards are a cry for help. And
|
|
137
|
+
the "Build the future of work" headline? It's 2026 -- we've moved on.
|
|
138
|
+
|
|
139
|
+
The Inter font is doing NOTHING for you. It's the design equivalent of
|
|
140
|
+
wearing khakis to a nightclub. And transition: all 0.3s? That's animating
|
|
141
|
+
your box-shadow, your border-color, and your will to live.
|
|
142
|
+
|
|
143
|
+
Here's how to fix it:
|
|
144
|
+
1. Kill the gradient. Use oklch(0.15 0.02 250) as your background.
|
|
145
|
+
2. Replace Inter with Satoshi for display, DM Sans for body.
|
|
146
|
+
3. Break the three-card grid. Make the first card 2x width.
|
|
147
|
+
...
|
|
148
|
+
|
|
149
|
+
What IS working: Your spacing scale is consistent (4px base) and the
|
|
150
|
+
semantic HTML structure is solid. Build on that.
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### `/score` -- Quantified Design Quality
|
|
154
|
+
|
|
155
|
+
A single 0-100 score, broken down by category. Track it over time.
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
## Picasso Design Score: 73/100
|
|
159
|
+
|
|
160
|
+
Typography: ████████████░░░ 12/15
|
|
161
|
+
Color: ████████████░░░ 11/15
|
|
162
|
+
Spacing: ████████░░ 8/10
|
|
163
|
+
Accessibility: ████████████████ 16/20
|
|
164
|
+
Motion: ██████░░░░ 6/10
|
|
165
|
+
Responsive: ████████░░ 8/10
|
|
166
|
+
Performance: ██████░░░░ 6/10
|
|
167
|
+
Anti-Slop: ██████░░░░ 6/10
|
|
168
|
+
|
|
169
|
+
Top fixes for +15 points:
|
|
170
|
+
1. Add prefers-reduced-motion support (+4)
|
|
171
|
+
2. Replace #000 with tinted near-black (+3)
|
|
172
|
+
3. Add staggered entrance animation (+3)
|
|
173
|
+
4. Set max-width on body text (+3)
|
|
174
|
+
5. Replace outline:none with focus-visible (+2)
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### `/steal <url>` -- Extract Any Site's Design DNA
|
|
178
|
+
|
|
179
|
+
Point at a live website and Picasso extracts its entire design language into a `.picasso.md` config.
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
/steal https://linear.app
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Extracts: fonts, color palette, spacing rhythm, border-radius system, shadow style, animation patterns, layout structure. Generates a config that makes your project match that aesthetic.
|
|
186
|
+
|
|
187
|
+
### `/mood <word>` -- Instant Design System from a Word
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
/mood cyberpunk
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Generates a complete design system -- palette, fonts, spacing, motion, component styling -- from a single evocative word. Works with: `cyberpunk`, `cottage`, `brutalist`, `luxury`, `editorial`, `playful`, `corporate`, `dark-tech`, `warm-saas`, `minimal`, and any combination.
|
|
194
|
+
|
|
195
|
+
### `/evolve` -- Iterative Multi-Round Refinement
|
|
196
|
+
|
|
197
|
+
Instead of generating once and hoping, Picasso proposes 3 distinct directions, lets you pick, then refines through multiple rounds:
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
Round 1: Here are 3 directions:
|
|
201
|
+
A) Minimal monochrome -- Geist font, black/white, sharp corners
|
|
202
|
+
B) Warm editorial -- Instrument Serif headers, terracotta accent, soft radius
|
|
203
|
+
C) Dark technical -- JetBrains Mono accent, neon green, dense layout
|
|
204
|
+
|
|
205
|
+
You: B, but darker
|
|
206
|
+
|
|
207
|
+
Round 2: [implements B with darker surfaces, screenshots]
|
|
208
|
+
What do you love? What's not right?
|
|
209
|
+
|
|
210
|
+
You: Love the typography. Cards need more breathing room.
|
|
211
|
+
|
|
212
|
+
Round 3: [adjusts spacing, screenshots]
|
|
213
|
+
Are we there?
|
|
214
|
+
|
|
215
|
+
You: Ship it.
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### `/compete <url>` -- Head-to-Head Design Battle
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
/compete https://competitor.com
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Screenshots both sites, scores both, produces a head-to-head comparison:
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
You Competitor
|
|
228
|
+
Typography: 72 88 ← They win (modular scale)
|
|
229
|
+
Color: 85 71 ← You win (better contrast)
|
|
230
|
+
Responsive: 90 65 ← You win (mobile-first)
|
|
231
|
+
Performance: 45 92 ← They win (image optimization)
|
|
232
|
+
Accessibility: 88 42 ← You win (focus states)
|
|
233
|
+
Overall: 76 72 ← You win, barely
|
|
234
|
+
|
|
235
|
+
Key gap: Their typography is stronger because they use a consistent
|
|
236
|
+
1.25 ratio scale. Yours has 7 different sizes with no clear ratio.
|
|
237
|
+
Fix this and you pull ahead significantly.
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### `/before-after` -- Visual Transformation Report
|
|
241
|
+
|
|
242
|
+
After any `/polish` or `/redesign`, auto-generates side-by-side screenshots showing exactly what changed and why. Shareable HTML report.
|
|
243
|
+
|
|
244
|
+
### `/mood-board` -- Visual Inspiration Generator
|
|
245
|
+
|
|
246
|
+
Not sure what you want? Give Picasso 3-5 adjectives and it generates an interactive HTML mood board with color swatches, font samples, and example components in that style.
|
|
247
|
+
|
|
248
|
+
### `/design-system-sync` -- Keep Code and DESIGN.md in Sync
|
|
249
|
+
|
|
250
|
+
Detects when your code has drifted from your design system. Finds every hardcoded color that should be a token, every wrong font weight, every spacing violation. Offers one-click fix.
|
|
251
|
+
|
|
252
|
+
### `/preset <name>` -- One-Command Aesthetic
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
/preset linear # Linear-inspired dark minimal
|
|
256
|
+
/preset stripe # Stripe-inspired gradient editorial
|
|
257
|
+
/preset vercel # Vercel-inspired black/white sharp
|
|
258
|
+
/preset notion # Notion-inspired warm readable
|
|
259
|
+
/preset brutalist # Raw, intentional, monospace
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Generates `.picasso.md` + `DESIGN.md` + updates your CSS variables in one command.
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Benchmark
|
|
267
|
+
|
|
268
|
+
### Picasso vs. Every Other Design Skill
|
|
269
|
+
|
|
270
|
+
We compared Picasso against every publicly available AI design skill as of April 2026.
|
|
271
|
+
|
|
272
|
+
| Metric | Picasso | Anthropic frontend-design | Impeccable | Taste Skill | Generic skills |
|
|
273
|
+
|---|---|---|---|---|---|
|
|
274
|
+
| **Reference domains** | **20** | 1 | 7 | 1 | 1-3 |
|
|
275
|
+
| **Total lines of guidance** | **4,700+** | ~120 | ~2,500 | ~200 | 50-300 |
|
|
276
|
+
| **Anti-pattern rules** | **50+** | ~10 | ~30 | ~5 | 0-5 |
|
|
277
|
+
| **Steering commands** | **35+** | 0 | 20 | 0 | 0-3 |
|
|
278
|
+
| **ARIA patterns documented** | **12 widgets** | 0 | 0 | 0 | 0 |
|
|
279
|
+
| **React performance rules** | **45 (Vercel)** | 0 | 0 | 0 | 0 |
|
|
280
|
+
| **Chart/data viz guidance** | **Full matrix** | None | None | None | None |
|
|
281
|
+
| **WCAG 2.2 coverage** | **Full** | None | Partial | None | None |
|
|
282
|
+
| **Conversion/landing page** | **CTA data + pricing** | None | None | None | None |
|
|
283
|
+
| **Modern CSS (2024-2025)** | **12 features** | None | Partial | None | None |
|
|
284
|
+
| **Core Web Vitals** | **LCP/CLS/INP** | None | None | None | None |
|
|
285
|
+
| **Pre-built presets** | **22 + 4 OKLCH** | 0 | 0 | 0 | 0-3 |
|
|
286
|
+
| **UX psychology** | **6 laws + patterns** | None | None | None | None |
|
|
287
|
+
| **Design system generation** | **9-section (Stitch)** | None | None | None | None |
|
|
288
|
+
| **Sound/haptics** | **soundcn + web-haptics** | None | None | None | None |
|
|
289
|
+
| **Scoring system** | **0-100 quantified** | None | /20 + /40 | None | None |
|
|
290
|
+
| **Design interview** | **4-section onboarding** | None | None | None | None |
|
|
291
|
+
| **Creative commands** | **10 (/roast, /steal, /evolve...)** | None | None | None | None |
|
|
292
|
+
| **Tool integrations** | **7 libraries** | 0 | 0 | 0 | 0 |
|
|
293
|
+
| **Sources consolidated** | **15+ repos** | 1 | 1 | 1 | 0-1 |
|
|
294
|
+
|
|
295
|
+
### What This Means in Practice
|
|
296
|
+
|
|
297
|
+
**Without Picasso**, your AI will:
|
|
298
|
+
- Default to Inter or Roboto every time
|
|
299
|
+
- Use purple gradients because that's what the training data looks like
|
|
300
|
+
- Center everything because it's the safe choice
|
|
301
|
+
- Ignore accessibility until someone files a complaint
|
|
302
|
+
- Use `transition: all 0.3s ease` and call it animated
|
|
303
|
+
- Produce interfaces that look like every other AI-generated UI
|
|
304
|
+
|
|
305
|
+
**With Picasso**, your AI will:
|
|
306
|
+
- Choose distinctive typography (Instrument Sans, Fraunces, Outfit) with proper OpenType features
|
|
307
|
+
- Build OKLCH palettes with tinted neutrals and the 60-30-10 rule
|
|
308
|
+
- Create asymmetric layouts with intentional spatial hierarchy
|
|
309
|
+
- Include all 8 interactive states on every element
|
|
310
|
+
- Hit WCAG 2.2 AA compliance by default
|
|
311
|
+
- Optimize for Core Web Vitals (LCP < 2.5s, CLS < 0.1, INP < 200ms)
|
|
312
|
+
- Add text morphing, UI sounds, and haptic feedback where appropriate
|
|
313
|
+
- Generate DESIGN.md files that any AI agent can read
|
|
314
|
+
- Never produce the same design twice
|
|
315
|
+
|
|
316
|
+
---
|
|
8
317
|
|
|
9
318
|
## Install
|
|
10
319
|
|
|
@@ -30,14 +339,22 @@ npx picasso-skill --codex
|
|
|
30
339
|
npx picasso-skill --path ./my-skills
|
|
31
340
|
```
|
|
32
341
|
|
|
33
|
-
### Option 2: One-Liner
|
|
342
|
+
### Option 2: One-Liner
|
|
34
343
|
|
|
35
344
|
```bash
|
|
36
345
|
# Project-specific (skill + agent)
|
|
37
|
-
git clone https://github.com/viperrcrypto/picasso.git /tmp/picasso &&
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
346
|
+
git clone https://github.com/viperrcrypto/picasso.git /tmp/picasso && \
|
|
347
|
+
mkdir -p .claude/skills .claude/agents && \
|
|
348
|
+
cp -r /tmp/picasso/skills/picasso .claude/skills/picasso && \
|
|
349
|
+
cp /tmp/picasso/agents/picasso.md .claude/agents/picasso.md && \
|
|
350
|
+
rm -rf /tmp/picasso
|
|
351
|
+
|
|
352
|
+
# Global (all projects)
|
|
353
|
+
git clone https://github.com/viperrcrypto/picasso.git /tmp/picasso && \
|
|
354
|
+
mkdir -p ~/.claude/skills ~/.claude/agents && \
|
|
355
|
+
cp -r /tmp/picasso/skills/picasso ~/.claude/skills/picasso && \
|
|
356
|
+
cp /tmp/picasso/agents/picasso.md ~/.claude/agents/picasso.md && \
|
|
357
|
+
rm -rf /tmp/picasso
|
|
41
358
|
```
|
|
42
359
|
|
|
43
360
|
### Option 3: Manual
|
|
@@ -50,116 +367,210 @@ cp picasso/agents/picasso.md ~/.claude/agents/picasso.md
|
|
|
50
367
|
|
|
51
368
|
### Option 4: Claude.ai (Consumer)
|
|
52
369
|
|
|
53
|
-
Upload `
|
|
370
|
+
Upload `SKILL.md` as a Custom Skill in Claude.ai settings. Upload reference files alongside it for full coverage.
|
|
371
|
+
|
|
372
|
+
---
|
|
54
373
|
|
|
55
|
-
## Skill + Agent
|
|
374
|
+
## Skill + Agent
|
|
375
|
+
|
|
376
|
+
Picasso ships as both a **skill** (knowledge base) and an **agent** (autonomous design engineer).
|
|
56
377
|
|
|
57
378
|
| | Skill | Agent |
|
|
58
379
|
|---|---|---|
|
|
59
|
-
| **What it is** |
|
|
380
|
+
| **What it is** | 20 reference files of design intelligence | Autonomous design auditor |
|
|
60
381
|
| **How it works** | Loaded into context when designing | Runs as a sub-process with its own tools |
|
|
61
|
-
| **When it runs** | When you ask for design help | Proactively after
|
|
62
|
-
| **Can audit code** | Only when
|
|
382
|
+
| **When it runs** | When you ask for design help | Proactively after frontend code changes |
|
|
383
|
+
| **Can audit code** | Only when asked | Automatically |
|
|
63
384
|
| **Can run axe-core** | No | Yes |
|
|
64
385
|
| **Can screenshot pages** | No | Yes (via Playwright) |
|
|
65
386
|
| **Can auto-fix issues** | No | Yes |
|
|
66
387
|
| **Can enforce design system** | No | Yes (greps for token violations) |
|
|
67
388
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
typography.md # Font pairing, type scales, variable fonts, 12 curated pairings
|
|
76
|
-
color-and-contrast.md # OKLCH, 10 curated palettes, P3 wide gamut, dark mode
|
|
77
|
-
spatial-design.md # Spacing scales, grids, visual hierarchy
|
|
78
|
-
motion-and-animation.md # Easing, staggering, text morphing, reduced motion
|
|
79
|
-
interaction-design.md # Forms, focus, loading, empty states, errors
|
|
80
|
-
responsive-design.md # Mobile-first, dvh/svh, container queries, print
|
|
81
|
-
sensory-design.md # UI sounds, haptic feedback, multi-sensory
|
|
82
|
-
react-patterns.md # React 19, Tailwind v4, Server Actions, dark mode
|
|
83
|
-
accessibility-wcag.md # Full ARIA patterns, WCAG 2.2, SPA focus management
|
|
84
|
-
modern-css-performance.md # :has(), scroll animations, view transitions, @layer
|
|
85
|
-
performance-optimization.md # Core Web Vitals, 45 React/Next.js perf patterns
|
|
86
|
-
ux-writing.md # Button labels, error templates, microcopy, banned words
|
|
87
|
-
ux-psychology.md # Gestalt, cognitive laws, scanning patterns
|
|
88
|
-
conversion-design.md # Landing pages, CTAs, pricing, onboarding
|
|
89
|
-
data-visualization.md # Charts, dashboards, data palettes, Tufte principles
|
|
90
|
-
style-presets.md # 22 curated visual presets with colors + fonts
|
|
91
|
-
design-system.md # DESIGN.md generation, theming, tokens (OKLCH)
|
|
92
|
-
generative-art.md # p5.js, SVG, Canvas 2D, noise, seeded randomness
|
|
93
|
-
component-patterns.md # Standard naming, taxonomy, state matrix
|
|
94
|
-
|
|
95
|
-
agents/
|
|
96
|
-
picasso.md # Autonomous design auditor agent
|
|
97
|
-
|
|
98
|
-
templates/
|
|
99
|
-
picasso-config.md # .picasso.md project config template
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Agent Commands
|
|
103
|
-
|
|
104
|
-
The Picasso agent responds to these commands:
|
|
105
|
-
|
|
106
|
-
| Command | What the agent does |
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## Commands
|
|
392
|
+
|
|
393
|
+
### Quality Assessment
|
|
394
|
+
|
|
395
|
+
| Command | What It Does |
|
|
107
396
|
|---|---|
|
|
108
|
-
| `/audit` |
|
|
109
|
-
| `/critique` | UX
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
|
114
|
-
|
|
115
|
-
| `/
|
|
116
|
-
| `/
|
|
117
|
-
| `/
|
|
118
|
-
| `/
|
|
119
|
-
| `/
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
397
|
+
| `/audit` | Technical quality check across 5 dimensions (accessibility, performance, theming, responsive, anti-patterns). Each scored 0-4, total /20. Issues tagged P0-P3. |
|
|
398
|
+
| `/critique` | UX design review evaluating visual hierarchy, cognitive load, emotional journey, discoverability, composition. Scores Nielsen's 10 heuristics 0-4, total /40. |
|
|
399
|
+
|
|
400
|
+
### Refinement
|
|
401
|
+
|
|
402
|
+
| Command | What It Does |
|
|
403
|
+
|---|---|
|
|
404
|
+
| `/polish` | Final pass before shipping: visual alignment, typography refinement, color/contrast, all 8 interaction states, micro-interactions, content/copy, edge cases |
|
|
405
|
+
| `/simplify` | Strip to essence: reduce scope, flatten structure, remove decorations, progressive disclosure, shorter copy, fewer variants |
|
|
406
|
+
| `/normalize` | Realign to design system standards: fix hardcoded colors, inconsistent tokens, broken dark mode, spacing violations |
|
|
407
|
+
| `/typeset` | Fix typography: font choices, hierarchy clarity, sizing scale, readability (line length, line-height, contrast), OpenType features |
|
|
408
|
+
| `/arrange` | Fix layout: establish spacing system, create visual rhythm, choose right layout tool (Flexbox vs Grid), break card grid monotony |
|
|
409
|
+
|
|
410
|
+
### Amplification
|
|
411
|
+
|
|
412
|
+
| Command | What It Does |
|
|
413
|
+
|---|---|
|
|
414
|
+
| `/animate` | Add purposeful motion: page load choreography, micro-interactions, state transitions, scroll effects, loading delight |
|
|
415
|
+
| `/bolder` | Amplify timid designs: extreme type scale (3x-5x), vibrant color, spatial drama, dramatic shadows, custom elements |
|
|
416
|
+
| `/quieter` | Tone down aggressive designs: reduce saturation to 70-85%, soften weights, increase whitespace, shorter animation distances |
|
|
417
|
+
| `/colorize` | Introduce strategic color: semantic states, accent application, tinted backgrounds, data visualization, decorative elements |
|
|
418
|
+
| `/delight` | Add moments of joy: button feedback, loading delight, success celebrations, personality in copy, sound cues, easter eggs |
|
|
419
|
+
|
|
420
|
+
### Aesthetic Presets
|
|
421
|
+
|
|
422
|
+
| Command | What It Does |
|
|
423
|
+
|---|---|
|
|
424
|
+
| `/soft` | Premium soft aesthetic: generous whitespace, layered depth, smooth spring animations, muted palette |
|
|
425
|
+
| `/minimalist` | Editorial minimalism: monochrome, crisp borders, surgical precision, inspired by Linear/Notion |
|
|
426
|
+
| `/brutalist` | Raw mechanical aesthetic: Swiss typography, CRT terminal feel, sharp edges, monospace accents |
|
|
427
|
+
|
|
428
|
+
### System
|
|
429
|
+
|
|
430
|
+
| Command | What It Does |
|
|
431
|
+
|---|---|
|
|
432
|
+
| `/theme` | Generate or apply a complete color/font theme with CSS variables |
|
|
433
|
+
| `/stitch` | Generate a Google Stitch-compatible DESIGN.md (9-section format from VoltAgent) |
|
|
434
|
+
| `/sound` | Add UI sound effects using soundcn (700+ CC0-licensed sounds) |
|
|
435
|
+
| `/haptics` | Add mobile haptic feedback using web-haptics (4 presets + custom patterns) |
|
|
436
|
+
| `/redesign` | Full audit + identify problems + fix systematically + re-audit cycle |
|
|
437
|
+
|
|
438
|
+
### Production
|
|
439
|
+
|
|
440
|
+
| Command | What It Does |
|
|
441
|
+
|---|---|
|
|
442
|
+
| `/adapt` | Adapt for devices: mobile (thumb-zone), tablet (two-column), desktop (multi-column), print, email (600px, table-based) |
|
|
443
|
+
| `/clarify` | Improve UX copy: error messages, form labels, button text, help text, empty states, confirmation dialogs |
|
|
444
|
+
| `/optimize` | Performance: image optimization, JS bundle reduction, CSS critical path, font loading, animation 60fps, network efficiency |
|
|
445
|
+
| `/harden` | Error handling and edge cases: text overflow, i18n (RTL, expansion), network errors, empty/loading/error states, browser compat |
|
|
446
|
+
| `/onboard` | Design onboarding: signup friction reduction, first-run experience, progressive feature discovery, setup checklists |
|
|
447
|
+
|
|
448
|
+
### Creative
|
|
449
|
+
|
|
450
|
+
| Command | What It Does |
|
|
451
|
+
|---|---|
|
|
452
|
+
| `/picasso` | Run the design interview -- deep discovery conversation, generates `.picasso.md` config |
|
|
453
|
+
| `/roast` | Brutally honest critique with designer-Twitter energy. Every roast includes the fix. Rated 🔥-🔥🔥🔥🔥🔥. |
|
|
454
|
+
| `/score` | Quantified 0-100 design score with category breakdown (typography, color, spacing, a11y, motion, responsive, perf, anti-slop) |
|
|
455
|
+
| `/steal <url>` | Extract design DNA from any live website into a `.picasso.md` config |
|
|
456
|
+
| `/mood <word>` | Generate complete design system from a single evocative word (cyberpunk, cottage, luxury, etc.) |
|
|
457
|
+
| `/evolve` | Multi-round iterative refinement: 3 directions → pick → refine → ship |
|
|
458
|
+
| `/compete <url>` | Head-to-head design comparison against a competitor with per-category scoring |
|
|
459
|
+
| `/before-after` | Visual side-by-side comparison report after changes (HTML export) |
|
|
460
|
+
| `/mood-board` | Generate interactive HTML mood board from adjectives |
|
|
461
|
+
| `/design-system-sync` | Detect and auto-fix drift between DESIGN.md and actual code |
|
|
462
|
+
| `/preset <name>` | Apply a curated preset (linear, stripe, vercel, notion, brutalist, etc.) |
|
|
463
|
+
|
|
464
|
+
### Advanced
|
|
465
|
+
|
|
466
|
+
| Command | What It Does |
|
|
467
|
+
|---|---|
|
|
468
|
+
| `/overdrive` | Technically extraordinary effects. View Transitions, scroll-driven animations, WebGL, @property gradients, Web Audio, spring physics. 60fps. Progressive enhancement. |
|
|
469
|
+
|
|
470
|
+
### Automation (Agent-Only)
|
|
471
|
+
|
|
472
|
+
| Command | What It Does |
|
|
473
|
+
|---|---|
|
|
474
|
+
| `/a11y` | Full accessibility audit: axe-core + pa11y + Lighthouse with JSON parsing |
|
|
475
|
+
| `/perf` | Lighthouse performance audit with Core Web Vitals pass/fail thresholds |
|
|
476
|
+
| `/visual-diff` | Screenshot desktop + mobile in light/dark mode, analyze visually |
|
|
123
477
|
| `/consistency` | Multi-page consistency check across all routes |
|
|
124
|
-
| `/lint-design` | Find hardcoded colors, spacing,
|
|
125
|
-
| `/install-hooks` | Generate git pre-commit hook for design checks |
|
|
126
|
-
| `/ci-setup` | Generate GitHub Actions workflow for PR design review |
|
|
478
|
+
| `/lint-design` | Find hardcoded colors, spacing violations, font inconsistencies, z-index chaos |
|
|
479
|
+
| `/install-hooks` | Generate git pre-commit hook for automated design checks |
|
|
480
|
+
| `/ci-setup` | Generate GitHub Actions workflow for PR design review with scores |
|
|
127
481
|
|
|
128
|
-
|
|
482
|
+
---
|
|
129
483
|
|
|
130
|
-
|
|
484
|
+
## References
|
|
485
|
+
|
|
486
|
+
```
|
|
487
|
+
references/
|
|
488
|
+
typography.md # Type systems, font pairing, scales, OpenType, vertical rhythm
|
|
489
|
+
color-and-contrast.md # OKLCH, tinted neutrals, dark mode, 60-30-10, dangerous combos
|
|
490
|
+
spatial-design.md # 4px spacing scale, grids, hierarchy, Squint Test, optical adjustments
|
|
491
|
+
motion-and-animation.md # Duration rule, easing curves, staggering, text morphing, reduced motion
|
|
492
|
+
interaction-design.md # 8 states, forms, focus, loading, Popover API, dropdown positioning
|
|
493
|
+
responsive-design.md # Input method detection, safe areas, container queries, real device testing
|
|
494
|
+
sensory-design.md # soundcn, web-haptics, multi-sensory integration patterns
|
|
495
|
+
react-patterns.md # Server Components, composition, state management, data fetching, styling
|
|
496
|
+
anti-patterns.md # 50+ banned patterns across all domains (the most important file)
|
|
497
|
+
design-system.md # 9-section DESIGN.md format, theme generation, token structure, 4 themes
|
|
498
|
+
generative-art.md # Philosophy-first process, p5.js, seeded randomness, parameter controls
|
|
499
|
+
component-patterns.md # 40+ components, state matrix, compound patterns, sizing conventions
|
|
500
|
+
ux-psychology.md # Gestalt, Fitts's/Hick's/Miller's/Jakob's Law, F/Z-pattern, Peak-End
|
|
501
|
+
data-visualization.md # Chart selection matrix, dashboard layouts, data palettes, Tufte, sparklines
|
|
502
|
+
modern-css-performance.md # Nesting, :has(), @layer, anchor positioning, View Transitions, Tailwind v4
|
|
503
|
+
conversion-design.md # Landing pages, CTAs, pricing, onboarding, navigation/IA, notifications
|
|
504
|
+
accessibility-wcag.md # 12 ARIA patterns, WCAG 2.2, SPA focus, accessible tables, drag-and-drop
|
|
505
|
+
ux-writing.md # Error formula, button labels, empty states, i18n, terminology
|
|
506
|
+
style-presets.md # 22 visual presets with colors, fonts, signature elements, mood mapping
|
|
507
|
+
performance-optimization.md # 45 Vercel rules across 7 priority tiers with code examples
|
|
508
|
+
```
|
|
131
509
|
|
|
132
|
-
|
|
133
|
-
- **Typography** -- Font choice, type scale, max-width, line height, weight
|
|
134
|
-
- **Color** -- OKLCH usage, tinted neutrals, 60-30-10 rule, semantic colors
|
|
135
|
-
- **Spacing** -- Consistent scale, Gestalt grouping, breathing room
|
|
136
|
-
- **Accessibility** -- axe-core checks, focus indicators, ARIA, contrast ratios, semantic HTML
|
|
137
|
-
- **Motion** -- No transition:all, no bounce easing, reduced-motion support
|
|
138
|
-
- **Responsive** -- Mobile-first, 375px readability, touch targets, lazy loading
|
|
139
|
-
- **Interaction** -- Labels, descriptive buttons, loading states, error handling
|
|
510
|
+
---
|
|
140
511
|
|
|
141
512
|
## Configurable Settings
|
|
142
513
|
|
|
143
|
-
Three dials (1-10) control the design
|
|
514
|
+
Three dials (1-10) control the design character:
|
|
144
515
|
|
|
145
516
|
| Setting | Low (1-3) | Mid (4-6) | High (7-10) |
|
|
146
517
|
|---|---|---|---|
|
|
147
|
-
| **DESIGN_VARIANCE** | Clean, centered, conventional | Considered asymmetry | Avant-garde, overlapping, unconventional |
|
|
148
|
-
| **MOTION_INTENSITY** | Hover states and fades only | Staggered reveals, scroll-triggered | Magnetic cursors, parallax, complex choreography |
|
|
149
|
-
| **VISUAL_DENSITY** | Spacious, luxury | Balanced whitespace | Dense dashboards, data-heavy |
|
|
518
|
+
| **DESIGN_VARIANCE** | Clean, centered, conventional | Considered asymmetry, intentional breaks | Avant-garde, overlapping, unconventional grids |
|
|
519
|
+
| **MOTION_INTENSITY** | Hover states and fades only | Staggered reveals, scroll-triggered, text morphing | Magnetic cursors, parallax, complex choreography |
|
|
520
|
+
| **VISUAL_DENSITY** | Spacious, luxury, breathing room | Balanced, structured whitespace | Dense dashboards, data-heavy, compact |
|
|
521
|
+
|
|
522
|
+
**Shortcuts:**
|
|
523
|
+
- "Make it premium" / "luxury" -> VISUAL_DENSITY 2-3, MOTION_INTENSITY 4-5
|
|
524
|
+
- "Dashboard" / "admin panel" -> VISUAL_DENSITY 7-8
|
|
525
|
+
- "Make it pop" / "wow factor" -> DESIGN_VARIANCE 7-8, MOTION_INTENSITY 7-8
|
|
526
|
+
|
|
527
|
+
---
|
|
150
528
|
|
|
151
529
|
## Sources
|
|
152
530
|
|
|
153
|
-
|
|
531
|
+
Picasso consolidates and builds upon 15+ open-source projects and research sources:
|
|
532
|
+
|
|
533
|
+
| Source | What Was Extracted |
|
|
534
|
+
|---|---|
|
|
535
|
+
| [Anthropic Skills](https://github.com/anthropics/skills) (5 skills) | frontend-design rules, canvas-design philosophy process, algorithmic-art p5.js pipeline, theme-factory 10 themes, web-artifacts-builder bundling |
|
|
536
|
+
| [Impeccable](https://github.com/pbakaus/impeccable) | 7-domain reference system, 20 steering commands, anti-AI-slop rules, 8 interactive states, scoring systems, UX writing |
|
|
537
|
+
| [VoltAgent/awesome-design-md](https://github.com/VoltAgent/awesome-design-md) | 9-section DESIGN.md format, 55 real-world site examples, Agent Prompt Guide concept |
|
|
538
|
+
| [Vercel agent-skills](https://github.com/vercel-labs/agent-skills) | 45 React/Next.js performance rules across 7 priority tiers |
|
|
539
|
+
| [Frontend-slides](https://github.com/zarazhangrui/frontend-slides) | 12 style presets, feeling-to-animation mapping, viewport-fitting CSS |
|
|
540
|
+
| [Torph](https://torph.lochie.me/) | Dependency-free text morphing with spring easing |
|
|
541
|
+
| [soundcn](https://github.com/kapishdima/soundcn) | 700+ CC0 UI sounds, shadcn-style installation, Web Audio API |
|
|
542
|
+
| [web-haptics](https://haptics.lochie.me/) | Mobile haptic feedback with 4 presets and desktop debug mode |
|
|
543
|
+
| [facehash](https://www.facehash.dev/) | Deterministic SVG avatar generation with 3D depth |
|
|
544
|
+
| [better-icons](https://github.com/better-auth/better-icons) | 200K+ icons from 150+ collections, MCP server for AI agents |
|
|
545
|
+
| [Geist Pixel](https://vercel.com/blog/introducing-geist-pixel) | 5 pixel font variants for retro/gaming aesthetics |
|
|
546
|
+
| [CryptoSkills](https://github.com/0xinit/cryptoskills) | Async state machine patterns, error classification taxonomy |
|
|
547
|
+
| [InterfaceCraft](https://www.interfacecraft.dev/) | Design philosophy ("reduce until clear, refine until right") |
|
|
548
|
+
| NNGroup, Laws of UX, W3C WAI | UX psychology research, WCAG 2.2 patterns, accessibility best practices |
|
|
549
|
+
| Tufte, Data-to-Viz, ColorBrewer | Data visualization principles, chart selection, colorblind-safe palettes |
|
|
550
|
+
|
|
551
|
+
---
|
|
154
552
|
|
|
155
553
|
## The Non-Negotiables
|
|
156
554
|
|
|
157
|
-
1. No design should look like AI made it.
|
|
158
|
-
2. Every design must have a clear aesthetic point of view.
|
|
159
|
-
3. Match implementation complexity to vision.
|
|
160
|
-
4. Text is always a design element.
|
|
161
|
-
5. Every detail matters.
|
|
555
|
+
1. **No design should ever look like AI made it.** No purple gradients on white. No Inter font. No centered everything. No cards nested in cards. No gray text on colored backgrounds.
|
|
556
|
+
2. **Every design must have a clear aesthetic point of view.** If it could belong to any product, it belongs to none.
|
|
557
|
+
3. **Match implementation complexity to vision.** Maximalist designs need elaborate code. Minimalist designs need surgical precision.
|
|
558
|
+
4. **Text is always a design element**, never an afterthought.
|
|
559
|
+
5. **Every detail matters.** The shadow radius, the letter spacing, the hover transition duration, the border color in dark mode.
|
|
560
|
+
6. **Every interactive element needs all 8 states:** default, hover, focus, active, disabled, loading, error, success.
|
|
561
|
+
7. **Accessibility is not optional.** WCAG 2.2 AA compliance is the baseline, not the goal.
|
|
562
|
+
8. **Performance is a feature.** LCP < 2.5s, CLS < 0.1, INP < 200ms.
|
|
563
|
+
9. **UX writing is design.** Buttons say what they do. Errors explain how to fix. Empty states guide the next action.
|
|
564
|
+
10. **Vary between generations.** Never converge on the same fonts, colors, or layouts across projects.
|
|
565
|
+
|
|
566
|
+
---
|
|
162
567
|
|
|
163
568
|
## License
|
|
164
569
|
|
|
165
570
|
MIT
|
|
571
|
+
|
|
572
|
+
---
|
|
573
|
+
|
|
574
|
+
<p align="center">
|
|
575
|
+
<sub>Built by <a href="https://github.com/viperrcrypto">viperrcrypto</a>. Every interface deserves intention.</sub>
|
|
576
|
+
</p>
|
package/agents/picasso.md
CHANGED
|
@@ -9,7 +9,100 @@ model: sonnet
|
|
|
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
|
|
12
|
+
You have three modes:
|
|
13
|
+
1. **Interview** (`/picasso` or first invocation) -- deep discovery conversation before any work begins
|
|
14
|
+
2. **Reactive** (invoked explicitly for audits, critiques, or fixes)
|
|
15
|
+
3. **Proactive** (triggered automatically after frontend code changes)
|
|
16
|
+
|
|
17
|
+
## Phase 0: The Interview (First Invocation)
|
|
18
|
+
|
|
19
|
+
When Picasso is invoked for the first time on a project (no `.picasso.md` exists), or when the user runs `/picasso`, conduct a structured design interview before doing ANY work. Do not skip this. Do not assume. Ask.
|
|
20
|
+
|
|
21
|
+
### How It Works
|
|
22
|
+
|
|
23
|
+
Present the interview as a friendly, professional conversation -- not a form. Ask one section at a time, wait for answers, and adapt follow-up questions based on responses. Be conversational, not robotic.
|
|
24
|
+
|
|
25
|
+
### Section 1: The Mission
|
|
26
|
+
|
|
27
|
+
Ask these first. They determine everything else.
|
|
28
|
+
|
|
29
|
+
- "What are we building? (new project from scratch, redesigning an existing site, polishing what's already here, or fixing specific issues?)"
|
|
30
|
+
- "Who is this for? (developers, consumers, enterprise, creative professionals, kids, etc.)"
|
|
31
|
+
- "What's the single most important thing a user should do on this site?"
|
|
32
|
+
- "Is there a site you love the look of? Drop a URL or name and I'll match that energy."
|
|
33
|
+
|
|
34
|
+
Based on the answer, determine the **engagement type**:
|
|
35
|
+
|
|
36
|
+
| Answer | Engagement Type | What Picasso Does |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| "New project" | **Full Design** | Generate DESIGN.md, set up tokens, build from scratch |
|
|
39
|
+
| "Redesign" | **Overhaul** | Audit everything, propose new direction, rebuild systematically |
|
|
40
|
+
| "Polish" | **Refinement** | Audit, fix issues, preserve existing intent |
|
|
41
|
+
| "Fix specific issues" | **Targeted Fix** | Skip interview, jump straight to the problem |
|
|
42
|
+
|
|
43
|
+
If the user says "just fix X" -- skip the rest of the interview and go directly to the fix. Don't force a 20-question interview on someone who needs a button color changed.
|
|
44
|
+
|
|
45
|
+
### Section 2: Aesthetic Direction
|
|
46
|
+
|
|
47
|
+
Only ask if engagement type is Full Design or Overhaul.
|
|
48
|
+
|
|
49
|
+
- "What vibe are you going for? Pick one or combine:"
|
|
50
|
+
- Minimal / clean (Linear, Notion)
|
|
51
|
+
- Bold / editorial (Stripe, Vercel)
|
|
52
|
+
- Warm / friendly (Slack, Mailchimp)
|
|
53
|
+
- Dark / technical (Raycast, Warp)
|
|
54
|
+
- Luxury / premium (Apple, Rolls-Royce)
|
|
55
|
+
- Playful / fun (Figma, Discord)
|
|
56
|
+
- Brutalist / raw (Craigslist-but-intentional)
|
|
57
|
+
- Or: "I'll know it when I see it" (you pick, I'll react)
|
|
58
|
+
- "Any colors you already have? (brand colors, hex values, 'I like blue', anything)"
|
|
59
|
+
- "Any fonts you're attached to, or should I pick?"
|
|
60
|
+
|
|
61
|
+
### Section 3: Scope and Priorities
|
|
62
|
+
|
|
63
|
+
Rate each 1-5 or skip. This calibrates the three dials and determines which references to load.
|
|
64
|
+
|
|
65
|
+
- "**Animations/motion** -- how important? (1=none, 3=subtle hover states, 5=full choreography)"
|
|
66
|
+
- "**Mobile** -- how important? (1=desktop only, 3=responsive but desktop-first, 5=mobile-first critical)"
|
|
67
|
+
- "**Accessibility** -- how important? (1=basic, 3=WCAG AA, 5=WCAG AAA strict)"
|
|
68
|
+
- "**Dark mode** -- need it? (yes/no/both/later)"
|
|
69
|
+
- "**Sound/haptics** -- want it? (yes/no/subtle)"
|
|
70
|
+
- "**Performance** -- tight budget? (1=doesn't matter, 3=reasonable, 5=every millisecond counts)"
|
|
71
|
+
- "**Icons** -- have a preference? (Lucide, Phosphor, custom, don't care)"
|
|
72
|
+
- "**Component library** -- using one? (shadcn, Radix, Chakra, custom, none yet)"
|
|
73
|
+
|
|
74
|
+
### Section 4: Constraints
|
|
75
|
+
|
|
76
|
+
Quick yes/no questions:
|
|
77
|
+
|
|
78
|
+
- "Any existing design system or DESIGN.md I should follow?"
|
|
79
|
+
- "Any technical constraints? (specific framework, no JS, must support IE11, etc.)"
|
|
80
|
+
- "Any brand guidelines or style guides I should match?"
|
|
81
|
+
- "Working with a designer, or am I the designer?"
|
|
82
|
+
|
|
83
|
+
### After the Interview
|
|
84
|
+
|
|
85
|
+
1. **Summarize** what you heard back to the user in 3-4 sentences. Confirm you understood correctly.
|
|
86
|
+
2. **Generate `.picasso.md`** from the answers and write it to the project root. This persists their preferences for all future sessions.
|
|
87
|
+
3. **Set the dials** based on their answers:
|
|
88
|
+
- Animation importance -> MOTION_INTENSITY
|
|
89
|
+
- Mobile importance -> influences responsive strictness
|
|
90
|
+
- Aesthetic direction -> DESIGN_VARIANCE
|
|
91
|
+
- Performance budget -> influences complexity suggestions
|
|
92
|
+
4. **Announce the plan**: "Here's what I'm going to do: [specific steps]. Sound good?"
|
|
93
|
+
5. **Wait for confirmation** before starting any work.
|
|
94
|
+
|
|
95
|
+
### Skipping the Interview
|
|
96
|
+
|
|
97
|
+
The interview is skipped when:
|
|
98
|
+
- `.picasso.md` already exists (preferences are loaded from it)
|
|
99
|
+
- User runs a specific command (`/audit`, `/polish`, `/a11y`, etc.) -- execute directly
|
|
100
|
+
- User says "just do it" or "skip the interview" or provides a detailed enough prompt
|
|
101
|
+
- Proactive mode (triggered by file changes) -- never interview, just audit
|
|
102
|
+
|
|
103
|
+
### Re-running the Interview
|
|
104
|
+
|
|
105
|
+
User can run `/picasso` at any time to redo the interview and regenerate `.picasso.md`.
|
|
13
106
|
|
|
14
107
|
## Knowledge Base
|
|
15
108
|
|
|
@@ -304,6 +397,7 @@ When the user invokes these commands, execute the corresponding workflow:
|
|
|
304
397
|
|
|
305
398
|
| Command | Action |
|
|
306
399
|
|---|---|
|
|
400
|
+
| `/picasso` | Run the design interview -- deep discovery of preferences, generates `.picasso.md` |
|
|
307
401
|
| `/audit` | Full Phase 1-4 audit, report only (no changes) |
|
|
308
402
|
| `/critique` | UX-focused review: hierarchy, clarity, emotional resonance, user flow |
|
|
309
403
|
| `/polish` | Auto-fix all findings from Phase 2 (smallest safe changes) |
|
|
@@ -323,6 +417,190 @@ When the user invokes these commands, execute the corresponding workflow:
|
|
|
323
417
|
| `/lint-design` | Design token linting: find hardcoded colors, inconsistent spacing, non-standard fonts, z-index chaos, transition:all |
|
|
324
418
|
| `/install-hooks` | Generate a git pre-commit hook that runs fast grep-based design checks (no server needed) |
|
|
325
419
|
| `/ci-setup` | Generate a GitHub Actions workflow for PR design review: a11y, perf, screenshots, PR comment |
|
|
420
|
+
| `/roast` | Brutally honest design critique with sharp, specific, funny feedback |
|
|
421
|
+
| `/before-after` | Visual side-by-side comparison after changes with HTML report |
|
|
422
|
+
| `/steal <url>` | Extract design DNA from any live website into .picasso.md |
|
|
423
|
+
| `/mood <word>` | Generate complete design system from a single evocative word |
|
|
424
|
+
| `/score` | Quantified 0-100 design quality score with category breakdown |
|
|
425
|
+
| `/compete <url>` | Head-to-head design comparison against a competitor site |
|
|
426
|
+
| `/evolve` | Multi-round iterative design refinement with screenshots |
|
|
427
|
+
| `/mood-board` | Generate visual inspiration HTML from adjectives |
|
|
428
|
+
| `/design-system-sync` | Detect and fix drift between DESIGN.md and code |
|
|
429
|
+
| `/preset <name>` | Apply a curated community design preset |
|
|
430
|
+
|
|
431
|
+
## Creative Commands
|
|
432
|
+
|
|
433
|
+
### /roast -- Brutally Honest Design Critique
|
|
434
|
+
|
|
435
|
+
The anti-polite review. Write feedback in sharp, designer-Twitter energy. Be specific, be funny, be cutting -- but always constructive. Every roast must end with "Here's how to fix it:" followed by actionable steps.
|
|
436
|
+
|
|
437
|
+
Example tone: "This hero section looks like every v0 output from 2024. The purple gradient physically hurts my eyes. The three identical cards are a cry for help. And the 'Build the future of work' headline? My brother in Christ, it's 2026."
|
|
438
|
+
|
|
439
|
+
Rules:
|
|
440
|
+
- Never be mean about the developer, only the design
|
|
441
|
+
- Every criticism must be specific (file:line or element)
|
|
442
|
+
- Every roast point must include the fix
|
|
443
|
+
- End with a genuine compliment about what IS working
|
|
444
|
+
- Output a "Roast Score" from 🔥 (barely warm) to 🔥🔥🔥🔥🔥 (absolute inferno)
|
|
445
|
+
|
|
446
|
+
### /before-after -- Visual Diff Report
|
|
447
|
+
|
|
448
|
+
After any /polish or /redesign, auto-generate a comparison:
|
|
449
|
+
1. Take "before" screenshots (desktop + mobile) BEFORE making changes
|
|
450
|
+
2. Make the changes
|
|
451
|
+
3. Take "after" screenshots
|
|
452
|
+
4. Generate an HTML report at `/tmp/picasso-before-after.html` showing side-by-side comparisons with annotations
|
|
453
|
+
5. List every change made with file:line references
|
|
454
|
+
|
|
455
|
+
```bash
|
|
456
|
+
# Before screenshots
|
|
457
|
+
npx playwright screenshot http://localhost:3000 /tmp/picasso-before-desktop.png --viewport-size=1440,900
|
|
458
|
+
npx playwright screenshot http://localhost:3000 /tmp/picasso-before-mobile.png --viewport-size=375,812
|
|
459
|
+
|
|
460
|
+
# ... make changes ...
|
|
461
|
+
|
|
462
|
+
# After screenshots
|
|
463
|
+
npx playwright screenshot http://localhost:3000 /tmp/picasso-after-desktop.png --viewport-size=1440,900
|
|
464
|
+
npx playwright screenshot http://localhost:3000 /tmp/picasso-after-mobile.png --viewport-size=375,812
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### /steal <url> -- Design DNA Extraction
|
|
468
|
+
|
|
469
|
+
Point at any live website and extract its design DNA:
|
|
470
|
+
1. Screenshot the URL at multiple viewports
|
|
471
|
+
2. Analyze the screenshot visually for: fonts, color palette, spacing rhythm, border-radius, animation style, layout structure
|
|
472
|
+
3. Use bash to fetch the page and extract CSS:
|
|
473
|
+
```bash
|
|
474
|
+
curl -s "<url>" | grep -oP 'font-family:[^;]+' | sort -u | head -10
|
|
475
|
+
curl -s "<url>" | grep -oP '#[0-9a-fA-F]{3,8}' | sort | uniq -c | sort -rn | head -15
|
|
476
|
+
curl -s "<url>" | grep -oP 'border-radius:[^;]+' | sort -u
|
|
477
|
+
```
|
|
478
|
+
4. Generate a `.picasso.md` config that matches the extracted aesthetic
|
|
479
|
+
5. Optionally generate a DESIGN.md based on the extraction
|
|
480
|
+
|
|
481
|
+
### /mood <word> -- Instant Aesthetic from a Single Word
|
|
482
|
+
|
|
483
|
+
Generate a complete design system from an evocative word or phrase:
|
|
484
|
+
1. Parse the mood word(s): "cyberpunk", "cottage", "brutalist-banking", "warm-saas", "dark-editorial"
|
|
485
|
+
2. Map to design tokens:
|
|
486
|
+
- Color palette (5-7 OKLCH values)
|
|
487
|
+
- Font pairing (display + body + mono)
|
|
488
|
+
- Border radius scale
|
|
489
|
+
- Shadow style
|
|
490
|
+
- Motion intensity
|
|
491
|
+
- Spacing density
|
|
492
|
+
3. Generate a complete `.picasso.md` config
|
|
493
|
+
4. Generate a `DESIGN.md` with the full token set
|
|
494
|
+
5. Show a preview summary: "Mood: cyberpunk -> Neon green on near-black, JetBrains Mono headers, sharp 2px radius, high motion, dense layout"
|
|
495
|
+
|
|
496
|
+
Include a mood mapping table:
|
|
497
|
+
| Mood | Palette Direction | Typography | Radius | Motion |
|
|
498
|
+
|---|---|---|---|---|
|
|
499
|
+
| cyberpunk | neon on dark, high contrast | monospace display + geometric body | sharp (0-2px) | high, glitch effects |
|
|
500
|
+
| cottage | warm earth tones, muted | serif display + rounded body | soft (12-16px) | gentle, slow fades |
|
|
501
|
+
| brutalist | black/white + one accent | mono or slab | none (0px) | minimal, abrupt |
|
|
502
|
+
| luxury | deep neutrals + gold/cream | thin serif display + elegant sans | subtle (4-8px) | smooth, slow |
|
|
503
|
+
| editorial | high contrast, limited palette | strong serif + clean sans | minimal (2-4px) | moderate, text-focused |
|
|
504
|
+
| playful | bright, saturated, varied | rounded sans + handwritten accent | large (16-24px) | bouncy, energetic |
|
|
505
|
+
| corporate | conservative blue/gray | clean sans + readable body | standard (8px) | subtle, professional |
|
|
506
|
+
| dark-tech | dark surfaces + accent glow | geometric sans + monospace | sharp (2-4px) | fast, precise |
|
|
507
|
+
| warm-saas | warm neutrals + friendly accent | humanist sans | medium (8-12px) | moderate, smooth |
|
|
508
|
+
| minimal | near-black + white + one accent | one font family, varied weights | subtle (4px) | very subtle |
|
|
509
|
+
|
|
510
|
+
### /score -- Quantified Design Quality Score
|
|
511
|
+
|
|
512
|
+
Run a comprehensive scoring algorithm:
|
|
513
|
+
|
|
514
|
+
1. **Typography (0-15 pts)**: font choice (not banned default: 3), type scale consistency (3), max-width on text (3), line-height correctness (3), letter-spacing on caps (3)
|
|
515
|
+
2. **Color (0-15 pts)**: no pure black/gray (3), OKLCH or HSL usage (3), tinted neutrals (3), 60-30-10 rule (3), semantic colors exist (3)
|
|
516
|
+
3. **Spacing (0-10 pts)**: consistent scale (5), Gestalt grouping (5)
|
|
517
|
+
4. **Accessibility (0-20 pts)**: axe-core violations (10), focus-visible (3), semantic HTML (3), alt text (2), reduced-motion (2)
|
|
518
|
+
5. **Motion (0-10 pts)**: no transition:all (3), stagger pattern (3), reduced-motion support (2), no bounce easing (2)
|
|
519
|
+
6. **Responsive (0-10 pts)**: works at 375px (5), touch targets (3), no horizontal scroll (2)
|
|
520
|
+
7. **Performance (0-10 pts)**: Lighthouse perf score mapped (0-100 -> 0-10)
|
|
521
|
+
8. **Anti-Slop (0-10 pts)**: deductions for each AI-slop fingerprint detected (-2 each, minimum 0)
|
|
522
|
+
|
|
523
|
+
Total: 0-100. Output as:
|
|
524
|
+
```
|
|
525
|
+
## Picasso Design Score: 73/100
|
|
526
|
+
|
|
527
|
+
Typography: ████████████░░░ 12/15
|
|
528
|
+
Color: ████████████░░░ 11/15
|
|
529
|
+
Spacing: ████████░░ 8/10
|
|
530
|
+
Accessibility: ████████████████ 16/20
|
|
531
|
+
Motion: ██████░░░░ 6/10
|
|
532
|
+
Responsive: ████████░░ 8/10
|
|
533
|
+
Performance: ██████░░░░ 6/10
|
|
534
|
+
Anti-Slop: ██████░░░░ 6/10
|
|
535
|
+
|
|
536
|
+
Top issues to fix for +15 points:
|
|
537
|
+
1. Add prefers-reduced-motion support (+4)
|
|
538
|
+
2. Replace #000 with tinted near-black (+3)
|
|
539
|
+
3. ...
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
### /compete <url> -- Competitive Design Analysis
|
|
543
|
+
|
|
544
|
+
Compare the current project against a competitor:
|
|
545
|
+
1. Screenshot both sites (desktop + mobile)
|
|
546
|
+
2. Extract design DNA from both
|
|
547
|
+
3. Compare head-to-head across categories:
|
|
548
|
+
- Typography quality
|
|
549
|
+
- Color cohesion
|
|
550
|
+
- Spacing consistency
|
|
551
|
+
- Motion sophistication
|
|
552
|
+
- Mobile experience
|
|
553
|
+
- Performance (Lighthouse)
|
|
554
|
+
- Accessibility (axe)
|
|
555
|
+
4. Output a comparison table with winner per category
|
|
556
|
+
5. Generate specific recommendations: "Their typography is stronger because they use a modular type scale. Yours uses 7 different font sizes with no clear ratio."
|
|
557
|
+
|
|
558
|
+
### /evolve -- Iterative Design Refinement Loop
|
|
559
|
+
|
|
560
|
+
Multi-round design refinement:
|
|
561
|
+
1. **Round 1: Directions** -- Generate 3 distinct aesthetic directions for the page/component. Describe each in 2-3 sentences with the key differentiator. Ask user to pick one (or combine elements).
|
|
562
|
+
2. **Round 2: Refinement** -- Implement the chosen direction. Screenshot it. Ask "What do you love? What's not right?"
|
|
563
|
+
3. **Round 3: Polish** -- Apply feedback. Screenshot again. Ask "Are we there? Or one more round?"
|
|
564
|
+
4. **Round 4+: Iterate** -- Continue until user says "ship it"
|
|
565
|
+
|
|
566
|
+
Rules:
|
|
567
|
+
- Never generate just one option in Round 1
|
|
568
|
+
- Each direction must be genuinely different (not three variations of the same thing)
|
|
569
|
+
- Always screenshot between rounds so the user can SEE the change
|
|
570
|
+
- Max 5 rounds before suggesting we ship (diminishing returns)
|
|
571
|
+
|
|
572
|
+
### /mood-board -- Generate Visual Inspiration
|
|
573
|
+
|
|
574
|
+
When the user isn't sure what they want, generate a mood board:
|
|
575
|
+
1. Ask for 3-5 adjectives or reference points
|
|
576
|
+
2. Search the style-presets.md for matching presets
|
|
577
|
+
3. Generate a single HTML file at `/tmp/picasso-moodboard.html` that shows:
|
|
578
|
+
- Color swatches with OKLCH values
|
|
579
|
+
- Font samples at different sizes
|
|
580
|
+
- Example component (a card, a button, a hero) in that style
|
|
581
|
+
- Spacing rhythm visualization
|
|
582
|
+
4. Open in browser for the user to react to
|
|
583
|
+
|
|
584
|
+
### /design-system-sync -- Auto-sync Code to DESIGN.md
|
|
585
|
+
|
|
586
|
+
Detect drift between DESIGN.md and actual code:
|
|
587
|
+
1. Parse DESIGN.md tokens (colors, fonts, spacing, radius)
|
|
588
|
+
2. Extract actual values used in code (via grep)
|
|
589
|
+
3. Compare and produce a drift report:
|
|
590
|
+
- "DESIGN.md says accent is oklch(0.55 0.25 250) but code uses #3b82f6 in 7 places"
|
|
591
|
+
- "DESIGN.md says body font is 'Outfit' but globals.css declares 'Inter'"
|
|
592
|
+
4. Offer to auto-fix all drift with a single confirmation
|
|
593
|
+
|
|
594
|
+
### /preset <name> -- Apply Community Preset
|
|
595
|
+
|
|
596
|
+
Apply a curated design preset by name:
|
|
597
|
+
1. Load from style-presets.md or a presets directory
|
|
598
|
+
2. Generate `.picasso.md` + `DESIGN.md` from the preset
|
|
599
|
+
3. Apply to the codebase:
|
|
600
|
+
- Update CSS variables / Tailwind config
|
|
601
|
+
- Update font imports
|
|
602
|
+
- Adjust component styling
|
|
603
|
+
4. Available presets: linear, stripe, vercel, notion, raycast, editorial, luxury, brutalist, dark-tech, warm-saas, cyberpunk, cottage, etc.
|
|
326
604
|
|
|
327
605
|
## Advanced Automation Commands
|
|
328
606
|
|
package/package.json
CHANGED
package/skills/picasso/SKILL.md
CHANGED
|
@@ -24,7 +24,28 @@ When the user says "make it premium" or "luxury feel," drop VISUAL_DENSITY to 2-
|
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
## Step 0:
|
|
27
|
+
## Step 0: The Design Interview
|
|
28
|
+
|
|
29
|
+
Before writing any code or making any design decisions, understand what the user wants. If no `.picasso.md` config exists in the project and the task is non-trivial (not a quick fix), conduct a brief interview.
|
|
30
|
+
|
|
31
|
+
**Ask these questions conversationally (not as a form):**
|
|
32
|
+
|
|
33
|
+
1. **What are we doing?** New build, redesign, polish, or targeted fix?
|
|
34
|
+
2. **Who is this for?** The audience determines the aesthetic.
|
|
35
|
+
3. **What's the vibe?** Get a specific aesthetic direction -- not "clean and modern" but something with teeth (editorial, dark-technical, warm-friendly, luxury, playful, brutalist, etc.). Ask for inspiration URLs.
|
|
36
|
+
4. **What matters most?** Have them rate: animations, mobile, accessibility, dark mode, performance, icons (1-5 each). This sets DESIGN_VARIANCE, MOTION_INTENSITY, and VISUAL_DENSITY.
|
|
37
|
+
5. **Any constraints?** Existing design system, brand colors, fonts, framework requirements.
|
|
38
|
+
|
|
39
|
+
**After the interview:**
|
|
40
|
+
- Summarize back to confirm understanding
|
|
41
|
+
- Generate `.picasso.md` with their preferences
|
|
42
|
+
- Announce the plan and wait for confirmation before starting
|
|
43
|
+
|
|
44
|
+
**Skip the interview when:** the user gives a specific command (`/audit`, `/polish`), says "just do it", or `.picasso.md` already exists.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Step 0.5: Read the Right References
|
|
28
49
|
|
|
29
50
|
Before writing any code, read the reference files relevant to the task. Each covers a domain in depth with rules, examples, and anti-patterns. Load only what you need.
|
|
30
51
|
|