droid's install root (.factory) doesn't match its platform
identifier, the same mismatch pattern already covered for codex
(.agents). Extends the existing test cases rather than adding new
assertions.
The manual cp commands only synced cli/assets/, skipping the
.claude/skills/ui-ux-pro-max/ mirror that the sync-assets tooling
also updates. Following the doc literally left that copy stale
and would fail the "Check asset sync" CI check. Use the actual
npm run sync:assets script (as documented in CLAUDE.md) instead.
The star history chart in README.md and README.zh.md is currently broken and fails to render because of GitHub stargazer API restrictions. Point the chart and its link to a working endpoint so visitors can still see the project's growth over time.
Clarify that the full repository archive is not a Claude.ai skill upload artifact and direct Claude Code users to the supported Marketplace and CLI installation paths.\n\nCloses #235.
Adds a workflow that triggers on release published, checks out main,
updates the version field in skill.json, marketplace.json, and plugin.json
to match the release tag, then opens a PR automatically.
* feat(cli): add --global flag to update command and support --ai universal (#435, #436)
* fix(cli): support dist package.json resolution in update command
Click any StyleCard to open a full-screen modal showing the style applied
to 9 interactive phone UI controls (buttons, inputs, toggles, checkboxes,
radios, cards, badges, slider, nav bar) inside an iPhone mockup frame.
Co-authored-by: yongtang <jlinux@msn.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix(copilot): generate .prompt.md file for VS Code Copilot slash commands
VS Code Copilot requires reusable prompts to be files named
`<name>.prompt.md` directly in `.github/prompts/`. The previous
config generated `.github/prompts/ui-ux-pro-max/PROMPT.md` (a folder
with PROMPT.md inside), which is not recognized as a slash command.
Changes:
- copilot.json: set skillPath to 'prompts', filename to
'ui-ux-pro-max.prompt.md', add dataPath for data/scripts location
- copilot.json: use 'mode: agent' frontmatter (VS Code format) instead
of 'name' field
- template.ts: add dataPath support so data/scripts go to a separate
directory from the prompt file when configured
- template.ts: rewrite hardcoded script paths to platform-specific
scriptPath for platforms that differ from the default
- uninstall.ts: handle copilot-specific file layout during uninstall
After this fix, `uipro init --ai copilot` produces:
.github/prompts/ui-ux-pro-max.prompt.md (slash command file)
.github/prompts/ui-ux-pro-max/data/ (search database)
.github/prompts/ui-ux-pro-max/scripts/ (search engine)
* fix(copilot): apply prompt-file layout fix to canonical source template
Address review feedback on PR #328:
- Update src/ui-ux-pro-max/templates/platforms/copilot.json (source of
truth) with the same .prompt.md layout fix that was previously applied
only to the packaged CLI asset copy
- Sync cli/assets/templates/platforms/copilot.json byte-for-byte from
the source template (also fixes stale '15 technology stacks' count;
there are 16 stack CSVs)
Smoke check (uipro init --ai copilot --offline):
.github/prompts/ui-ux-pro-max.prompt.md (slash command, mode: agent)
.github/prompts/ui-ux-pro-max/data/ (search database)
.github/prompts/ui-ux-pro-max/scripts/ (search engine)
uninstall --ai copilot removes both the prompt file and data directory.
---------
Co-authored-by: vkayata <volkan.kayatas@mercedes-benz.com>
generate() ranked style, palette and anti-patterns independently, so a
dark-primary style could come back with a light palette and a
"Dark mode by default" anti-pattern in the same output. The palette is
what users copy into CSS variables, so the output shipped a light theme
with dark-theme styling instructions attached.
Resolve the mode first -- from the query keywords and the style's own
Light/Dark Mode columns -- then pick a palette whose Background matches
it and drop mode-contradicting anti-pattern clauses.
Only the dark case filters palettes. Light keeps the existing top-hit
behaviour so queries that never mention a mode are untouched, and dark
falls back to the top hit when colors.csv has no dark ramp for the
product type.
Adds scripts/tests/test_design_system_mode.py (stdlib unittest, matching
test_core.py) and syncs cli/assets + .claude/skills via sync-assets.mjs.
Step 1 of the workflow told the agent the stack was always React Native
("this project's only tech stack"), a leftover from the skill's origin as
a React Native project. In a generic skill this actively misleads: agents
pick React Native guidance for web, Flutter or desktop work, and skip the
matching `--stack` file entirely.
Replace it with stack inference plus an explicit platform question, and
point at the Available Stacks list so the right rules get loaded.
Also flags that several rule sections are scoped to App UI, so mobile-only
concerns (safe areas, haptics, bottom nav, Dynamic Type) are not applied
to desktop-web work.
Co-authored-by: decilapdenis <decilapdenis@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The description strings still reported 161 color palettes, 73 font
pairings, 99 UX guidelines, and 17 tech stacks -- numbers that predate
the current data set. README.md and .claude-plugin/plugin.json already
report the correct counts (192 palettes, 74 pairings, 98 guidelines,
22 stacks); this brings the two remaining stale files in line.
A ready-to-use Claude Code environment for website design, bundling:
- .mcp.json: Playwright + Chrome DevTools + shadcn MCP servers
- CLAUDE.md: the design loop (plan -> commit to a look -> build -> screenshot -> review)
- .claude/agents/design-review.md: 7-phase design-review subagent (WCAG AA, responsive)
- .claude/commands: /design-review, /design-plan
- scripts/design-audit.mjs: standalone multi-viewport screenshot + heuristic audit
- .github/workflows/design-review.yml: CI design gate (template)
- docs/: STACK, SETUP, WORKFLOW
- examples/juniper-audit/: a real audit run (report + 6 viewport screenshots)
Pairs with the ui-ux-pro-max skill (knowledge layer) and the official
frontend-design plugin (taste layer). Lives on its own branch as a
self-contained starter; copy stack/ out to seed a standalone repo.
Co-authored-by: Claude <noreply@anthropic.com>
Merged by github-maintain cron. Approved by @clark-cant and @jizc. Pre-existing pytest failure on main (ui-styling/shadcn test) is unrelated to PR scope.
Addresses the behavioral patterns that plausibly triggered the Gen
(Agent Trust Hub) High Risk rating on skills.sh, without changing
runtime functionality:
- Prerequisites no longer instruct agents to run sudo/brew/apt/winget
install commands; agents must ask the user to install Python instead
(SKILL.md, skill-content.md template, README.md, README.zh.md)
- Soften coercive invocation language ("Must Use" -> "Primary Use
Cases") and replace keyword-stuffed frontmatter descriptions with
factual ones (SKILL.md, quick-reference.md, claude/droid.json,
plugin.json)
- Remove design.csv, draft.csv and _sync_all.py: unused by the runtime
(not registered in core.py CSV_CONFIG) and containing prompt-shaped
"System Prompt: ... You are ..." blocks that read as injection risk
- Fix path traversal in --persist: new safe_slug() restricts project
and page names to [a-z0-9_-], so ../ in -p/--page can no longer
escape the design-system/ output folder
Verified: validate-csv.py (35 files), smoke-domains (12/12),
smoke-stacks (22/22), check:assets in sync, persist traversal attempt
stays confined.
Co-authored-by: Andras Polgar <5525341+ruredi@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
- Add SECURITY.md and CODE_OF_CONDUCT.md (community health was at 50%)
- Add bug/feature issue templates and a PR template
- Wire the existing pytest suite under .claude/skills/*/scripts/tests into
a new CI workflow; the test docstrings claimed "the existing pytest CI
runs them" but no workflow actually did
- Add @playwright/test to cli/ with a smoke test that loads the shipped
preview/xiaomaomi-app.html and asserts no console errors
- Fix a malformed SVG path (invalid `d` attribute) in
preview/xiaomaomi-app.html found by that new test, replacing it with
the equivalent valid paw icon path already used elsewhere in the file
- add CSV structural validation and all-domain smoke tests
- repair malformed CSV rows in source and bundled CLI assets
- run data validation in CI and prepublish checks
- add npm build wrapper with TypeScript fallback when Bun is unavailable
- fix CLI asset resolution for TypeScript fallback builds
PR #296 (feat/emil-motion-principles) independently registers a "motion"
domain key in CSV_CONFIG/detect_domain for motion-principles.csv (37
design-principle rows). Both PRs adding the same dict key would cause
one to silently overwrite the other's domain registration if merged
independently, per the automated review on this PR.
The two domains are complementary, not duplicate (design principles vs.
ready-to-use GSAP code snippets), so this renames this PR's domain from
"motion" to "gsap" - a more precise name given every row is GSAP-specific
implementation code. The --motion CLI dial and its "Subtle/Standard/
Complex" tiers are unaffected (unrelated to the domain key; only the
`--domain gsap` search endpoint and its internal lookup changed). No
regressions: --design-system output with no dials set remains
byte-identical to before this feature.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
STACK_CONFIG in src/ui-ux-pro-max/scripts/core.py defines 22 stacks,
but the Available stacks list in CLAUDE.md only listed 16, silently
omitting threejs, wpf, winui, avalonia, uno, and uwp.
cli/assets had fallen out of sync with src/ui-ux-pro-max ahead of this
change (unrelated to the motion-domain feature) - colors.csv, products.csv,
google-fonts.csv, draft.csv, several platform templates, and sub-skill
scripts/tests had all drifted. Ran the project's own `sync-assets.mjs`
to bring cli/assets back in line with the source of truth per the
documented Sync Rules; `--check` now reports assets as in sync.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds a new searchable `motion` domain (motion.csv, 16 GSAP animation
skeletons across hover/scroll-reveal/stagger/page-transition/parallax/
loading, each tagged Subtle/Standard/Complex) plus three optional 1-10
dials on `--design-system` — --variance, --motion, --density — inspired
by taste-skill's DESIGN_VARIANCE/MOTION_INTENSITY/VISUAL_DENSITY sliders.
- --variance biases style search/selection toward centered-minimal (low)
or bold-asymmetric (high) categories
- --motion attaches a matching GSAP snippet (code + framework notes +
do/don't) from motion.csv
- --density overrides the --space-* token scale in ASCII/markdown/MASTER.md
output (spacious <-> dense/dashboard)
All three dials are optional and additive; output with no dials set is
byte-identical to before (verified via regression diff). Synced into
.claude/skills/ui-ux-pro-max and cli/assets alongside src/ui-ux-pro-max
(source of truth) so all three installed copies stay consistent.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Added the comparison between Basic and Premium versions to the README. Users were asking about this difference in Issue #156, so I added it here to improve the documentation.
Add README.zh.md with complete Chinese translation
Add language switcher links in both README files
Support for 简体中文 / English bilingual access
Features:
- Full translation of all UI/UX style names and terminology
- Consistent industry-standard Chinese terms (玻璃拟态、粗野主义等)
- Language switcher with flag icons at the top of both files
- SaaS landing page with social proof, pricing, testimonials
- Healthcare analytics dashboard with charts and KPIs
- Portfolio website with dark mode and project grid
All built using ui-ux-pro-max design system recommendations.
https://claude.ai/code/session_01E4rdBvf1LWqQ1XMTic7NrU
Co-authored-by: Claude <noreply@anthropic.com>