mcpField
D
designer-skill-mcp

designer-skill-mcp

本地服务
github.com/PyModel开发工具503 周前更新

关于 designer-skill-mcp

designer-skill-mcp 是面向编码 Agent 的 MCP 服务,提供 UI 设计指导、请求路由和确定性静态检查。它只报告静态证据,渲染验证仍由宿主负责。

主要功能

  1. 01将设计意图路由到操作和参考资料
  2. 02提供设计与 UX 指导
  3. 03运行 44 条规则的确定性静态扫描
  4. 04报告各规则的检查状态
  5. 05支持可选的 Niblet 参考查询

适用场景

  1. 01依据现有产品证据规划 UI 改版
  2. 02静态检查界面代码中的设计问题
  3. 03按设计请求加载针对性指导

MCP 相关

向 MCP 客户端提供设计提示词、资源和工具,包括意图路由、参考资料加载及静态审查。它不认证渲染质量;渲染检查由宿主负责。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pymodel-designer-skill": {
"command": "npx",
"args": [
"-y",
"@pymodel/designer-skill-mcp"
]
}
}
}
启动命令npx -y @pymodel/designer-skill-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@pymodel/designer-skill-mcp0.22.0

工具

15

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否
querystring是描述屏幕任务和状态的文本,说明它的功能。传入 selectedIds 时也必须提供。
platformenum否web | ios
selectedIdsarray否之前搜索返回的 1 到 3 个屏幕 ID:重新读取这些指定屏幕的元数据,不进行视觉检查。
clientSkillVersionstring否主机已知时,填写已安装的 Niblet 技能版本。

详细介绍

designer-skill-mcp

即插即用的 MCP。为你的 Agent 增添 UI 超能力。

release downloads tests license skills.sh
tools references detector node api key

设置 · 工作原理 · 参考资料 · 工具 · 开发

设置

setup

粘贴到你的 Agent 中(Claude Code、Codex、Cursor,或任何 MCP 客户端)。它会安装技能、连接 MCP 并验证工具:

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.

没有 Niblet?请根据本地产品证据继续操作;目录检索是可选的。

也可以选择以下方式:

安装
🟣 Claude Code 插件(技能 + MCP)/plugin marketplace add PyModel/designer-skill 然后 /plugin install designer-skill@pymodel
🟢 Codex 插件codex plugin marketplace add PyModel/designer-skill,然后在 /plugins 中从 pymodel 安装 designer-skill
⚫ Cursor 插件从市场安装;包含 mcp.json、技能、/designer-setup · /designer-status
🔵 仅 MCP,适用于任何客户端claude mcp add designer-skill -- npx -y @pymodel/designer-skill-mcp(codex mcp add、pythinker mcp add --transport stdio 使用相同参数)
🟠 仅技能npx skills add PyModel/designer-skill --skill designer-skill,或将 skills/designer-skill/ 复制到 ~/.claude/skills/ / ~/.codex/skills/

标准 MCP 配置(mcp.json):

{ "mcpServers": { "designer-skill": { "command": "npx", "args": ["-y", "@pymodel/designer-skill-mcp@latest"] } } }

@latest 会跟踪 npm 最新版本;团队可固定使用 @pymodel/[email protected]。插件技能内容会单独更新(/plugin update …)。MCP 注册表名称:io.github.PyModel/designer-skill-mcp。需要 Node 22+。

各客户端的配置(VS Code、Codex TOML、Kilo、Open Code、Claude Desktop、Pythinker、Pi)

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):使用上面的标准 mcpServers JSON。Pythinker 验证命令:pythinker mcp test designer-skill(指南)。

Pi:使用相同的 JSON,或原生注册技能:{ "skills": [{ "path": "/path/to/skills/designer-skill/SKILL.md" }] }

本地检出:将 npx 替换为 "command": "node", "args": ["/abs/path/to/designer-skill-mcp/dist/index.js"]。

## 工作原理

how

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
🔵 路由🟣 了解🟢 检查
dispatch_intent 会将“让它更出彩”或“感觉不太对”等表达映射为设计动词和最多四条参考资料。24 条设计师参考资料(字体、颜色、动效、无障碍、反臃肿设计、重新设计、最坏情况数据、依赖项选择……),以及 26 条 ux/* 参考资料(表单、协作、画布、AI、国际化……)。由 44 条规则组成的确定性检测器为 review_and_gate 提供支持,该工具会将每条必需规则报告为已运行、不支持、未解决或已豁免。

此门禁仅进行静态检查:总体状态为 FAIL 或 NOT_VERIFIED,绝不会通过渲染就绪检查。渲染、无障碍和性能检查会保持 NOT_RUN,直到宿主提供证据。

Niblet 生态系统
所有者职责
designer-skill提供统一入口,用于范围界定、路由、设计/UX 指导和验证报告
Niblet 平台真实屏幕目录、记录在案的设计参考资料,以及记录许可信息的素材
Niblet MCP参考图片和素材检索;托管的 get_ui_component 会提供 React 源码
Agent 宿主经授权的文件/依赖项更改、浏览器/原生交互、渲染检查和证据

请按服务发现工具:designer-skill 上同名的 find_ui_references 是纯文本 REST 封装,并非 Niblet 提供图像的工具。参考资料检查和素材获取优先使用 Niblet MCP。对于同一问题,不要同时调用两个提供方,也不要根据安装情况推断连接状态。有关部署差异、限制和许可,请参阅 niblet-catalogue。

使用以产品为依据的统一设计契约。Niblet 的界面模式(说服、操作、阅读、体验)描述用户的任务;designer-skill 的执行模式(审计、规划、优化、实现、系统)描述允许执行的工作。两者相互独立:操作型界面可以进行只读审计,也可以进行获准的优化。现有产品令牌、组件和真实内容优先于参考风格。检索组件并不授权安装依赖项或写入源码,而且这两个 MCP 都不认证渲染质量。

示例: “使用 designer-skill 重新设计此定价页面,同时确保功能不受影响。” → get_preflight_brief → dispatch_intent → get_reference → 编辑 → review_and_gate。

使用它构建: pythinker.com

pythinker.com — 使用 designer-skill 构建

## 参考资料

refs

文件适用场景层级
design-principles字体排印、间距、颜色、布局、层级🔵 核心
differentiation-playbook打造独特风格:反向测试、布局菜单、命名参考🔵 核心
aesthetic-systems选择视觉风格:5 种系统,包含配色、字体和阴影🔵 核心
motion-and-interaction时序、弹簧动画、滚动、减少动态效果🔵 核心
engineering-and-performance设计令牌、无障碍、响应式、Core Web Vitals🔵 核心
avoid-ai-slop禁用清单、类别惯性检查、完整性约定🔵 核心
refactor-and-redesign审查 → 诊断 → 重新设计,同时不破坏现有行为🔵 核心
command-playbook意图 → 动词分派🔵 核心
verification-and-recovery证据规则、门禁状态、故障分流🔵 核心
interaction-designFitts/Hick/Miller 定律、表单、导航、错误、加载🔴 扩展
visual-critique七维度评审🔴 扩展
design-systems令牌架构、组件规范、主题🔴 扩展
project-init探索式访谈、PRODUCT.md、DESIGN.md🔴 扩展
craft-flow根据范围调整实现与证据工作流🔴 扩展
live-mode使用宿主发现的预览工具,创建经授权的源代码变体🔴 扩展
css-techniques现代 CSS:容器查询、:has()、clamp()、逻辑属性🔴 扩展
motion-vocabulary将一种感受(“弹跳的效果”)映射为标准动态效果术语🔴 扩展
fluid-input-principles转化为适用于 Web 的手势优先流畅界面原则🔴 扩展
native-web符合平台规范的移动 Web:点击、视口、安全区域、缩放🔴 扩展
worst-case-data使用极端真实数据而非演示数据进行设计和验证🔴 扩展
variant-prototyping针对真正未定的决策,在限定时间内制作并排变体🔴 扩展
dependency-selection选择或添加 UI 依赖的方法,而非选项列表🔴 扩展
niblet-catalogue通过 Niblet 获取可选的真实屏幕参考和素材;仅供参考,未配置时也可安全使用🔴 扩展
craft-provenance历史能力映射与归属;仅在需要时加载🔴 扩展

此外还有 26 个 ux/* 参考资料,源文件位于 skills/ux-designer/,并 vendored 到 skills/designer-skill/reference/ux/(由 node scripts/sync-ux.mjs 生成,并通过测试检查),因此仅安装 designer-skill 也包含全部所需内容。每个 SKILL.md 都是一个简短路由文件,附有一行说明;只有任务需要时才会加载参考资料。

说法动词读取内容
“让它更亮眼”amplify · coloraesthetic-systems、design-principles
“感觉不太对”check · layoutrefactor-and-redesign、avoid-ai-slop
“达到生产就绪状态”ship · checkengineering-and-performance
“添加一些动态效果”motionmotion-and-interaction
“看起来像 AI 做的”review · brandavoid-ai-slop、aesthetic-systems
“重新设计这个”check · refreshrefactor-and-redesign、command-playbook

工具

tools

工具用途
get_preflight_brief范围与验证约定(首先调用)
load_project_context从项目中读取 PRODUCT.md / DESIGN.md(绝对路径 cwd)
get_design_systemSKILL.md 路由器和参考资料映射
get_reference按名称加载一份参考资料(designer 或 ux/*)
anti_slop_checklist提供风格和内容真实性审查建议
list_commands所有设计动词及其说明
get_command获取某个动词的帮助信息和参考资料名称
dispatch_intent将请求映射为动词,以及最多四份待读取的参考资料
commit_design_direction验证基于上下文的设计方向记录
get_palette_seed用于获准的新调色板工作的 OKLCH 品牌种子
detect_antipatterns确定性静态扫描(44 条规则):覆盖范围、文件哈希、缺漏
review_and_gate针对每条必需规则进行静态检查;不会声称已达到渲染就绪状态
find_ui_references可选的纯文本 Niblet 真实屏幕搜索,或所选屏幕的元数据(NIBLET_TOKEN)
get_design_reference可选的网页屏幕 Niblet 结构化参考(NIBLET_TOKEN)
find_ui_materialsNiblet 资料路由指南;检索在 Niblet MCP 软件包或托管 MCP 上运行(拒绝 kind: pack)

资源: designer://skill · designer://reference/{+name} · 提示词: design(task,可选 aesthetic)

开发

dev

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 tarball
技能稳健性检查

仅在 skills/ux-designer/references/ 中编辑 UX 指南;打包前,npm run sync-skill 会重新生成独立镜像。在仓库根目录运行 node scripts/sync-ux.mjs,以仅通过文件系统进行分发。

运行报告现在使用 v2,并附带由宿主负责的验证计划。验证两个捆绑的 JSON 架构,然后运行无依赖脚本 skills/designer-skill/scripts/validate-report.mjs REPORT PLAN AUTHORIZED_ROOT,检查证据哈希、路径限制、修订版/计划匹配情况以及渲染就绪语义。脚本自身显示 PASS 表示报告验证通过,并不代表 UI 已获认证。旧版 v1 报告会被安全拒绝,必须根据真实证据重新生成;请同时更新宿主端的读取器和写入器。

行为动作计划案例和确定性评分器位于 evals/designer-skill/。合成评分器测试不算模型评估,模型提案也无法证明实际工具使用合规性或渲染质量。评估结果中请保留模型、宿主、技能哈希和重复次数。

HTTP 模式(/mcp 上的 Streamable HTTP):

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/project

每个 HTTP 绑定都至少需要一个 --root。环回绑定会验证 Host 标头;非环回绑定还需要 DESIGNER_SKILL_HTTP_TOKEN(Authorization: Bearer …)。

发布: ./scripts/release.sh "notes" 会递增并同步所有版本、执行验证、创建标签并推送;publish.yml 会发布 npm(附带来源证明)、MCP 注册表条目和 GitHub 发布版本。约定详情:docs/HARDENING.md。

MIT package skill

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。