designer-skill
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@designer-skillCreate a preflight brief for the new onboarding screen and gate the UI changes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Plug-and-play MCP. UI superpowers for your agent.
Setup Β· How it works Β· References Β· Tools Β· Development
Setup
Paste into your agent (Claude Code, Codex, Cursor, any MCP client). It installs the skill, wires the MCP and verifies the tools:
Add designer-skill alongside Niblet Designer UI. The designer core is keyless: it routes requests, loads guidance and runs supplemental static checks. Niblet optionally supplies real screens and licensed materials; the host owns implementation and rendered verification.
1. Install or refresh the skill into the user skill directory (not this project):
npx skills add PyModel/designer-skill --skill designer-skill -g -y
2. Add the local MCP using this client's native MCP configuration, in the user-level (not project-level) config:
Name: designer-skill
Transport: stdio
Command: npx
Args: -y @pymodel/designer-skill-mcp@latest
No API key is needed. Do not add one.
3. Verify: list the designer-skill server's tools and confirm get_preflight_brief, dispatch_intent, review_and_gate are present. Do not run a sample check.
When setup is complete, confirm the skill is installed and the three named tools are exposed. On UI work: call get_preflight_brief, use dispatch_intent and load only relevant guidance. If an unresolved visual question warrants retrieval, use the separately configured niblet server's discovered tools. Prefer its image content for inspection; designer-skill's catalogue wrappers return metadata or routing guidance only. Run review_and_gate as supplemental static evidence, then perform the required rendered, functional and accessibility checks in the host. Never treat static success as UI PASS. Preserve audit/plan scope. Continue an active authorized task; otherwise report designer-skill ready, and report Niblet paired only if its tools were actually observed.No Niblet? Continue from local product evidence; catalogue retrieval is optional.
Or pick one:
Install | |
π£ Claude Code plugin (skill + MCP) |
|
π’ Codex plugin |
|
β« Cursor plugin | Install from the marketplace; ships |
π΅ MCP only, any client |
|
π Skill only |
|
Canonical MCP config (mcp.json):
{ "mcpServers": { "designer-skill": { "command": "npx", "args": ["-y", "@pymodel/designer-skill-mcp@latest"] } } }@latest tracks npm; teams pin @pymodel/designer-skill-mcp@0.22.0. Plugin skill content updates separately (/plugin update β¦). MCP registry name: io.github.PyModel/designer-skill-mcp. Requires Node 22+.
VS Code .vscode/mcp.json (1.99+):
{ "servers": { "designer-skill": { "type": "stdio", "command": "npx", "args": ["-y", "@pymodel/designer-skill-mcp"] } } }Codex CLI ~/.codex/config.toml:
[mcp_servers.designer-skill]
command = "npx"
args = ["-y", "@pymodel/designer-skill-mcp"]Open Code opencode.json:
{ "mcp": { "designer-skill": { "type": "local", "command": ["npx", "-y", "@pymodel/designer-skill-mcp"] } } }Claude Desktop, Cursor (.cursor/mcp.json), Kilo Code (mcp_settings.json), Pythinker (~/.pythinker/mcp.json): the canonical mcpServers JSON above. Pythinker verify: pythinker mcp test designer-skill (guide).
Pi: the same JSON, or register the skill natively: { "skills": [{ "path": "/path/to/skills/designer-skill/SKILL.md" }] }
Local checkout: replace npx with "command": "node", "args": ["/abs/path/to/designer-skill-mcp/dist/index.js"].
Related MCP server: CodeCrafted Design MCP
How it works
flowchart LR
A[Prompt] --> B[get_preflight_brief]
B --> C[dispatch_intent]
C --> D[get_reference]
D --> E[Build / polish UI]
E --> F[review_and_gate]
F -->|FAIL: fix| E
F -->|static checks pass| G[Rendered checks<br/>by the host]
classDef start fill:#f8fafc,stroke:#94a3b8,color:#18181b
classDef route fill:#eff6ff,stroke:#3b82f6,color:#1e3a8a
classDef know fill:#faf5ff,stroke:#7c3aed,color:#4c1d95
classDef work fill:#fff7ed,stroke:#e87a3d,color:#7c2d12
classDef gate fill:#ecfdf5,stroke:#10b981,color:#065f46
classDef host fill:#fff1f2,stroke:#e11d48,color:#881337
class A start
class B,C route
class D know
class E work
class F gate
class G hostπ΅ Route | π£ Know | π’ Check |
| 24 designer references (type, color, motion, a11y, anti-slop, redesign, worst-case data, dependency selectionβ¦) plus 26 | A 44-rule deterministic detector backs |
The gate is static only: overall status is FAIL or NOT_VERIFIED, never a rendered-readiness pass. Rendered, accessibility and performance checks stay NOT_RUN until the host supplies evidence.
Niblet ecosystem
Owner | Responsibility |
| One entry point for scope, routing, craft/UX guidance and verification reporting |
Niblet platform | Real-screen catalogue, recorded design references and license-recorded materials |
Niblet MCP | Reference images and material retrieval; hosted |
Agent host | Authorized file/dependency changes, browser/native interaction, rendered inspection and evidence |
Discover tools per server: the same find_ui_references name on designer-skill is a text-only REST wrapper, not Niblet's image-delivering tool. Prefer Niblet MCP for reference inspection and materials. Do not call both providers for the same question or infer connectivity from installation. Consult niblet-catalogue for deployment differences, bounds and licensing.
Use one product-grounded design contract. Niblet's surface modes (Persuade, Operate, Read, Experience) describe the user's job; designer-skill's execution modes (audit, plan, refine, implement, system) describe permitted work. They are independent: an Operate surface can receive a read-only audit or an authorized refinement. Existing product tokens, components and real content win over reference aesthetics. Component retrieval does not authorize dependency installation or source writes, and neither MCP certifies rendered quality.
Example: "Use designer-skill to redesign this pricing page without breaking functionality." β get_preflight_brief β dispatch_intent β get_reference β edit β review_and_gate.
Built with it: pythinker.com
References
File | Use when | Tier |
| Typography, spacing, color, layout, hierarchy | π΅ core |
| Being distinctive: inverse test, layout menu, named references | π΅ core |
| Picking a look: 5 systems with palettes, fonts, shadows | π΅ core |
| Timing, springs, scroll, reduced motion | π΅ core |
| Tokens, a11y, responsive, Core Web Vitals | π΅ core |
| Ban list, category-reflex checks, completeness contract | π΅ core |
| Audit β diagnose β redesign without breaking behavior | π΅ core |
| Intent β verb dispatch | π΅ core |
| Evidence rules, gate statuses, failure triage | π΅ core |
| Fitts/Hick/Miller, forms, navigation, errors, loading | π΄ extended |
| Seven-dimension critique | π΄ extended |
| Token architecture, component specs, theming | π΄ extended |
| Discovery interview, PRODUCT.md, DESIGN.md | π΄ extended |
| Scope-adaptive implementation and evidence workflow | π΄ extended |
| Authorized source variants using host-discovered preview tools | π΄ extended |
| Modern CSS: container queries, | π΄ extended |
| Map a feel word ("the bouncy thing") to the standard motion term | π΄ extended |
| Gesture-first fluid-interface principles translated for web | π΄ extended |
| Platform-correct mobile web: tap, viewport, safe areas, zoom | π΄ extended |
| Design and verify against extreme real data, not demo values | π΄ extended |
| Time-boxed side-by-side variants for genuinely open decisions | π΄ extended |
| Method for choosing or adding a UI dependency, not a picks list | π΄ extended |
| Optional real-screen references and materials via Niblet; advisory, unconfigured-safe | π΄ extended |
| Historical capability mapping and attribution; load only when needed | π΄ extended |
Plus 26 ux/* references, authored in skills/ux-designer/ and vendored at skills/designer-skill/reference/ux/ (generated by node scripts/sync-ux.mjs, checked by test), so a designer-skill-only install is self-contained. Each SKILL.md is a short router with a one-line description; references load only when a task needs them.
Phrase | Verbs | Reads |
"make it pop" |
|
|
"it feels off" |
|
|
"production-ready" |
|
|
"add some motion" |
|
|
"it looks AI-made" |
|
|
"redesign this" |
|
|
Tools
Tool | Purpose |
| Scope and verification contract (call first) |
| Read PRODUCT.md / DESIGN.md from the project (absolute |
| SKILL.md router and reference map |
| Load one reference by name (designer or |
| Advisory style and truthful-content review guidance |
| All design verbs with descriptions |
| Help and reference names for one verb |
| Map a request β verb(s) + at most four references to read |
| Validate a context-grounded direction record |
| OKLCH brand seed for authorized new palette work |
| Deterministic static scan (44 rules): coverage, file hashes, gaps |
| Static gate per required rule; never claims rendered readiness |
| Optional text-only Niblet real-screen search or selected-screen metadata ( |
| Optional niblet structured reference for a web screen ( |
| Niblet materials routing guidance; retrieval runs on the Niblet MCP package or hosted MCP ( |
Resources: designer://skill Β· designer://reference/{+name} Β· Prompt: design (task, optional aesthetic)
Development
cd designer-skill-mcp
npm ci
npm run build # syncs skills/ β assets/ (generated, gitignored), compiles TypeScript
npm run typecheck && npm test # tsc over src + test, then vitest; `npm run smoke` drives the packed tarballSkill robustness checks
Edit UX guidance only in skills/ux-designer/references/; npm run sync-skill regenerates the standalone mirror before bundling. Run node scripts/sync-ux.mjs from the repository root for filesystem-only distribution.
Run reports now use v2, plus a host-owned verification plan. Validate both bundled JSON schemas, then run the dependency-free skills/designer-skill/scripts/validate-report.mjs REPORT PLAN AUTHORIZED_ROOT for evidence hashes, confinement, revision/plan matching and rendered-readiness semantics. Its own PASS means report validation, not UI certification. Legacy v1 reports fail closed and must be regenerated from real evidence; update host readers/writers together.
Behavioral action-plan cases and a deterministic grader live in evals/designer-skill/. Synthetic grader tests do not count as model evaluations, and model proposals do not prove actual tool-use compliance or rendered quality. Keep model, host, skill hash and repetitions with evaluation results.
HTTP mode (Streamable HTTP at /mcp):
node dist/index.js --http --port 3017 --root /abs/project # 127.0.0.1
DESIGNER_SKILL_HTTP_TOKEN=β¦ node dist/index.js --http --host 0.0.0.0 --root /abs/projectEvery HTTP bind requires at least one --root. Loopback binds validate the Host header; a non-loopback bind also requires DESIGNER_SKILL_HTTP_TOKEN (Authorization: Bearer β¦).
Release: ./scripts/release.sh "notes" bumps and syncs every version, verifies, tags and pushes; publish.yml publishes npm (with provenance), the MCP registry entry and the GitHub release. Contract details: docs/HARDENING.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
A design agent in your coding agent's loop: briefs each screen, reviews UX and visual quality.
Design intelligence for coding agents: audits, design systems, and a taste profile agents consult.
Live React design-system APIs, patterns, and code validation so AI agents build real UI, not slop.
A design harness for AI coding agents: design systems, design principles, icons and UI review.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceSTOP UI SLOP. Gives coding agents searchable evidence from 800,000+ real web and iOS screens, design contracts, and a hard UI finish gate.1MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI coding agents to plan, build, and review websites and product interfaces with a persistent, user-led process, including design direction, component contracts, and implementation review.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create and manage consistent multi-screen UI designs through a token-efficient MCP interface, with design system tokens, components, flows, and visual review.564 npm2AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables coding agents to query a workspace's design system before writing UI and validate generated code against the same system afterward, using configurable token and component sources.4 npmMIT