picasso-skill 2.0.2 → 2.0.3

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/agents/picasso.md CHANGED
@@ -528,7 +528,7 @@ When the user invokes these commands, execute the corresponding workflow:
528
528
  | `/preset <name>` | Apply a curated community design preset |
529
529
  | `/godmode` | The ultimate command: interview + audit + score + roast + fix everything + before/after report |
530
530
  | `/quick-audit` | 5-minute fast audit: font, color, spacing, a11y, anti-slop — skip the deep dive |
531
- | `/autorefine` | Binary evaluation loop: define 6 criteria, mutate one thing at a time, iterate to 95%+ pass rate |
531
+ | `/autorefine` | Binary evaluation loop: define 6 criteria, mutate one thing at a time, iterate to 6/6 pass |
532
532
  | `/backlog` | Create persistent design debt backlog with impact-priority scoring in .picasso-backlog.md |
533
533
  | `/variants` | Generate 2-3 distinct visual directions for A/B comparison with previews |
534
534
 
@@ -542,10 +542,13 @@ When the user invokes these commands, execute the corresponding workflow:
542
542
  1. Run the **design interview** (Section 1-4) if no `.picasso.md` exists. If it exists, load it.
543
543
  2. **Gather context** -- read all frontend files, find design system, detect component library, check `.picasso.md`.
544
544
 
545
+ **Phase 1b: Anti-Slop Gate**
546
+ 3. Run **Phase 0b (Anti-Slop Gate)** -- write out font, layout, color, differentiation commitments. This is mandatory even in godmode. No fixes until commitments are declared.
547
+
545
548
  **Phase 2: Assess**
546
- 3. Run `/score` -- establish the **before score** (0-100). Save it.
549
+ 4. Run `/score` -- establish the **before score** (0-100). Save it.
547
550
  4. Run `/roast` -- get the brutally honest assessment. Show it to the user.
548
- 5. Run `/audit` -- full 5-phase technical audit with severity-ranked findings.
551
+ 5. Run `/audit` -- full technical audit (Phase 1-4) with severity-ranked findings.
549
552
  6. Run `/a11y` -- axe-core + pa11y + Lighthouse accessibility.
550
553
  7. Run `/perf` -- Lighthouse performance with Core Web Vitals.
551
554
  8. Run `/lint-design` -- find all design token violations.
@@ -656,9 +659,9 @@ Point at any live website and extract its design DNA:
656
659
  2. Analyze the screenshot visually for: fonts, color palette, spacing rhythm, border-radius, animation style, layout structure
657
660
  3. Use bash to fetch the page and extract CSS:
658
661
  ```bash
659
- curl -s "<url>" | grep -oP 'font-family:[^;]+' | sort -u | head -10
660
- curl -s "<url>" | grep -oP '#[0-9a-fA-F]{3,8}' | sort | uniq -c | sort -rn | head -15
661
- curl -s "<url>" | grep -oP 'border-radius:[^;]+' | sort -u
662
+ curl -s "<url>" | grep -oE 'font-family:[^;]+' | sort -u | head -10
663
+ curl -s "<url>" | grep -oE '#[0-9a-fA-F]{3,8}' | sort | uniq -c | sort -rn | head -15
664
+ curl -s "<url>" | grep -oE 'border-radius:[^;]+' | sort -u
662
665
  ```
663
666
  4. Generate a `.picasso.md` config that matches the extracted aesthetic
664
667
  5. Optionally generate a DESIGN.md based on the extraction
@@ -886,7 +889,7 @@ Run Stylelint + grep-based checks to find design system violations:
886
889
  grep -rn '#[0-9a-fA-F]\{3,8\}' --include="*.tsx" --include="*.jsx" --include="*.css" | grep -v 'node_modules\|\.git\|\.next' | head -30
887
890
 
888
891
  # 2. Find inconsistent spacing values (non-4px-multiple)
889
- grep -rn 'padding\|margin\|gap' --include="*.css" --include="*.tsx" | grep -oP '\d+px' | sort | uniq -c | sort -rn
892
+ grep -rn 'padding\|margin\|gap' --include="*.css" --include="*.tsx" | grep -oE '\d+px' | sort | uniq -c | sort -rn
890
893
 
891
894
  # 3. Find non-standard font stacks
892
895
  grep -rn 'font-family\|fontFamily' --include="*.css" --include="*.tsx" --include="*.jsx" | grep -v 'node_modules' | head -20
@@ -1078,7 +1081,7 @@ failed.forEach(a => console.log(' FAIL: ' + a.id + ' - ' + a.title));
1078
1081
 
1079
1082
  Combine results from all three tools, deduplicate overlapping findings, and report with severity levels.
1080
1083
 
1081
- ## /quick-audit -- 5-Minute Fast Audit
1084
+ ### /quick-audit -- 5-Minute Fast Audit
1082
1085
 
1083
1086
  When time is short or you need a triage before committing to a full audit. Takes 5 minutes, not 30.
1084
1087
 
@@ -1105,7 +1108,7 @@ Anti-Slop: FAIL ✗ (4 fingerprints: centered layout + uniform cards + indi
1105
1108
  Result: 3/6 — Needs work. Start with color and spacing.
1106
1109
  ```
1107
1110
 
1108
- ## /autorefine -- Binary Evaluation Loop
1111
+ ### /autorefine -- Binary Evaluation Loop
1109
1112
 
1110
1113
  Iterative improvement using binary (pass/fail) criteria. Inspired by SkillForge's autoresearch pattern that improved one skill from 56% to 92%.
1111
1114
 
@@ -1127,7 +1130,7 @@ Iterative improvement using binary (pass/fail) criteria. Inspired by SkillForge'
1127
1130
 
1128
1131
  4. **Re-evaluate all 6 criteria** after each mutation. Sometimes fixing one thing breaks another.
1129
1132
 
1130
- 5. **Iterate until 95%+ pass rate** (at least 6/6) across 3 consecutive evaluations. If a criterion keeps flipping between PASS and FAIL, the fix is unstable -- investigate root cause.
1133
+ 5. **Iterate until 6/6 pass** across 3 consecutive evaluations. If a criterion keeps flipping between PASS and FAIL, the fix is unstable -- investigate root cause.
1131
1134
 
1132
1135
  6. **Stop after 8 mutations maximum.** If you haven't hit 95% by then, the remaining issues are structural and need a `/redesign`, not incremental fixes.
1133
1136
 
package/bin/install.mjs CHANGED
@@ -42,24 +42,23 @@ const home = process.env.HOME || process.env.USERPROFILE;
42
42
  let skillDir;
43
43
  let agentDir;
44
44
 
45
- if (isGlobal) {
46
- skillDir = join(home, ".claude", "skills", "picasso");
47
- agentDir = join(home, ".claude", "agents");
45
+ // OpenClaw must be checked BEFORE generic isGlobal to handle --openclaw -g correctly
46
+ if (args.includes("--openclaw")) {
47
+ if (isGlobal) {
48
+ skillDir = join(home, ".openclaw", "skills", "picasso");
49
+ } else {
50
+ skillDir = join(process.cwd(), "skills", "picasso");
51
+ }
52
+ agentDir = null; // OpenClaw uses SOUL.md, not agents/
48
53
  } else if (args.includes("--cursor")) {
49
54
  skillDir = join(process.cwd(), ".cursor", "skills", "picasso");
50
55
  agentDir = null; // Cursor doesn't support agents
51
56
  } else if (args.includes("--codex")) {
52
57
  skillDir = join(home, ".codex", "skills", "picasso");
53
58
  agentDir = null;
54
- } else if (args.includes("--openclaw")) {
55
- // OpenClaw: skills live in workspace skills/ dir or ~/.openclaw/skills/
56
- const openclawGlobal = args.includes("--global") || args.includes("-g");
57
- if (openclawGlobal) {
58
- skillDir = join(home, ".openclaw", "skills", "picasso");
59
- } else {
60
- skillDir = join(process.cwd(), "skills", "picasso");
61
- }
62
- agentDir = null; // OpenClaw uses SOUL.md, not agents/
59
+ } else if (isGlobal) {
60
+ skillDir = join(home, ".claude", "skills", "picasso");
61
+ agentDir = join(home, ".claude", "agents");
63
62
  } else if (args.includes("--agents")) {
64
63
  skillDir = join(process.cwd(), ".agents", "skills", "picasso");
65
64
  agentDir = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "picasso-skill",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
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"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: picasso
3
- version: 2.0.1
3
+ version: 2.0.2
4
4
  description: >
5
5
  The ultimate frontend design and UI engineering skill. Use this whenever the user asks to build, design, style, or improve any web interface, component, page, application, dashboard, landing page, artifact, poster, or visual output. Covers typography, color systems, spatial design, motion/animation, interaction design, responsive layouts, sound design, haptic feedback, icon systems, generative art, theming, React best practices, and DESIGN.md system generation. Also use when the user asks to audit, critique, polish, simplify, animate, or normalize a frontend. Triggers on any mention of "make it look good," "fix the design," "UI," "UX," "frontend," "component," "landing page," "dashboard," "artifact," "poster," "design system," "theme," "animation," "responsive," or any request to improve visual quality. Use this skill even when the user does not explicitly ask for design help but the task involves producing a visual interface.
6
6
  metadata: