ui-ux-master 1.2.1 → 1.5.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 +160 -209
- package/SKILL.md +89 -47
- package/docs/package-publishing.md +5 -3
- package/index.cjs +3 -1
- package/index.d.ts +1 -1
- package/index.mjs +4 -1
- package/package.json +4 -3
- package/references/brand-method-card-based-discovery.md +285 -0
- package/references/brand-method-conversion-simplicity.md +276 -0
- package/references/brand-method-ecosystem-bundling.md +263 -0
- package/references/brand-method-editorial-brand-world.md +265 -0
- package/references/brand-method-enterprise-trust-hub.md +298 -0
- package/references/brand-method-playful-familiarity.md +284 -0
- package/references/brand-method-premium-restraint.md +270 -0
- package/references/brand-method-product-cinema.md +258 -0
- package/references/brand-method-technical-authority.md +290 -0
- package/references/brand-method-utility-command-center.md +278 -0
- package/references/color-psychology-branding.md +286 -0
- package/references/color-scale-system.md +347 -0
- package/references/competitive-landscape.md +32 -6
- package/references/design-discovery-protocol.md +171 -0
- package/references/design-system-schema.md +407 -0
- package/references/industry-reasoning-rules.md +504 -0
- package/references/landing-page-patterns.md +327 -0
- package/references/output-quality-gates.md +246 -0
- package/references/tech-stack-guidelines.md +636 -0
- package/references/ui-styles-catalog.md +552 -0
- package/references/visual-directions.md +362 -0
- package/tests/install-smoke.test.mjs +93 -12
package/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-ux-master
|
|
3
3
|
description: "Use when an agent must design, audit, improve, prototype, specify, or hand off any UI/UX work end-to-end. Provides one-stop UX strategy, research, IA, flows, wireframes, visual design, design systems, accessibility, usability testing, conversion, and engineering handoff workflows."
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.5.0
|
|
5
5
|
author: Rupak Biswas
|
|
6
6
|
license: MIT
|
|
7
7
|
platforms: [linux, macos, windows]
|
|
@@ -23,32 +23,38 @@ The job is not only to make screens look good. The job is to solve the user's go
|
|
|
23
23
|
|
|
24
24
|
This skill is opt-in. In Codex, Claude, Windsurf, Antigravity, Gemini, Cursor, and other agents, activate it only when the user includes `/ui-ux-master` in the prompt or invokes the installed native slash command. If the user does not mention `/ui-ux-master`, do not apply this skill automatically.
|
|
25
25
|
|
|
26
|
-
When activated, the user can write naturally, for example: `/ui-ux-master audit this checkout flow` or `/ui-ux-master design a premium SaaS landing page`. Treat the rest of the prompt as the task and follow this SKILL.md plus the referenced files.
|
|
27
|
-
|
|
28
|
-
## AI Discovery and MCP
|
|
29
|
-
|
|
30
|
-
This package exposes the workflow through human-readable instructions and machine-readable discovery assets:
|
|
31
|
-
|
|
32
|
-
- `llms.txt` gives AI agents a short map of the package.
|
|
33
|
-
- `ai-discovery/ui-ux-master.manifest.json` describes activation, entrypoints, tools, resources, prompts, and supported agents.
|
|
34
|
-
- `system-prompts/` contains full, compact, and MCP-focused system prompt add-ons.
|
|
35
|
-
- `bin/ui-ux-master-mcp.mjs` runs a local read-only MCP server that exposes UI/UX Master tools, resources, and prompts.
|
|
36
|
-
|
|
26
|
+
When activated, the user can write naturally, for example: `/ui-ux-master audit this checkout flow` or `/ui-ux-master design a premium SaaS landing page`. Treat the rest of the prompt as the task and follow this SKILL.md plus the referenced files.
|
|
27
|
+
|
|
28
|
+
## AI Discovery and MCP
|
|
29
|
+
|
|
30
|
+
This package exposes the workflow through human-readable instructions and machine-readable discovery assets:
|
|
31
|
+
|
|
32
|
+
- `llms.txt` gives AI agents a short map of the package.
|
|
33
|
+
- `ai-discovery/ui-ux-master.manifest.json` describes activation, entrypoints, tools, resources, prompts, and supported agents.
|
|
34
|
+
- `system-prompts/` contains full, compact, and MCP-focused system prompt add-ons.
|
|
35
|
+
- `bin/ui-ux-master-mcp.mjs` runs a local read-only MCP server that exposes UI/UX Master tools, resources, and prompts.
|
|
36
|
+
|
|
37
37
|
Use MCP and system prompt add-ons only as discovery/activation layers. The workflow remains opt-in and should still require `/ui-ux-master` unless the user explicitly asks to use UI/UX Master.
|
|
38
38
|
|
|
39
39
|
## Core Operating Rule
|
|
40
40
|
|
|
41
41
|
Do not jump directly to visuals. Work in this order unless the user explicitly asks for a narrow task:
|
|
42
42
|
|
|
43
|
-
1.
|
|
44
|
-
2.
|
|
45
|
-
3.
|
|
46
|
-
4.
|
|
47
|
-
5.
|
|
48
|
-
6.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
1. **Discovery first.** Load `references/design-discovery-protocol.md`. For any new design task, run the 6-question discovery form before producing any visual output. Lock down: surface, audience, tone, brand context, fidelity, and constraints.
|
|
44
|
+
2. **Brand extraction or visual direction.** If the user provides brand assets (URL, screenshot, hex codes), run the 5-step brand extraction protocol from `references/design-discovery-protocol.md` and write a brand-spec summary. If there is no brand, load `references/visual-directions.md`, present the 5 directions, and bind the selected direction's token block as the baseline. Never invent or guess brand colors from a company name alone.
|
|
45
|
+
3. **Check project memory.** Look for `.ui-ux-memory.md` at the project root. If it exists, read all 9 sections (schema defined in `references/design-system-schema.md`) before designing. If it does not exist, create it using the schema after discovery completes.
|
|
46
|
+
4. Understand the product, users, goal, platform, constraints, evidence available, research confidence, and success metric.
|
|
47
|
+
5. Define the UX model: audience, jobs-to-be-done, journeys, service touchpoints, information architecture, flows, states, and content.
|
|
48
|
+
6. **Industry reasoning.** Load `references/industry-reasoning-rules.md`. Match the user's product to an industry category and output the full Design System Block (pattern + style + colors + typography + effects + anti-patterns) in one step before designing.
|
|
49
|
+
6a. Select an appropriate top-brand design method when frontend polish is requested. Load the corresponding brand-method skill file from references/: `references/brand-method-product-cinema.md`, `references/brand-method-utility-command-center.md`, `references/brand-method-editorial-brand-world.md`, `references/brand-method-enterprise-trust-hub.md`, `references/brand-method-card-based-discovery.md`, `references/brand-method-conversion-simplicity.md`, `references/brand-method-ecosystem-bundling.md`, `references/brand-method-premium-restraint.md`, `references/brand-method-playful-familiarity.md`, or `references/brand-method-technical-authority.md`.
|
|
50
|
+
6b. Apply color psychology: load `references/color-psychology-branding.md`, identify the industry and sentiment, prescribe a complete palette with contrast ratios and rationale before any visual design begins. Use `references/color-scale-system.md` to generate full 11-step (50–950) OKLch color scales for the brand primary, neutral, and all semantic colors.
|
|
51
|
+
6c. Select a UI style from `references/ui-styles-catalog.md`. Apply the style's token overrides on top of the visual direction baseline.
|
|
52
|
+
7. **Junior designer warm-up.** For high-fidelity requests, show a wireframe sketch (grey blocks, real layout) first. Confirm direction before applying brand and polish. Skip if the user explicitly requests final output or provides a detailed reference.
|
|
53
|
+
8. Design the interface by extending the established brand/direction baseline. Apply only tokens from the schema — no ad-hoc magic values. Apply stack-specific rules from `references/tech-stack-guidelines.md` for the user's chosen framework. For landing pages and marketing pages, follow the appropriate conversion pattern from `references/landing-page-patterns.md`. For dashboards, use the chart type guide in that same file.
|
|
54
|
+
9. **Quality gates before any emit.** Load `references/output-quality-gates.md`. Run the 5-dimensional self-critique (philosophy/hierarchy/execution/specificity/restraint), pass all P0 hard gates, and clear the anti-slop blacklist. Fix and rescore until all dimensions ≥ 3. Do not emit output until all gates pass.
|
|
55
|
+
10. Validate: consistency with memory, research evidence, heuristics, WCAG, platform conventions, usability risks, i18n, ethics/privacy, edge cases, technical feasibility, metrics, and brand-fit.
|
|
56
|
+
11. Update `.ui-ux-memory.md` with any new durable design decisions before handoff.
|
|
57
|
+
12. Hand off: exact specs, tokens, component behavior, copy, states, QA checklist, implementation notes.
|
|
52
58
|
|
|
53
59
|
## When to Use
|
|
54
60
|
|
|
@@ -456,36 +462,52 @@ Must include:
|
|
|
456
462
|
|
|
457
463
|
### Top-Brand Frontend Method
|
|
458
464
|
|
|
459
|
-
When the user asks for a frontend that looks polished, premium, world-class, or similar to top brands, use `references/top-100-brand-website-analysis.md` before designing.
|
|
465
|
+
When the user asks for a frontend that looks polished, premium, world-class, or similar to top brands, use `references/top-100-brand-website-analysis.md` before designing. Then load the dedicated skill file for the selected method.
|
|
460
466
|
|
|
461
467
|
Process:
|
|
462
468
|
|
|
463
469
|
1. Identify the product category and user task.
|
|
464
|
-
2. Pick one primary method and one or two supporting methods:
|
|
465
|
-
- Product Cinema
|
|
466
|
-
- Utility Command Center
|
|
467
|
-
- Editorial Brand World
|
|
468
|
-
- Enterprise Trust Hub
|
|
469
|
-
- Card-Based Discovery
|
|
470
|
-
- Conversion Simplicity
|
|
471
|
-
- Ecosystem Bundling
|
|
472
|
-
- Premium Restraint
|
|
473
|
-
- Playful Familiarity
|
|
474
|
-
- Technical Authority
|
|
475
|
-
3.
|
|
476
|
-
4.
|
|
477
|
-
5.
|
|
470
|
+
2. Pick one primary method and one or two supporting methods. Load the corresponding brand-method skill file for full layout, color, typography, spacing, motion, accessibility, and component specs:
|
|
471
|
+
- **Product Cinema** → `references/brand-method-product-cinema.md` — premium products, hardware, automotive, luxury.
|
|
472
|
+
- **Utility Command Center** → `references/brand-method-utility-command-center.md` — ecommerce, logistics, booking, dashboards.
|
|
473
|
+
- **Editorial Brand World** → `references/brand-method-editorial-brand-world.md` — fashion, sports, beverage, entertainment.
|
|
474
|
+
- **Enterprise Trust Hub** → `references/brand-method-enterprise-trust-hub.md` — B2B SaaS, finance, healthcare, industrial.
|
|
475
|
+
- **Card-Based Discovery** → `references/brand-method-card-based-discovery.md` — marketplaces, media, travel, catalogs.
|
|
476
|
+
- **Conversion Simplicity** → `references/brand-method-conversion-simplicity.md` — signup, trial, subscription, fintech flows.
|
|
477
|
+
- **Ecosystem Bundling** → `references/brand-method-ecosystem-bundling.md` — multi-product suites, plan comparison.
|
|
478
|
+
- **Premium Restraint** → `references/brand-method-premium-restraint.md` — ultra-luxury, high-end finance, premium services.
|
|
479
|
+
- **Playful Familiarity** → `references/brand-method-playful-familiarity.md` — food, toys, family, consumer brands.
|
|
480
|
+
- **Technical Authority** → `references/brand-method-technical-authority.md` — AI, developer tools, semiconductors, infra.
|
|
481
|
+
3. Apply color psychology: load `references/color-psychology-branding.md` to validate and prescribe the palette for the business type and emotional goal. Output the full palette before any visual design.
|
|
482
|
+
4. Translate the selected methods into original tokens, layout rules, components, states, and copy.
|
|
483
|
+
5. Never copy a brand exactly unless the user owns that brand. Avoid logos, proprietary images, exact trademark color combinations, and pixel-for-pixel layouts.
|
|
484
|
+
6. Preserve accessibility and usability even when using cinematic, luxury, or experimental layouts.
|
|
478
485
|
|
|
479
486
|
Deliverable additions:
|
|
480
487
|
|
|
488
|
+
- Brand method selected (with rationale).
|
|
489
|
+
- Color psychology palette (business type, emotional goal, full hex palette, contrast ratios).
|
|
481
490
|
- Brand-inspiration blend.
|
|
482
|
-
- Selected method rationale.
|
|
483
491
|
- Layout archetype.
|
|
484
492
|
- Token direction.
|
|
485
493
|
- Component behavior.
|
|
486
494
|
- Accessibility safeguards.
|
|
487
495
|
- Anti-copy/IP safety note.
|
|
488
496
|
|
|
497
|
+
### Color Psychology and Branding
|
|
498
|
+
|
|
499
|
+
When a user describes a product, business type, UI feel, or audience, load `references/color-psychology-branding.md` before prescribing any colors.
|
|
500
|
+
|
|
501
|
+
Process:
|
|
502
|
+
|
|
503
|
+
1. Identify: business category, emotional goal (trust/energy/calm/luxury/health/play/authority/innovation), positioning (mass/premium/luxury).
|
|
504
|
+
2. Look up the industry prescription and sentiment mapping in the reference file.
|
|
505
|
+
3. Output the complete palette: primary, secondary, accent/CTA, background, surface, text primary, text secondary, border, semantic success/warning/error/info, and dark mode variant if needed.
|
|
506
|
+
4. State the psychological rationale for each choice.
|
|
507
|
+
5. Warn of anti-patterns for this category.
|
|
508
|
+
6. Verify all text-on-background combinations against WCAG 2.2 AA (4.5:1 body, 3:1 large text/UI).
|
|
509
|
+
7. Include this palette in the `.ui-ux-memory.md` and all handoff specs.
|
|
510
|
+
|
|
489
511
|
### Frontend Implementation UX
|
|
490
512
|
|
|
491
513
|
When implementing UI, first load and follow `references/ui-ux-frontend-implementation-rules.md`. Treat it as the non-negotiable frontend implementation checklist.
|
|
@@ -704,7 +726,27 @@ Use the supporting files in this skill folder when useful:
|
|
|
704
726
|
- `references/ui-ux-frontend-implementation-rules.md` — mandatory frontend implementation rules so agents do not miss stack inspection, states, accessibility, responsiveness, tokens, QA, or handoff.
|
|
705
727
|
- `references/wcag-aa-quick-reference.md` — practical WCAG 2.2 AA reference for agents.
|
|
706
728
|
- `references/design-system-playbook.md` — how to create or extend a design system.
|
|
729
|
+
- `references/ui-styles-catalog.md` — 20+ named UI styles (Glassmorphism, Liquid Glass, Data Brutalism, Aurora Borealis, AI-Native UI, Spatial UI, Cyberpunk, Claymorphism, Bento Grid, Soft UI Evolution, and more) with token overrides, required effects, forbidden patterns, and a style selection decision tree.
|
|
730
|
+
- `references/color-scale-system.md` — 11-step (50–950) OKLch architectural color scales for all brand hue families and semantic states. Semantic role-to-step mapping and dark mode overrides. Full px+rem typography scale.
|
|
731
|
+
- `references/industry-reasoning-rules.md` — one-step reasoning engine: input a product description, output a complete Design System Block (pattern, style, colors, typography, effects, anti-patterns, pre-delivery checklist) for 15+ industry categories.
|
|
732
|
+
- `references/tech-stack-guidelines.md` — stack-specific component patterns, rules, and common AI mistakes for 16 frameworks: React, Next.js, Vue, Nuxt, Angular, Svelte, Astro, Remix, SolidJS, React Native, Flutter, SwiftUI, shadcn/ui, Jetpack Compose, Laravel, HTML+Tailwind.
|
|
733
|
+
- `references/landing-page-patterns.md` — 12 named conversion patterns (Hero-Centric, Problem-Solution, Product Demo First, Comparison, etc.) with section-by-section structure. Plus 25-type chart selection guide with dashboard layout rules and data visualization anti-patterns.
|
|
734
|
+
- `references/design-discovery-protocol.md` — 6-question discovery form, brand extraction 5-step protocol, junior designer warm-up, and discovery checklist. Load at the start of every new design task.
|
|
735
|
+
- `references/output-quality-gates.md` — 5-dimensional self-critique (philosophy/hierarchy/execution/specificity/restraint), P0/P1/P2 hard gates, anti-AI-slop blacklist, and honest placeholder protocol. Run before every design emit.
|
|
736
|
+
- `references/visual-directions.md` — 5 fully-specified OKLch token directions (Neutral Modern, Dark Technical, Warm Editorial, Bold Energetic, Calm Trust) for projects with no brand. Each direction includes complete CSS token block ready to bind.
|
|
737
|
+
- `references/design-system-schema.md` — portable 9-section design system schema (color, typography, spacing, layout, components, motion, voice, brand, anti-patterns). Use as the template for all `.ui-ux-memory.md` files.
|
|
707
738
|
- `references/top-100-brand-website-analysis.md` — top global brand website patterns and reusable frontend methods.
|
|
739
|
+
- `references/brand-method-product-cinema.md` — full layout, color, typography, spacing, motion, accessibility, and component spec for the Product Cinema design method.
|
|
740
|
+
- `references/brand-method-utility-command-center.md` — full spec for the Utility Command Center design method.
|
|
741
|
+
- `references/brand-method-editorial-brand-world.md` — full spec for the Editorial Brand World design method.
|
|
742
|
+
- `references/brand-method-enterprise-trust-hub.md` — full spec for the Enterprise Trust Hub design method.
|
|
743
|
+
- `references/brand-method-card-based-discovery.md` — full spec for the Card-Based Discovery design method.
|
|
744
|
+
- `references/brand-method-conversion-simplicity.md` — full spec for the Conversion Simplicity design method.
|
|
745
|
+
- `references/brand-method-ecosystem-bundling.md` — full spec for the Ecosystem Bundling design method.
|
|
746
|
+
- `references/brand-method-premium-restraint.md` — full spec for the Premium Restraint design method.
|
|
747
|
+
- `references/brand-method-playful-familiarity.md` — full spec for the Playful Familiarity design method.
|
|
748
|
+
- `references/brand-method-technical-authority.md` — full spec for the Technical Authority design method.
|
|
749
|
+
- `references/color-psychology-branding.md` — color psychology, industry palette prescriptions, sentiment-to-palette mapping, contrast verification, and dark mode adaptation rules.
|
|
708
750
|
- `references/ux-research-methods.md` — research planning, method selection, evidence confidence, and ethical research rules.
|
|
709
751
|
- `references/usability-heuristics.md` — heuristic review, cognitive rules, and severity scoring.
|
|
710
752
|
- `references/platform-guidelines.md` — web, iOS, Android/Material, Windows, desktop, kiosk, email, TV, and cross-platform rules.
|
|
@@ -716,16 +758,16 @@ Use the supporting files in this skill folder when useful:
|
|
|
716
758
|
- `references/accessibility-advanced-patterns.md` — complex widget accessibility and screen-reader test matrix.
|
|
717
759
|
- `references/ui-ux-curriculum-and-standards.md` — basic-to-advanced UI/UX curriculum and standards map.
|
|
718
760
|
- `references/competitive-landscape.md` — competitor gaps and strategy for staying ahead.
|
|
719
|
-
- `docs/slash-command-compatibility.md` — cross-agent `/ui-ux-master` trigger compatibility.
|
|
720
|
-
- `docs/mcp-server.md` — MCP tools, resources, prompts, client configs, and smoke testing.
|
|
721
|
-
- `llms.txt` — AI-readable package map for discovery by agents and indexing tools.
|
|
722
|
-
- `ai-discovery/ui-ux-master.manifest.json` — machine-readable manifest for activation, entrypoints, MCP, and capabilities.
|
|
723
|
-
- `system-prompts/ui-ux-master-system-add-on.md` — full system prompt add-on.
|
|
724
|
-
- `system-prompts/ui-ux-master-compact.md` — compact system prompt add-on.
|
|
725
|
-
- `system-prompts/ui-ux-master-mcp-add-on.md` — MCP-focused system prompt add-on.
|
|
726
|
-
- `agent-templates/` — Claude, Codex, Windsurf, Antigravity, Gemini, Cursor, and universal installer templates.
|
|
727
|
-
- `bin/ui-ux-master.mjs` — npm CLI installer.
|
|
728
|
-
- `bin/ui-ux-master-mcp.mjs` — local read-only MCP server.
|
|
761
|
+
- `docs/slash-command-compatibility.md` — cross-agent `/ui-ux-master` trigger compatibility.
|
|
762
|
+
- `docs/mcp-server.md` — MCP tools, resources, prompts, client configs, and smoke testing.
|
|
763
|
+
- `llms.txt` — AI-readable package map for discovery by agents and indexing tools.
|
|
764
|
+
- `ai-discovery/ui-ux-master.manifest.json` — machine-readable manifest for activation, entrypoints, MCP, and capabilities.
|
|
765
|
+
- `system-prompts/ui-ux-master-system-add-on.md` — full system prompt add-on.
|
|
766
|
+
- `system-prompts/ui-ux-master-compact.md` — compact system prompt add-on.
|
|
767
|
+
- `system-prompts/ui-ux-master-mcp-add-on.md` — MCP-focused system prompt add-on.
|
|
768
|
+
- `agent-templates/` — Claude, Codex, Windsurf, Antigravity, Gemini, Cursor, and universal installer templates.
|
|
769
|
+
- `bin/ui-ux-master.mjs` — npm CLI installer.
|
|
770
|
+
- `bin/ui-ux-master-mcp.mjs` — local read-only MCP server.
|
|
729
771
|
- `templates/ui-ux-brief.md` — intake and requirements template.
|
|
730
772
|
- `templates/ui-ux-memory.md` — project UI/UX memory file template to copy into an application root as `.ui-ux-memory.md`.
|
|
731
773
|
- `templates/ui-ux-audit-report.md` — audit output template.
|
|
@@ -21,9 +21,9 @@ The GitHub "No packages published" message does not mean the npmjs package is br
|
|
|
21
21
|
|
|
22
22
|
## GitHub Packages Setup
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
The root `.npmrc` intentionally configures only the `@seance1723` scope. It does not change the default registry, so normal `npm install ui-ux-master` and `npm publish` for the unscoped npmjs package still use npmjs.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Scoped GitHub Packages configuration:
|
|
27
27
|
|
|
28
28
|
```ini
|
|
29
29
|
@seance1723:registry=https://npm.pkg.github.com
|
|
@@ -36,13 +36,15 @@ Local install from GitHub Packages:
|
|
|
36
36
|
npm install @seance1723/ui-ux-master --registry=https://npm.pkg.github.com
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
Many GitHub Packages installs require authentication. Use a token with `read:packages` for installs and `write:packages` for publishing.
|
|
40
|
+
|
|
39
41
|
## Secrets
|
|
40
42
|
|
|
41
43
|
Add these repository secrets:
|
|
42
44
|
|
|
43
45
|
- `NPM_TOKEN` - npm automation token with publish access to `ui-ux-master`.
|
|
44
46
|
|
|
45
|
-
GitHub Packages publishing uses the built-in `GITHUB_TOKEN` in Actions.
|
|
47
|
+
GitHub Packages publishing uses the built-in `GITHUB_TOKEN` in Actions. The workflow temporarily changes the package name to `@seance1723/ui-ux-master` only for that publish job, then publishes to `https://npm.pkg.github.com/`. Do not permanently rename the root package unless you intentionally want to migrate away from the public unscoped npmjs package.
|
|
46
48
|
|
|
47
49
|
## Release Strategy
|
|
48
50
|
|
package/index.cjs
CHANGED
|
@@ -4,8 +4,10 @@ const path = require('node:path');
|
|
|
4
4
|
|
|
5
5
|
const packageRoot = __dirname;
|
|
6
6
|
|
|
7
|
+
const _pkg = require('./package.json');
|
|
8
|
+
|
|
7
9
|
const name = 'ui-ux-master';
|
|
8
|
-
const version =
|
|
10
|
+
const version = _pkg.version;
|
|
9
11
|
const trigger = '/ui-ux-master';
|
|
10
12
|
|
|
11
13
|
const bins = Object.freeze({
|
package/index.d.ts
CHANGED
package/index.mjs
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
3
4
|
|
|
4
5
|
const packageRoot = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const _require = createRequire(import.meta.url);
|
|
7
|
+
const _pkg = _require('./package.json');
|
|
5
8
|
|
|
6
9
|
export const name = 'ui-ux-master';
|
|
7
|
-
export const version =
|
|
10
|
+
export const version = _pkg.version;
|
|
8
11
|
export const trigger = '/ui-ux-master';
|
|
9
12
|
|
|
10
13
|
export const bins = Object.freeze({
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ui-ux-master",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Opt-in UI/UX master skill, CLI, and MCP server for AI coding agents, with accessibility, design-system, UX research, and frontend handoff workflows.",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"packageManager": "npm@
|
|
6
|
+
"packageManager": "npm@10.9.2",
|
|
7
7
|
"main": "./index.cjs",
|
|
8
8
|
"module": "./index.mjs",
|
|
9
9
|
"types": "./index.d.ts",
|
|
@@ -47,12 +47,13 @@
|
|
|
47
47
|
"scripts": {
|
|
48
48
|
"validate": "python scripts/validate_skill.py --release",
|
|
49
49
|
"validate:release": "python scripts/validate_skill.py --release",
|
|
50
|
+
"build": "npm run check:syntax",
|
|
50
51
|
"check:syntax": "node --check index.mjs && node --check index.cjs && node --check bin/ui-ux-master.mjs && node --check bin/ui-ux-master-mcp.mjs",
|
|
51
52
|
"doctor": "node bin/ui-ux-master.mjs doctor --dry-run",
|
|
52
53
|
"test": "npm run test:smoke",
|
|
53
54
|
"test:smoke": "npm run check:syntax && npm run doctor",
|
|
54
55
|
"test:node": "node --test tests/*.test.mjs",
|
|
55
|
-
"ci": "npm run validate && npm run test:smoke && npm run test:node",
|
|
56
|
+
"ci": "npm run validate && npm run build && npm run test:smoke && npm run test:node",
|
|
56
57
|
"release:check": "npm run ci && npm run pack:dry-run",
|
|
57
58
|
"pack:dry-run": "npm pack --dry-run",
|
|
58
59
|
"prepack": "npm run validate && npm test",
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# Brand Method: Card-Based Discovery
|
|
2
|
+
|
|
3
|
+
Use this skill when building for marketplaces, media platforms, travel aggregators, content libraries, product catalogs, rental platforms, or any context where the user browses, saves, and discovers from a large collection.
|
|
4
|
+
|
|
5
|
+
Reference brands: Airbnb, YouTube, Spotify, Netflix, Disney+, LEGO, Nintendo, Booking.com listings, Etsy, Pinterest.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## When to Apply This Method
|
|
10
|
+
|
|
11
|
+
Apply Card-Based Discovery when:
|
|
12
|
+
- The product is a catalog, marketplace, or content library.
|
|
13
|
+
- Users browse, save, filter, and compare rather than searching for one specific item.
|
|
14
|
+
- The value proposition is breadth: "there's always something for you."
|
|
15
|
+
- Discovery and serendipity are core to the experience.
|
|
16
|
+
|
|
17
|
+
Do not apply when:
|
|
18
|
+
- Users arrive with a specific known item in mind (use Utility Command Center).
|
|
19
|
+
- The brand has a single product hero (use Product Cinema).
|
|
20
|
+
- The primary goal is subscription sign-up (use Conversion Simplicity).
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Layout Structure
|
|
25
|
+
|
|
26
|
+
### Hero / Entry Point
|
|
27
|
+
- Not a full-screen hero — the card grid IS the value proposition.
|
|
28
|
+
- Compact hero: search bar, category tabs, or personalized greeting with immediate content below.
|
|
29
|
+
- Alternative: carousel or featured editorial band (1-3 items), then immediate card grid.
|
|
30
|
+
- Call to action: "Browse [Category]" or personalized "Continue Watching / Listening / Exploring."
|
|
31
|
+
|
|
32
|
+
### Card Grid
|
|
33
|
+
- Primary layout pattern.
|
|
34
|
+
- Grid: responsive, 2-6 columns depending on card type and screen.
|
|
35
|
+
- Card rows: grouped by category, mood, recommendation engine, or curator picks.
|
|
36
|
+
- Section headings above each row with optional "See all →" link.
|
|
37
|
+
- Horizontal scroll rows for mobile (swipe gesture expected).
|
|
38
|
+
|
|
39
|
+
### Filter and Sort Controls
|
|
40
|
+
- Persistent or collapsible filter panel.
|
|
41
|
+
- Filter types: category, price/rating range, location, date, availability, mood/genre.
|
|
42
|
+
- Active filter chips shown above results — easy to clear individually or all.
|
|
43
|
+
- Sort: relevance, price, rating, newest, most popular.
|
|
44
|
+
|
|
45
|
+
### Card Types
|
|
46
|
+
Define at least one primary card type per context:
|
|
47
|
+
- **Content card**: thumbnail (16:9 or 1:1), title, creator/source, metadata (duration, views, rating).
|
|
48
|
+
- **Product card**: image, name, price, rating, badge (deal, new, bestseller).
|
|
49
|
+
- **Place/listing card**: image (4:3), name, location, rating, price/night, favorite icon.
|
|
50
|
+
- **Media card**: album art, title, artist/show, play button.
|
|
51
|
+
|
|
52
|
+
### Detail Page
|
|
53
|
+
- Hero: large image or media player.
|
|
54
|
+
- Primary action: "Play", "Book", "Add to Cart", "Save."
|
|
55
|
+
- Metadata: ratings, description, related tags.
|
|
56
|
+
- Recommendation section: "More like this", "Because you watched/liked."
|
|
57
|
+
- Reviews (if applicable): summary + individual reviews.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Color Scheme
|
|
62
|
+
|
|
63
|
+
### Palette by Sub-category
|
|
64
|
+
|
|
65
|
+
**Travel Marketplace (Airbnb)**
|
|
66
|
+
- Background: `#FFFFFF`
|
|
67
|
+
- Primary: `#FF385C` (coral/brand)
|
|
68
|
+
- Surface: `#F7F7F7`
|
|
69
|
+
- Text: `#222222`
|
|
70
|
+
- Secondary text: `#717171`
|
|
71
|
+
- Border: `#DDDDDD`
|
|
72
|
+
- Map accent: brand coral
|
|
73
|
+
- Favorite icon: `#FF385C`
|
|
74
|
+
|
|
75
|
+
**Streaming / Media (Netflix, Spotify)**
|
|
76
|
+
- Background: `#141414` (Netflix) or `#121212` (Spotify)
|
|
77
|
+
- Surface: `#1E1E1E` or `#282828`
|
|
78
|
+
- Primary text: `#FFFFFF`
|
|
79
|
+
- Secondary text: `#B3B3B3`
|
|
80
|
+
- Accent: `#E50914` (Netflix red) or `#1DB954` (Spotify green)
|
|
81
|
+
- Progress bar: accent color on dark track
|
|
82
|
+
|
|
83
|
+
**Family / Toys (LEGO, Disney, Nintendo)**
|
|
84
|
+
- Background: `#FFFFFF`
|
|
85
|
+
- Primary: Brand color (LEGO yellow `#FFD700` / red, Nintendo red `#E4000F`)
|
|
86
|
+
- Surface: `#F8F8F8`
|
|
87
|
+
- Text: `#1A1A1A`
|
|
88
|
+
- Secondary text: `#666666`
|
|
89
|
+
- Card border: `#EEEEEE`
|
|
90
|
+
- Accent / CTA: brand primary
|
|
91
|
+
|
|
92
|
+
**General Marketplace (Etsy)**
|
|
93
|
+
- Background: `#FFFFFF`
|
|
94
|
+
- Primary: `#F1641E` (Etsy orange)
|
|
95
|
+
- Surface: `#F4F4F4`
|
|
96
|
+
- Text: `#222222`
|
|
97
|
+
|
|
98
|
+
### Rules
|
|
99
|
+
- Dark surfaces: Spotify and Netflix — vivid accent pops against dark. Use sparingly.
|
|
100
|
+
- Light surfaces: marketplaces, travel — clean white lets imagery drive color.
|
|
101
|
+
- Card backgrounds must be neutral — let card content (images) provide color energy.
|
|
102
|
+
- Favorites / save icon: always high-contrast so users can find it.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Typography
|
|
107
|
+
|
|
108
|
+
### Scale
|
|
109
|
+
| Role | Size | Weight | Notes |
|
|
110
|
+
|---|---|---|---|
|
|
111
|
+
| Section heading | 18-24px | 600-700 | |
|
|
112
|
+
| Card title | 14-16px | 500-600 | 1-2 line clamp |
|
|
113
|
+
| Card metadata | 12-14px | 400 | Duration, views, rating |
|
|
114
|
+
| Price | 14-16px | 600 | Tabular numerals |
|
|
115
|
+
| Badge | 10-12px | 600-700 | All-caps, high contrast on brand color |
|
|
116
|
+
| Filter label | 13-14px | 500 | |
|
|
117
|
+
| CTA | 14-16px | 600 | |
|
|
118
|
+
| Hero headline (if any) | 28-40px | 700 | |
|
|
119
|
+
|
|
120
|
+
### Font Pairings
|
|
121
|
+
| Context | Font |
|
|
122
|
+
|---|---|
|
|
123
|
+
| Travel / marketplace | Cereal (Airbnb), Circular, or Inter |
|
|
124
|
+
| Streaming dark | Netflix Sans, or Inter/Roboto |
|
|
125
|
+
| Music | Circular, Montserrat, or Nunito |
|
|
126
|
+
| Family/toys | Nunito, Poppins, or Fredoka One |
|
|
127
|
+
|
|
128
|
+
### Rules
|
|
129
|
+
- Card titles must be readable at small sizes — minimum 14px.
|
|
130
|
+
- Use `line-clamp` to keep card grids uniform — never let one card blow the layout.
|
|
131
|
+
- Price: bold, tabular numerals, never ambiguous position on card.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Spacing System
|
|
136
|
+
|
|
137
|
+
| Token | Value | Use |
|
|
138
|
+
|---|---|---|
|
|
139
|
+
| `--space-xs` | 4px | Icon nudges, badge padding |
|
|
140
|
+
| `--space-sm` | 8px | Card inner gaps |
|
|
141
|
+
| `--space-md` | 12-16px | Card padding |
|
|
142
|
+
| `--space-lg` | 20-24px | Grid gutters |
|
|
143
|
+
| `--space-xl` | 32-40px | Section separation (heading to grid) |
|
|
144
|
+
| `--space-2xl` | 48-64px | Between major content sections |
|
|
145
|
+
|
|
146
|
+
- Grid gutter: 16-24px between cards. Smaller for media, larger for travel listings.
|
|
147
|
+
- Section separation: 32-48px between category rows.
|
|
148
|
+
- Cards must have consistent height within a row (use fixed aspect ratio on images).
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Motion and Interaction
|
|
153
|
+
|
|
154
|
+
### Card Interactions
|
|
155
|
+
- Hover: subtle shadow lift `box-shadow: 0 4px 16px rgba(0,0,0,0.15)`, image zoom `scale(1.03)` transition 200ms.
|
|
156
|
+
- Favorite/save button: heart icon fill animation on click (scale 1.2 → 1.0, 150ms).
|
|
157
|
+
- Play button overlay: appears on card hover with opacity transition.
|
|
158
|
+
- Carousel/row scroll: smooth scroll with momentum. Show scroll indicator or arrows at edges.
|
|
159
|
+
|
|
160
|
+
### Loading
|
|
161
|
+
- Always use skeleton screens for card grids — never blank areas.
|
|
162
|
+
- Skeleton: match exact card dimensions. Animate shimmer gradient left to right.
|
|
163
|
+
- Infinite scroll: load next batch 200px before viewport bottom. Show spinner at bottom.
|
|
164
|
+
|
|
165
|
+
### Transitions
|
|
166
|
+
- Page navigation: instant load with skeleton → content fade-in. No full-page loading spinners.
|
|
167
|
+
- Filter apply: instant result update with skeleton transition, never full page reload.
|
|
168
|
+
- Media player appear: slide-up from bottom (mobile) or smooth expand (desktop).
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Responsive Behavior
|
|
173
|
+
|
|
174
|
+
| Breakpoint | Key changes |
|
|
175
|
+
|---|---|
|
|
176
|
+
| Mobile 375px | Single column (1-2 cards wide). Horizontal scroll rows. Filter: bottom sheet. Search: full width. |
|
|
177
|
+
| Tablet 768px | 2-3 column grid. Horizontal scroll or pagination. Collapsible filter sidebar. |
|
|
178
|
+
| Desktop 1024px | 3-5 column grid. Persistent or toggle filter panel. |
|
|
179
|
+
| Wide 1440px+ | 4-6 columns for media/product cards. Max-width content container. |
|
|
180
|
+
|
|
181
|
+
- Mobile: horizontal scroll card rows (Netflix-style) are expected and usable.
|
|
182
|
+
- Mobile: filter is a full-screen bottom sheet with apply/clear buttons.
|
|
183
|
+
- Mobile: card images must be large enough to see detail (min 140px width).
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Accessibility Requirements
|
|
188
|
+
|
|
189
|
+
- Card: each card is a single interactive unit. Use `<article>` or `<li>`. Primary action (title link) is the main focus target.
|
|
190
|
+
- Favorite button: `aria-label="Save [Item Name]"` or `aria-pressed="true/false"`.
|
|
191
|
+
- Play button: `aria-label="Play [Title]"`.
|
|
192
|
+
- Rating stars: `aria-label="4.2 out of 5 stars"`.
|
|
193
|
+
- Carousel/row: `role="region"` with `aria-label="[Category Name]"`. Left/right scroll buttons keyboard accessible.
|
|
194
|
+
- Infinite scroll: announce new results with `aria-live="polite"` — "12 more results loaded."
|
|
195
|
+
- Filter: `<fieldset>` + `<legend>` per group. Active filters: each chip has a remove button with `aria-label="Remove [filter name] filter"`.
|
|
196
|
+
- Image thumbnails: `alt` describes the content (movie title, product name, property name).
|
|
197
|
+
- Dark streaming UI: ensure text-on-image thumbnails meet contrast. Provide text overlays only with scrim.
|
|
198
|
+
- Touch targets: card images, titles, and favorite buttons all ≥ 44×44px on mobile.
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## UX Principles for This Method
|
|
203
|
+
|
|
204
|
+
1. **Discovery over search.** Browsing should feel rewarding — "I didn't know I wanted that."
|
|
205
|
+
2. **Cards are atoms.** Every card must be independently scannable: image, title, key metadata in one glance.
|
|
206
|
+
3. **Personalization is the feature.** Surface what the user is likely to want next — recommendation rows are high-value real estate.
|
|
207
|
+
4. **Save and resume.** Favorites, watch later, saved searches — users leave and return. Meet them where they left off.
|
|
208
|
+
5. **Never lose the user in the grid.** Section headings, pagination, and "see all" links provide orientation.
|
|
209
|
+
6. **Fast first render.** Skeletons, lazy images, and fast first card row matter — the grid must feel instant.
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Component Specs
|
|
214
|
+
|
|
215
|
+
### Standard Card
|
|
216
|
+
```
|
|
217
|
+
Width: flexible (grid cell) — typically 200-320px
|
|
218
|
+
Image: aspect-ratio 16:9 (video/media), 1:1 (music/product), 4:3 (travel/place)
|
|
219
|
+
Image object-fit: cover
|
|
220
|
+
Title: 14-16px, font-weight 500-600, 2-line clamp
|
|
221
|
+
Metadata row: 12-13px, text-secondary
|
|
222
|
+
Price (if applicable): 14-16px, bold
|
|
223
|
+
Favorite button: absolute top-right, 36×36px, heart icon, background: white circle with shadow
|
|
224
|
+
Border-radius: 8-12px (travel/marketplace) | 4px (media) | 0 (ultra editorial)
|
|
225
|
+
Shadow: default none, hover: 0 4px 16px rgba(0,0,0,0.1)
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Category Section Row
|
|
229
|
+
```
|
|
230
|
+
Heading: 18-22px, font-weight 600, margin-bottom 12px
|
|
231
|
+
"See all" link: right-aligned, 14px, brand color
|
|
232
|
+
Horizontal scroll: overflow-x: scroll, scroll-snap-type: x mandatory
|
|
233
|
+
Scroll snapping: scroll-snap-align: start per card
|
|
234
|
+
Scrollbar: hidden (visually), accessible via keyboard
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Filter Bottom Sheet (Mobile)
|
|
238
|
+
```
|
|
239
|
+
Position: fixed bottom 0, full width
|
|
240
|
+
Height: auto, max-height 85vh, overflow-y: scroll
|
|
241
|
+
Background: white
|
|
242
|
+
Border-radius: 16px 16px 0 0
|
|
243
|
+
Handle bar: 4px × 32px, centered top, gray
|
|
244
|
+
Animation: slide up 250ms ease
|
|
245
|
+
Footer: "Apply Filters" (primary) + "Clear All" (ghost), sticky
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Skeleton Card
|
|
249
|
+
```
|
|
250
|
+
Background: var(--surface)
|
|
251
|
+
Image area: same aspect ratio as real card, background: linear-gradient shimmer
|
|
252
|
+
Title lines: 2 lines, height 14px, border-radius 4px, same shimmer
|
|
253
|
+
Animation: @keyframes shimmer, background-position shift 1.5s linear infinite
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Anti-Patterns to Avoid
|
|
259
|
+
|
|
260
|
+
- Do not show more than 6 items per horizontal scroll row before a "See all" link.
|
|
261
|
+
- Do not hide card metadata (price, rating, duration) until hover — mobile users cannot hover.
|
|
262
|
+
- Do not use infinite scroll without an easy way to get back to a specific position.
|
|
263
|
+
- Do not auto-play media in card hover on mobile.
|
|
264
|
+
- Do not use pagination alone without telling users how many total results exist.
|
|
265
|
+
- Do not load the full product catalog without filtering options.
|
|
266
|
+
- Do not use pop-up interstitials over the card grid.
|
|
267
|
+
- Do not make the save/favorite button so small it's untappable on mobile.
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## QA Checklist
|
|
272
|
+
|
|
273
|
+
- [ ] Card grid renders correctly at 375px, 768px, 1024px, 1440px.
|
|
274
|
+
- [ ] Skeleton cards shown while data loads.
|
|
275
|
+
- [ ] Infinite scroll loads next batch before hitting bottom.
|
|
276
|
+
- [ ] Filter updates results without full page reload.
|
|
277
|
+
- [ ] Active filter chips visible above results with individual remove buttons.
|
|
278
|
+
- [ ] Favorite button has `aria-label` with item name.
|
|
279
|
+
- [ ] Rating stars have accessible text alternative.
|
|
280
|
+
- [ ] Horizontal scroll rows keyboard navigable (arrow keys or tab).
|
|
281
|
+
- [ ] `aria-live` announces new results loaded.
|
|
282
|
+
- [ ] Mobile filter bottom sheet accessible and closeable via swipe or close button.
|
|
283
|
+
- [ ] All card images have meaningful `alt` text.
|
|
284
|
+
- [ ] Dark streaming UI: text-on-image contrast passes 4.5:1.
|
|
285
|
+
- [ ] No media autoplays on mobile.
|