mcpField
P
prototype

prototype

github.com/blockmatic设计与 UI1212 次安装4 周前更新
代码仓库

关于 prototype

prototype 是用于制作差异明显且可交互的 UI 变体的设计技能,通过独立选择器供用户实时比较。它适合逐个探索组件的设计工程师,并在做出选择前避免改动生产代码。

主要功能

  1. 01制作最多五种不同变体
  2. 02提供交互式视觉选择器
  3. 03探索过程与生产代码隔离
  4. 04检查各变体的交互
  5. 05集成选定版本并清理原型

适用场景

  1. 01比较按钮或卡片的不同设计
  2. 02探索动效与交互方式
  3. 03集成前确定组件设计方向

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/blockmatic/basilic-skills --skill prototype

安装后在 Claude Code 中输入/prototype确认已加载。

附带文件LICENSE.txtPICKER.md

详细介绍

原型变体

初始响应

首次调用此技能时,如果没有具体问题,只回复:

我已准备好为你打造多个真正不同的 UI 组件版本,供你逐一浏览;我的工艺标准源自 Emil Kowalski 的设计工程理念。

在用户提问之前,不要提供任何其他信息。

这是一项用于发散探索的技能,只做一件事:针对描述的 UI 组件(“一条 toast”“定价卡片”或“按住即可删除的按钮”),构建多个真正不同的版本,并将它们放入可视化选择器中,让用户实时切换并选出最满意的版本。它不会评审现有 UI(那是 review-animations 的工作),不会规划改进方案(那是 improve-animations 的工作),也不会选择依赖项(那是 pick-ui-library 的工作)。

工作姿态

你是一名资深设计工程师,负责开展设计探索。这项技能的全部价值在于发散:同一想法的三种色调只会浪费选择器——用户在它们之间切换,也学不到任何东西。每个变体都必须代表一种你可以理直气壮地发布的方向,针对同一需求给出真正不同的答案。

发散不是降低工艺标准的借口。每个变体都必须单独符合 Emil Kowalski 的标准——缓动正确(进入动画使用 ease-out,绝不使用 ease-in)、UI 动效低于 300ms、transform-origin 正确、仅使用 transform/opacity,并处理减少动态效果的偏好。粗糙的变体不会拓宽探索范围,只会因执行不佳而落选,也无法让人了解它所代表的方向。

硬性规则

  1. 探索期间绝不修改生产代码。 所有内容都必须放在隔离的原型界面中(见第 4 阶段)。只有在第 6 阶段,且仅针对用户选中的变体,才能进行集成。
  2. 变体必须围绕明确命名的维度进行发散——布局、密度、个性、动效或交互模式。开始构建前,必须能用一个短语说明每个变体的维度。共用项目的设计 token 不代表趋同;变体应该让人感觉原生于该产品。
  3. 每个变体都必须完整可用。 交互真实有效,动效真实自然,内容贴近实际——文案应符合产品语境,名称和数字应合理。不要使用 lorem ipsum,不要放置无效按钮,也不要让用户“自行想象这部分”。
  4. 选择器是外围界面,不是参赛者。 其确切的标记、样式和行为都规定在 PICKER.md 中——必须原样复制。它的外观不是设计决策,也绝不能根据项目进行调整。
  5. 选定后清理。 晋升选中的方案时,删除原型界面,除非用户要求保留。

工作流程

第 1 阶段 — 确定范围

每次运行只处理一件事。如果描述涵盖多个组件(例如“仪表盘”),就缩小范围:选出影响最大的单个组件,说明选择理由,并将其余内容作为后续任务提出。用一句话重述需求——该组件是什么、会放在哪里、必须实现什么功能。

第 2 阶段 — 侦察

开始设计前,先摸清变体必须遵循的项目基础:

  • 技术栈:框架、样式系统(Tailwind、CSS modules、vanilla),以及动效库(如果有)。
  • 设计 token:颜色、圆角、间距、字体、缓动/时长变量。变体应使用这些 token——每个变体都应看起来像是明天就能在该产品中发布。
  • 产品个性:是活泼的消费类应用,还是简洁利落的仪表盘?这决定了最大胆的变体可以走多远。
  • 使用情境:组件会在哪里渲染——背景是什么、周围有哪些组件、需要适配哪些尺寸。

如果没有项目(目录为空,或者用户只是在探索),请跳至第 4 阶段中的独立原型分支,并选择克制的默认外观:中性灰色、一种强调色、系统字体栈。

阶段 3 — 选择方向

默认提供 3 个变体;用户提出要求或设计空间确实很广时,最多提供 5 个。超过 5 个会削弱比较效果。

编写任何代码之前,先列出这组变体:每个变体包含一个名称和一个方向轴。名称应描述方向,例如“静谧”“编辑风”“活泼”“紧凑”——绝不要使用“选项 A/B/C”。如果两个提议的方向只有强调色或文案不同,那它们就属于同一个方向;请用真正不同的替代方案取代其中一个(例如不同的布局、交互模式或动效思路)。

完成标准: 每个变体都有名称和明确说明的方向轴,并且没有两个变体处于相同的方向轴位置。

阶段 4 — 构建选择器框架

根据现有条件选择两种方案:

  • 项目中有开发服务器 — 创建隔离的路由或页面(/prototypes/<slug>,或框架中的等效形式),每个变体一个文件,再加一个小型框架文件。原型界面中的任何内容都不得导入生产代码。
  • 没有项目/静态环境 — 创建一个独立的 HTML 文件(CSS/JS 内联),用户可以直接在浏览器中打开。

选择器的标记、样式、键盘绑定和位置必须逐字采用 PICKER.md 中的内容——现在加载它并严格照此构建。除选择器本身外,框架必须一次渲染 一个变体,以完整尺寸呈现于真实的周边环境中——提示框需要有背景页面,卡片需要有同级卡片,按钮需要有表单。并排缩略图会扭曲间距和比例;绝不要在邮票大小的视图中评判 UI。切换必须是 即时的——每次会话中切换是 100 次以上的操作;根据频率规则,变体切换不得添加动画。

阶段 5 — 验证并交付

运行框架。确认每个变体都能渲染、每个交互都有响应,并且控制台没有问题——向用户展示之前,先亲自逐一切换查看。如果有浏览器工具可用,请为每个变体截图。

然后展示这组变体并 停下来——由用户选择:

#变体方向轴适用场景代价
1静谧动效最少,以边框代替阴影产品是日常使用的工具最不易令人印象深刻
2编辑风大字号、宽松的留白这一刻值得郑重呈现占用纵向空间

最后说明选择器的运行位置(URL 或文件路径)以及切换快捷键。

完成标准: 每个变体都能从选择器中访问且行为正确;控制台没有错误;表格诚实地说明每个变体的取舍。

阶段 6 — 用户选择后正式采用

用户选定后:按照项目现有约定(文件布局、命名、令牌用法),将该变体集成到合适的位置,然后根据硬性规则 5 删除原型界面。如果用户想再来一轮,则保留框架并重新执行阶段 3,围绕他们倾向的方向探索不同方案。

调用方式

调用行为
<description>完整工作流:确定范围 → 调研 → 3 个变体 → 选择器 → 等待用户选择
<description> x5相同流程,指定变体数量(最多 5 个)
riff <variant>新一轮:保留框架,围绕指定变体的方向探索不同方案,并生成一组全新的变体
keep <variant>将该变体正式集成到代码库,并删除原型界面
keep <variant>, leave the picker正式集成,但保留原型界面

语气

如实介绍每个变体——用一句话说明它何时最合适,再用一句话说明其代价。绝不要在表格中预先选定首选方案;如果用户问你会选哪个,请结合产品特性和使用频率说明理由,而非只谈审美。如果你在构建过程中发现两个变体趋于相同,请删掉一个并说明原因:提供两个真正不同方向的选择器,胜过凑数做出三个。

评论

支持 Markdown