picasso-skill 1.3.3 → 1.3.4
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/bin/install.mjs +16 -2
- package/commands/before-after.md +9 -0
- package/commands/compete.md +12 -0
- package/commands/evolve.md +23 -0
- package/commands/godmode.md +36 -0
- package/commands/mood.md +17 -0
- package/commands/preset.md +14 -0
- package/commands/roast.md +24 -0
- package/commands/score.md +15 -0
- package/commands/steal.md +12 -0
- package/package.json +2 -1
package/bin/install.mjs
CHANGED
|
@@ -8,6 +8,7 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
8
8
|
const packageRoot = resolve(__dirname, "..");
|
|
9
9
|
const skillSource = join(packageRoot, "skills", "picasso");
|
|
10
10
|
const agentSource = join(packageRoot, "agents", "picasso.md");
|
|
11
|
+
const commandsSource = join(packageRoot, "commands");
|
|
11
12
|
|
|
12
13
|
const args = process.argv.slice(2);
|
|
13
14
|
const command = args[0] || "install";
|
|
@@ -99,11 +100,24 @@ try {
|
|
|
99
100
|
console.log(` ${join(agentDir, "picasso.md")}`);
|
|
100
101
|
}
|
|
101
102
|
|
|
103
|
+
// Install commands
|
|
104
|
+
const commandsDir = agentDir ? join(agentDir, "..", "commands") : null;
|
|
105
|
+
if (commandsDir && existsSync(commandsSource)) {
|
|
106
|
+
mkdirSync(commandsDir, { recursive: true });
|
|
107
|
+
const cmds = readdirSync(commandsSource).filter(f => f.endsWith(".md"));
|
|
108
|
+
for (const cmd of cmds) {
|
|
109
|
+
cpSync(join(commandsSource, cmd), join(commandsDir, cmd));
|
|
110
|
+
}
|
|
111
|
+
console.log(`\n Commands installed (${cmds.length}):`);
|
|
112
|
+
for (const cmd of cmds) {
|
|
113
|
+
console.log(` /${cmd.replace(".md", "")}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
102
117
|
console.log(`\n Picasso is ready. Start designing.\n`);
|
|
103
118
|
|
|
104
119
|
if (agentDir) {
|
|
105
|
-
console.log(`
|
|
106
|
-
console.log(` You can also invoke it manually with /audit, /critique, or /polish.\n`);
|
|
120
|
+
console.log(` Try: /godmode, /roast, /score, /mood, /evolve, /steal, /compete\n`);
|
|
107
121
|
}
|
|
108
122
|
} catch (err) {
|
|
109
123
|
console.error(` Error installing: ${err.message}`);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Run the Picasso /before-after command -- visual transformation report.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent to generate a before/after comparison:
|
|
4
|
+
|
|
5
|
+
1. Take "before" screenshots (desktop light, desktop dark, mobile light, mobile dark)
|
|
6
|
+
2. Apply /polish or /redesign fixes
|
|
7
|
+
3. Take "after" screenshots at the same viewports
|
|
8
|
+
4. Generate an HTML report at /tmp/picasso-before-after.html showing side-by-side comparisons
|
|
9
|
+
5. List every change made with file:line references
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Run the Picasso /compete command -- head-to-head design comparison.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent to compare the current project against the competitor URL: $ARGUMENTS
|
|
4
|
+
|
|
5
|
+
Steps:
|
|
6
|
+
1. Screenshot both sites (desktop + mobile)
|
|
7
|
+
2. Extract design DNA from both (fonts, colors, spacing, radius)
|
|
8
|
+
3. Score both across: typography, color, spacing, motion, responsive, performance (Lighthouse), accessibility (axe)
|
|
9
|
+
4. Output a head-to-head comparison table with winner per category
|
|
10
|
+
5. Generate specific recommendations for closing gaps
|
|
11
|
+
|
|
12
|
+
If no competitor URL is provided, ask the user for one.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Run the Picasso /evolve command -- iterative multi-round design refinement.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent for multi-round design:
|
|
4
|
+
|
|
5
|
+
Round 1: DIRECTIONS
|
|
6
|
+
- Generate 3 genuinely different aesthetic directions for the current page/component.
|
|
7
|
+
- Describe each in 2-3 sentences with the key differentiator.
|
|
8
|
+
- Ask the user to pick one, combine elements, or reject all.
|
|
9
|
+
|
|
10
|
+
Round 2: IMPLEMENTATION
|
|
11
|
+
- Implement the chosen direction.
|
|
12
|
+
- Take screenshots.
|
|
13
|
+
- Ask "What do you love? What's not right?"
|
|
14
|
+
|
|
15
|
+
Round 3+: REFINEMENT
|
|
16
|
+
- Apply feedback. Screenshot again.
|
|
17
|
+
- Ask "Are we there? Or one more round?"
|
|
18
|
+
- Continue until user says "ship it" or max 5 rounds.
|
|
19
|
+
|
|
20
|
+
Rules:
|
|
21
|
+
- Each direction must be genuinely different (not 3 variations of the same thing)
|
|
22
|
+
- Always screenshot between rounds
|
|
23
|
+
- Max 5 rounds before suggesting we ship
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Run the Picasso /godmode command -- the ultimate design transformation pipeline.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent (subagent_type: "picasso") to execute the full godmode pipeline:
|
|
4
|
+
|
|
5
|
+
Phase 1: UNDERSTAND
|
|
6
|
+
- Check for .picasso.md config. If not found, run the design interview (ask what we're building, who it's for, aesthetic direction, priorities 1-5 for animations/mobile/a11y/dark mode/performance, constraints).
|
|
7
|
+
- Gather context: read all frontend files, find design system, detect component library.
|
|
8
|
+
|
|
9
|
+
Phase 2: ASSESS
|
|
10
|
+
- Run /score to establish the BEFORE score (0-100 with category breakdown).
|
|
11
|
+
- Run /roast for the brutally honest assessment.
|
|
12
|
+
- Run /audit for full technical audit with severity-ranked findings.
|
|
13
|
+
- Run /a11y (axe-core + pa11y + Lighthouse accessibility).
|
|
14
|
+
- Run /perf (Lighthouse Core Web Vitals).
|
|
15
|
+
- Run /lint-design (find hardcoded colors, spacing violations, font inconsistencies).
|
|
16
|
+
- Take BEFORE screenshots (desktop light, desktop dark, mobile light, mobile dark).
|
|
17
|
+
|
|
18
|
+
Phase 3: PLAN
|
|
19
|
+
- Compile all findings into a prioritized fix list (Critical -> High -> Medium -> Low).
|
|
20
|
+
- Present the plan: "Found X issues. Fixing all = score ~Y. Proceed?"
|
|
21
|
+
- WAIT for user confirmation before proceeding.
|
|
22
|
+
|
|
23
|
+
Phase 4: FIX
|
|
24
|
+
- Execute fixes in priority order: typography, color, spacing, layout, motion, accessibility, interaction, performance, copy.
|
|
25
|
+
- Re-verify after each category.
|
|
26
|
+
|
|
27
|
+
Phase 5: VERIFY
|
|
28
|
+
- Run /score again for the AFTER score.
|
|
29
|
+
- Take AFTER screenshots.
|
|
30
|
+
- Generate before/after comparison.
|
|
31
|
+
|
|
32
|
+
Phase 6: REPORT
|
|
33
|
+
- Show final score comparison with per-category breakdown.
|
|
34
|
+
- Show files modified and issues fixed.
|
|
35
|
+
|
|
36
|
+
If the before score is already 85+, say so and suggest the 3-4 things that would take it to 95+.
|
package/commands/mood.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Run the Picasso /mood command -- generate a design system from a word.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent to generate a complete design system from the mood word: $ARGUMENTS
|
|
4
|
+
|
|
5
|
+
Map the mood to design tokens:
|
|
6
|
+
- Color palette (5-7 OKLCH values)
|
|
7
|
+
- Font pairing (display + body + mono)
|
|
8
|
+
- Border radius scale
|
|
9
|
+
- Shadow style
|
|
10
|
+
- Motion intensity
|
|
11
|
+
- Spacing density
|
|
12
|
+
|
|
13
|
+
Generate both .picasso.md and DESIGN.md from the mood.
|
|
14
|
+
|
|
15
|
+
Common moods: cyberpunk, cottage, brutalist, luxury, editorial, playful, corporate, dark-tech, warm-saas, minimal. Also accepts combinations like "brutalist-banking" or "warm-editorial".
|
|
16
|
+
|
|
17
|
+
If no mood word is provided, ask the user for one.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Run the Picasso /preset command -- apply a curated design preset.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent to apply the named preset: $ARGUMENTS
|
|
4
|
+
|
|
5
|
+
Available presets: linear, stripe, vercel, notion, raycast, editorial, luxury, brutalist, dark-tech, warm-saas, cyberpunk, cottage, minimal, playful.
|
|
6
|
+
|
|
7
|
+
Steps:
|
|
8
|
+
1. Load the preset from style-presets.md reference
|
|
9
|
+
2. Generate .picasso.md + DESIGN.md from the preset
|
|
10
|
+
3. Update CSS variables / Tailwind config to match
|
|
11
|
+
4. Update font imports
|
|
12
|
+
5. Show a summary of what was applied
|
|
13
|
+
|
|
14
|
+
If no preset name is provided, list all available presets and ask the user to pick.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Run the Picasso /roast command -- brutally honest design critique.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent to review the current project's frontend with sharp, designer-Twitter energy.
|
|
4
|
+
|
|
5
|
+
Rules:
|
|
6
|
+
- Be specific about every criticism (file:line or element reference)
|
|
7
|
+
- Be funny and cutting, but never mean about the developer -- only the design
|
|
8
|
+
- Every roast point MUST include the fix
|
|
9
|
+
- End with a genuine compliment about what IS working
|
|
10
|
+
- Output a Roast Score from 🔥 (barely warm) to 🔥🔥🔥🔥🔥 (absolute inferno)
|
|
11
|
+
- Load anti-patterns.md first to check against the AI slop fingerprint
|
|
12
|
+
|
|
13
|
+
Format:
|
|
14
|
+
```
|
|
15
|
+
🔥🔥🔥 ROAST SCORE: X/5
|
|
16
|
+
|
|
17
|
+
[Sharp, specific critiques with file:line references]
|
|
18
|
+
|
|
19
|
+
Here's how to fix it:
|
|
20
|
+
1. [Fix with exact code/instruction]
|
|
21
|
+
2. ...
|
|
22
|
+
|
|
23
|
+
What IS working: [Genuine positive observations]
|
|
24
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Run the Picasso /score command -- quantified design quality score.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent to score the current project's frontend design on a 0-100 scale.
|
|
4
|
+
|
|
5
|
+
Categories:
|
|
6
|
+
- Typography (0-15): font choice, type scale, max-width, line-height, letter-spacing
|
|
7
|
+
- Color (0-15): no pure black/gray, OKLCH usage, tinted neutrals, 60-30-10, semantics
|
|
8
|
+
- Spacing (0-10): consistent 4px scale, Gestalt grouping
|
|
9
|
+
- Accessibility (0-20): axe-core violations, focus-visible, semantic HTML, alt text, reduced-motion
|
|
10
|
+
- Motion (0-10): no transition:all, stagger pattern, reduced-motion, no bounce
|
|
11
|
+
- Responsive (0-10): works at 375px, touch targets, no horizontal scroll
|
|
12
|
+
- Performance (0-10): Lighthouse perf score mapped 0-100 -> 0-10
|
|
13
|
+
- Anti-Slop (0-10): deductions for AI-slop fingerprints (-2 each)
|
|
14
|
+
|
|
15
|
+
Output format with visual bars and top fixes for maximum point improvement.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Run the Picasso /steal command -- extract design DNA from a URL.
|
|
2
|
+
|
|
3
|
+
Use the Picasso agent to extract the design language from the provided URL: $ARGUMENTS
|
|
4
|
+
|
|
5
|
+
Steps:
|
|
6
|
+
1. Screenshot the URL at desktop (1440x900) and mobile (375x812)
|
|
7
|
+
2. Fetch the page source and extract: font-family declarations, color values (#hex, rgb, oklch), border-radius values, box-shadow values
|
|
8
|
+
3. Analyze the screenshots visually for: layout structure, spacing rhythm, typography hierarchy, color palette, animation style
|
|
9
|
+
4. Generate a .picasso.md config that matches the extracted aesthetic
|
|
10
|
+
5. Optionally generate a DESIGN.md with the full token set
|
|
11
|
+
|
|
12
|
+
If no URL is provided, ask the user for one.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "picasso-skill",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.4",
|
|
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"
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"bin/",
|
|
34
34
|
"skills/",
|
|
35
35
|
"agents/",
|
|
36
|
+
"commands/",
|
|
36
37
|
"LICENSE"
|
|
37
38
|
]
|
|
38
39
|
}
|