用途:为 Epicenter 产品应用设计与评审界面,同时把本地 UI 原语收敛到共享组件系统 @epicenter/ui。现有界面被视为证据而非要复刻的结构;shadcn-svelte 只作为实现渊源与上游依据,不作为应用导入路径。
主要能力:按规范路径推进——用一句话命名用户可见目标;阅读当前与相邻界面,盘点工作流、层级、可访问性、重要状态与产品意图;用 @epicenter/ui 原语的自然形态勾画最简绿地组合;执行组件系统收敛;实现完整状态面(加载、空、错误、禁用、待定、选中、筛选为空等);在浏览器中验证可见、响应式与交互结果;交付或提交前运行 UI 预检。
组件系统收敛:检查每个包装器、类组合、任意 Tailwind 值、自定义颜色、本地重建的状态面和原语覆盖,判断已有原语或变体是否已拥有该契约、原语自然形态能否替代包装器及其类、本地细节是否对理解、可访问性、交互、品牌或必需几何是承重的。明显的收敛直接实现;仅当拒绝会改变工作流、层级、产品含义、品牌姿态或可能承重的细节时才询问用户。自定义 UI 仅在拥有应用特定行为或产品含义时保留在应用本地;稳定的视觉契约在多个应用需要或拥有可访问性、交互契约时移入 packages/ui。
人类品味关卡:当人的偏好会实质改变视觉语言、品牌姿态、主层级、导航、密度或表达性公开界面的方向时,提出一个聚焦问题,给出具体备选与建议;不由共享系统、可访问性、既有产品意图或机械收敛决定的选择不询问。
产品 UI 与表达性界面:产品 UI 通常应密集、安静、可操作,独特性来自工作流契合、层级、文案、状态设计与有目的的细节;营销页、文档入口、原型和明确表达性的工作可用更强视觉识别,但仍需运行收敛并只保留服务于所选方向的细节。
参考文件:方向未定时读 references/direction-discovery.md;设计问题依赖品类契合或其他应用做法时读 references/comparable-apps.md;每次 Epicenter 产品 UI 实现或评审读 references/component-system.md;公开、营销、文档、作品集类或高度打磨的工作读 references/anti-slop-tells.md;交付或提交可见 UI 变更前读 references/preflight.md,仅报告失败或有意例外。
委派边界:styling 负责 CSS、Tailwind、间距、包装器、溢出与滚动陷阱;svelte 负责组件结构、runes、生命周期与状态机制;tanstack-table 负责表格状态、列、排序与行标识;writing-voice 负责可见界面文案与语气。显式外部标准或可访问性审计时,用 WebFetch 获取 Vercel Web Interface Guidelines 并直接应用,按 file:line 报告发现;每次评审重新获取而非缓存,因为上游规则会变化。设计决策与组件系统收敛始终留在本技能内。
最终输出:报告变更的界面、浏览器验证、任何重要的删除收益,以及有意保留的自定义形态或预检例外。