mcpField
D
designer-skill-mcp

designer-skill-mcp

ローカル
github.com/PyModel開発ツール503 週間前に更新

designer-skill-mcp について

designer-skill-mcpは、コーディングエージェントにUI設計ガイダンスを提供し、依頼を振り分けて決定的な静的チェックを行うMCPサーバーです。静的な結果のみを報告し、描画後の検証はホストが担います。

主な機能

  1. 01設計意図を操作と参考資料に振り分け
  2. 02設計・UXガイダンスの提供
  3. 0344ルールの決定的な静的スキャン
  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。エージェントに UI の超能力を。

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

セットアップ · 仕組み · リファレンス · ツール · 開発

セットアップ

setup

エージェントに貼り付けてください(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 は、「もっと目立たせて」や「何かしっくりこない」といった言葉を、デザインの動詞と最大4件の参考情報に対応付けます。デザイナー向けの参考情報24件(タイポグラフィ、色、モーション、アクセシビリティ、粗雑なデザインの回避、再デザイン、最悪ケースのデータ、依存関係の選定など)に加え、ux/* の参考情報26件(フォーム、コラボレーション、キャンバス、AI、i18n など)。44ルールの決定論的な検出器が review_and_gate を支え、必須ルールごとに、実行済み、未対応、未解決、免除のいずれかを報告します。

ゲートが行うのは静的チェックのみです。全体のステータスは FAIL または NOT_VERIFIED で、レンダリング後の準備完了を示すステータスになることはありません。ホストから証拠が提供されるまでは、レンダリング、アクセシビリティ、パフォーマンスのチェックは NOT_RUN のままです。

Niblet エコシステム
担当役割
designer-skillスコープ設定、ルーティング、デザイン・UX のガイダンス、検証レポート作成を行う単一のエントリーポイント
Niblet platform実画面カタログ、記録済みのデザイン参考情報、ライセンスが記録された素材
Niblet MCP参考画像と素材の取得。ホスト型の get_ui_component は React ソースを提供します
エージェントホスト承認済みのファイル・依存関係の変更、ブラウザー・ネイティブ操作、レンダリングの検査、証拠

ツールはサーバーごとに確認してください。designer-skill にある find_ui_references という同じ名前のツールはテキストのみの REST ラッパーであり、画像を返す Niblet のツールではありません。参考情報の確認と素材の取得には Niblet MCP を優先してください。同じ質問に対して両方のプロバイダーを呼び出したり、インストール状況から接続性を推測したりしないでください。デプロイの違い、範囲、ライセンスについては niblet-catalogue を参照してください。

製品に基づいたデザイン契約を1つ使用してください。Niblet のサーフェスモード(Persuade、Operate、Read、Experience)はユーザーの目的を表し、designer-skill の実行モード(audit、plan、refine、implement、system)は許可された作業を表します。両者は独立しています。Operate サーフェスに対して、読み取り専用の監査を行うことも、承認済みの改善を行うこともできます。既存の製品トークン、コンポーネント、実際のコンテンツは、参考デザインの美しさより優先されます。コンポーネントの取得は、依存関係のインストールやソースの書き込みを許可するものではありません。また、いずれの MCP もレンダリング品質を保証しません。

例: 「機能を損なわずに、この料金ページを再デザインするため designer-skill を使ってください。」 → get_preflight_brief → dispatch_intent → get_reference → 編集 → review_and_gate

これを使って構築: pythinker.com

pythinker.com — designer-skill で構築

## 参考資料

refs

ファイル使用する場面Tier
design-principlesタイポグラフィ、余白、色、レイアウト、階層🔵 core
differentiation-playbook独自性を出す:逆転テスト、レイアウトメニュー、名前付きの参考例🔵 core
aesthetic-systems見た目を選ぶ:パレット、フォント、シャドウを含む5つのシステム🔵 core
motion-and-interactionタイミング、スプリング、スクロール、モーションの軽減🔵 core
engineering-and-performanceトークン、アクセシビリティ、レスポンシブ、Core Web Vitals🔵 core
avoid-ai-slop禁止リスト、カテゴリーへの反射的な当てはめの確認、完全性の取り決め🔵 core
refactor-and-redesign動作を壊さずに監査 → 診断 → 再設計🔵 core
command-playbook意図 → 動詞の振り分け🔵 core
verification-and-recovery証拠のルール、ゲートのステータス、失敗のトリアージ🔵 core
interaction-designフィッツの法則/ヒックの法則/ミラーの法則、フォーム、ナビゲーション、エラー、読み込み🔴 extended
visual-critique7つの観点による批評🔴 extended
design-systemsトークンの設計、コンポーネント仕様、テーマ設定🔴 extended
project-init要件確認のインタビュー、PRODUCT.md、DESIGN.md🔴 extended
craft-flowスコープに応じた実装と証拠のワークフロー🔴 extended
live-modeホストが検出したプレビュー用ツールを使った、許可済みのソースバリエーション🔴 extended
css-techniquesモダン CSS:コンテナクエリ、:has()、clamp()、論理プロパティ🔴 extended
motion-vocabulary「弾む感じ」などの印象を、標準的なモーション用語に対応付ける🔴 extended
fluid-input-principlesウェブ向けに置き換えた、ジェスチャー優先の流体インターフェースの原則🔴 extended
native-webプラットフォームに適したモバイルウェブ:タップ、ビューポート、安全領域、ズーム🔴 extended
worst-case-dataデモ用の値ではなく、極端な実データを使って設計・検証する🔴 extended
variant-prototyping本当に結論が出ていない判断のための、時間を区切った並列バリエーション🔴 extended
dependency-selectionUI 依存関係を選択または追加する方法。候補リストではありません🔴 extended
niblet-catalogueNiblet を介した任意の実画面リファレンスと素材。参考情報であり、未設定でも安全です🔴 extended
craft-provenance過去の機能の対応付けと帰属。必要な場合にのみ読み込みます🔴 extended

さらに、skills/ux-designer/ で作成され、skills/designer-skill/reference/ux/ にベンダー取り込みされた26個の ux/* リファレンスがあります(node scripts/sync-ux.mjs で生成し、テストで確認)。そのため、designer-skill のみをインストールしても自己完結します。各 SKILL.md は1行の説明を含む短いルーターで、タスクで必要になった場合にのみリファレンスを読み込みます。

フレーズ動詞読み込むもの
「もっと目立たせて」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名前でリファレンスを1つ読み込みます(designer または ux/*)
anti_slop_checklistスタイルと内容の正確性に関するレビューの参考ガイダンス
list_commandsすべてのデザイン動詞とその説明
get_command1つの動詞に関するヘルプとリファレンス名
dispatch_intentリクエストを動詞と、読み込む最大4つのリファレンスに対応付けます
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
スキルの堅牢性チェック

UX ガイダンスは skills/ux-designer/references/ でのみ編集してください。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 のバインドにはすべて、少なくとも1つの --root が必要です。ループバックバインドでは Host ヘッダーが検証され、非ループバックバインドではさらに DESIGNER_SKILL_HTTP_TOKEN(Authorization: Bearer …)が必要です。

リリース: ./scripts/release.sh "notes" はすべてのバージョンを更新して同期し、検証、タグ付け、プッシュを実行します。さらに、publish.yml が npm(プロビナンス付き)、MCP レジストリエントリー、GitHub リリースを公開します。契約の詳細:docs/HARDENING.md。

MIT package skill

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。