用途:在实现主题模式、配色方案或系统偏好检测时使用,适用于需要同时支持明暗两种外观的前端项目。
主要能力:基于 CSS 变量进行 token 化主题定义;通过 prefers-color-scheme 检测系统偏好;提供用户手动切换;避免首屏闪烁(FOUC);在 Next.js 中配合 next-themes 的 ThemeProvider 使用;提供 light/dark/system 三态切换按钮;偏好写入 localStorage。
使用方式:在 :root 与 .dark 下分别定义 CSS 变量(如 --background、--foreground、--glass-bg);用 @media (prefers-color-scheme: dark) 搭配 :root:not(.light) 响应系统偏好;在 Next.js 的 app/providers.tsx 中包裹 ThemeProvider,设置 attribute="class"、defaultTheme="system"、enableSystem;切换组件通过 useTheme 调用 setTheme("light"|"dark"|"system");在 <html> 上加 suppressHydrationWarning 并在 head 内联脚本,读取 localStorage 与 matchMedia 提前设置 dark 类以防 FOUC。
该技能包含强制的 Agent 工作流:实现前用 TeamCreate 启动 3 个 agent,分别调用 fuse-ai-pilot:explore-codebase 检查现有主题配置、fuse-ai-pilot:research-expert 查阅 next-themes 或主题提供方文档;实现后用 fuse-ai-pilot:sniper 验证。
适用场景:需要系统偏好与手动切换并存的网站或应用,尤其是 Next.js 项目。
限制与注意事项:不应到处硬编码 dark: 类、不应忽略系统偏好、不应遗漏 localStorage、不应允许加载闪烁。校验清单包括两种模式的 CSS 变量、尊重 prefers-color-scheme、可手动切换、无 FOUC、两种模式均有玻璃态变体、偏好存入 localStorage。具体版本、依赖安装命令、价格与平台支持资料暂未提供。