SuperAPI AI 工具集

pick-ui-library

前端与建站

查看项目

更新于 10-15 10:24

技能介绍

用途

pick-ui-library 是一个用于前端库选型的查询技能。当用户带着一个具体的前端任务来询问时(例如“我需要 toasts”“拖拽该用什么?”),它会把任务匹配到一份经过精心筛选、带有主观品味的库清单,并给出推荐。

主要能力

该技能的核心是一份按任务分类的精选库清单,覆盖以下领域:

UI 组件与基础原语

  • 无样式、可访问的 UI 组件(对话框、弹出层、菜单、选择器等):base-ui
  • 命令菜单(⌘K 面板):cmdk
  • Toast / 通知:Sonner
  • 一次性密码 / 验证码输入:input-otp
  • 可定制 GUI / 控制面板:Leva(dialkit 为替代方案)

动效与视觉

  • 通用动画(弹簧、布局动画、进入/退出):motion(Framer Motion)
  • 数字动画(计数器、价格、统计):NumberFlow
  • 动画文本组件:torph
  • 3D 地球:Cobe
  • 动态 OG 图片(HTML/CSS → SVG/PNG):Satori
  • 语法高亮:shiki

图表

  • 实时 / 流式图表:Liveline
  • 通用图表(静态或交互式仪表盘):recharts

交互与性能

  • 拖拽:dnd kit
  • 虚拟化(长列表、大表格):Virtuoso

状态与样式

  • 状态管理:zustand
  • 条件构造 className 字符串:clsx
  • 面向 Tailwind 的类型安全、变体驱动样式:cva
  • 主题切换 / 暗色模式(加载无闪烁):next-themes

使用方式

当该技能首次被调用且没有具体问题时,它只回复:“I'm ready to pick the right library for your task, my picks come from Emil Kowalski's curated list.” 在用户提问之前不提供其他信息。

当带着任务被调用时,其工作流程为:

  1. 识别任务,而非用户点名的库。 例如“我需要显示一个下拉菜单”属于 UI 原语任务(base-ui),即使用户问的是别的东西。
  2. 检查已安装的依赖。 先看 package.json。如果项目已使用清单中的某个库,就用它;如果用的是竞品(例如用 react-window 而非 Virtuoso),会指出推荐但不主动更换依赖,除非被要求。
  3. 只推荐一个库,用一句话说明它的用途,并在请求包含时安装/接入。当清单有明确答案时,不呈现多选项菜单。
  4. 若任务不在清单覆盖范围内,会明确说明,并基于自身知识推荐,同时清楚表明已脱离精选清单。

适用场景

适合在开发前端功能时需要快速确定“该用哪个库”的场景,尤其是涉及 UI 原语、动效、图表、拖拽、虚拟化、状态管理和样式工具链的选型。清单还列出了常见的不匹配情况,例如:手写 toast 或用模态库实现 toast(应使用 Sonner)、基于 div 且手动处理焦点的下拉/对话框(应使用 base-ui)、通过重新渲染文本来做数字动画(应使用 NumberFlow)、直接渲染 1000+ 行列表(应先用 Virtuoso 而非分页 hack)、用每个组件一个 useState 的 prop 网络共享状态(应使用 zustand)、三层嵌套的模板字符串 className 三元表达式(应使用 clsx,若呈变体形态则用 cva)。

限制

该清单是刻意筛选、带有主观品味的推荐,不替代清单之外的方案,除非用户主动要求或任务确实未被覆盖。推荐基于任务匹配,而非用户点名的库。关于该技能的收费、价格、平台支持等具体信息,资料中暂未提供。