plugin87/ux-ui-agent-skills
Turn Claude into a senior design architect: DTCG tokens, 50 components, WCAG 2.2 AA-AAA, 138 design systems, any-framework code, and 48 objective gates that fail the build instead of faking success.
ARCHETYPE
Skill Collector
Ten-plus skills loaded on demand. A procedural-knowledge library.
Copy this rig
# review before running: this installs third-party code $ claude mcp add figma -e FIGMA_<redacted> -- npx -y figma-developer-mcp --stdio $ claude mcp add notion -e NOTION_<redacted> -- npx -y @notionhq/notion-mcp-server $ npx degit plugin87/ux-ui-agent-skills/.claude ./rig-ux-ui-agent-skills # inspect, then merge into .claude/
MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.
$ claude mcp add figma -e FIGMA_<redacted> -- npx -y figma-developer-mcp --stdio $ claude mcp add notion -e NOTION_<redacted> -- npx -y @notionhq/notion-mcp-server
$ npx degit plugin87/ux-ui-agent-skills/.claude/skills/a11y-audit .claude/skills/a11y-audit $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/apply-aesthetic .claude/skills/apply-aesthetic $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/brandkit .claude/skills/brandkit $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/critique .claude/skills/critique $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/data-dashboard .claude/skills/data-dashboard $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/design-code .claude/skills/design-code $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/design-component .claude/skills/design-component $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/design-doctrine .claude/skills/design-doctrine $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/design-qa .claude/skills/design-qa $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/design-review .claude/skills/design-review $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/design-screen .claude/skills/design-screen $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/design-tokens .claude/skills/design-tokens $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/figma-integration .claude/skills/figma-integration $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/gate .claude/skills/gate $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/governance .claude/skills/governance $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/grill-me .claude/skills/grill-me $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/image-to-code .claude/skills/image-to-code $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/migrate-design-system .claude/skills/migrate-design-system $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/performance .claude/skills/performance $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/prototype .claude/skills/prototype $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/redesign .claude/skills/redesign $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/scaffold-project .claude/skills/scaffold-project $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/ship .claude/skills/ship $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/token-build .claude/skills/token-build $ npx degit plugin87/ux-ui-agent-skills/.claude/skills/ux-writing .claude/skills/ux-writing
$ curl -fsSL --create-dirs -o .claude/agents/design-critic.md https://raw.githubusercontent.com/plugin87/ux-ui-agent-skills/main/.claude/agents/design-critic.md This rig commits no guardrails. Here is the community baseline instead — the deny/ask rules most often found across all 7,204 rigs:
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(**/.env)",
"Read(~/.ssh/**)",
"Bash(rm -rf *)",
"Read(**/*.pem)",
"Bash(rm -rf /)",
"Bash(git push --force:*)",
"Bash(sudo *)",
"Read(.env)",
"Bash(rm -rf /*)",
"Read(./.env.*)",
"Read(~/.aws/**)",
"Bash(git push --force*)",
"Bash(rm -rf:*)",
"Read(**/*.key)",
"Read(**/.env.*)",
"Bash(sudo:*)",
"Bash(git reset --hard*)",
"Bash(git reset --hard:*)",
"Read(.env.*)"
],
"ask": [
"Bash(git push:*)",
"Bash(git push *)",
"Bash(git commit:*)",
"Bash(rm *)",
"Bash(rm:*)",
"Bash(git rebase *)",
"Bash(wget *)",
"Bash(npm publish:*)",
"Bash(git commit *)",
"Bash(gh pr merge *)"
]
}
} MCP servers (2)
| server | source | est. tokens |
|---|---|---|
| Figma env: FIGMA_API_KEY | npm | 3.0k |
| Notion env: NOTION_API_KEY | npm | 6.0k |
Skills (25)
a11y-auditapply-aestheticbrandkitcritiquedata-dashboarddesign-codedesign-componentdesign-doctrinedesign-qadesign-reviewdesign-screendesign-tokensfigma-integrationgategovernancegrill-meimage-to-codemigrate-design-systemperformanceprototyperedesignscaffold-projectshiptoken-buildux-writing
Subagents (1)
| design-critic model: inherit | Adversarial senior design critic. Renders the work, looks at it, and argues for rejection. Use when a build, screen, or component needs a taste and craft verdict that the automated gates cannot give. |
Hooks (3)
| event | matcher | runs |
|---|---|---|
| SessionStart | startup|resume|clear|compact | node "$CLAUDE_PROJECT_DIR/hooks/session-start-preflight.mjs" |
| PostToolUse | Write|Edit | node "$CLAUDE_PROJECT_DIR/hooks/posttooluse-fast-gates.mjs" |
| Stop | * | node "$CLAUDE_PROJECT_DIR/hooks/stop-require-measurement.mjs" |
Slash commands (1)
/gate
Permissions
deny (0)
—
ask (0)
—
allow (56)
Bash(node scripts/gate.mjs:*)
Bash(node scripts/accuracy_report.mjs)
Bash(node scripts/measure_render.mjs:*)
Bash(node scripts/verify_states.mjs:*)
Bash(node scripts/verify_responsive.mjs:*)
Bash(node scripts/verify_rtl.mjs:*)
Bash(node scripts/verify_focustrap.mjs:*)
Bash(node scripts/axe_audit.mjs:*)
Bash(node scripts/taste_audit.mjs:*)
Bash(node scripts/slop_tells.mjs:*)
Bash(node scripts/verify_target_size.mjs:*)
Bash(node scripts/verify_reduced_motion.mjs:*)
Bash(node scripts/verify_keyboard.mjs:*)
Bash(node scripts/verify_overflow.mjs:*)
Bash(node scripts/verify_interactive.mjs:*)
Bash(node scripts/lint_intent.mjs:*)
Bash(node scripts/build_tokens.mjs:*)
Bash(python3 scripts/validate_tokens.py:*)
Bash(python3 scripts/validate_contrast.py:*)
Bash(python3 scripts/validate_component_spec.py:*)
Bash(python3 scripts/validate_theme_refs.py:*)
Bash(python3 scripts/validate_template.py:*)
Bash(python3 scripts/validate_instruction_surface.py:*)
Bash(node evals/run.mjs:*)
Bash(python3 scripts/lint_hardcodes.py:*)
Bash(python3 scripts/lint_taste.py:*)
Bash(python3 scripts/check_no_emoji.py:*)
Bash(python3 scripts/contrast.py:*)
Bash(python3 scripts/scaffold_component.py:*)
Bash(npm test)
Bash(npm run:*)
Bash(node hooks/:*)
Bash(node scripts/measure_render.mjs:*)
Bash(node scripts/verify_states.mjs:*)
Bash(node scripts/verify_responsive.mjs:*)
Bash(node scripts/verify_rtl.mjs:*)
Bash(node scripts/verify_focustrap.mjs:*)
Bash(node scripts/verify_target_size.mjs:*)
Bash(node scripts/verify_reduced_motion.mjs:*)
Bash(node scripts/verify_keyboard.mjs:*)
Bash(node scripts/verify_overflow.mjs:*)
Bash(node scripts/axe_audit.mjs:*)
Bash(node scripts/taste_audit.mjs:*)
Bash(node scripts/slop_tells.mjs:*)
Bash(node scripts/lint_intent.mjs:*)
Bash(node scripts/build_tokens.mjs:*)
Bash(python3 scripts/validate_tokens.py:*)
Bash(python3 scripts/validate_contrast.py:*)
Bash(python3 scripts/validate_theme_refs.py:*)
Bash(python3 scripts/lint_hardcodes.py:*)
Bash(python3 scripts/check_no_emoji.py:*)
Bash(python3 scripts/contrast.py:*)
Bash(git status:*)
Bash(git diff:*)
Bash(npm test)
Bash(npm run:*)
Similar rigs
alvaroofernaandez/dotfiles
Personal macOS terminal and AI agent environment — tmux, yazi, and Ghostty configs plus full Claude Code and OpenCode setup (skills, subagents, commands, hooks).
Skill Collector 6.7k tok ·
queirozlc/claude-config
Portable Claude Code config: skills, settings, hooks, install script
YOLO Cowboy 3.5k tok ·
GrimLink/dotfiles
🔧 My DEV env setup
Orchestrator 1.2k tok ·
Leonxlnx/taste-skill
Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop
Skill Collector 1.2k tok ·