build-daisyui-mcp 是 daisyUI 5 工作的操作层技能,配合 daisyui-blueprint MCP 工具使用。其核心目标是保持 SKILL.md 精简:选择正确的工作流、只获取需要的参考资料,把庞杂细节留在 references/ 中。
一、用途 适用于以下场景:使用 daisyUI 5 + Tailwind v4 构建或重构 UI;将 Figma 画板或截图转换为 daisyUI 代码;选择合适的代码片段类别(components、component-examples、layouts、templates、themes);根据品牌色、图片或现有 UI 生成或调整自定义 daisyUI 主题。 不适用于:没有 daisyUI 目标的纯 Tailwind 工作;daisyUI 以外的 UI 库;不需要 daisyUI 代码、片段或主题的通用设计讨论。
二、运行前提与两种模式 技能有两种运行模式,在编写 UI 前需先选择:
- 片段驱动模式(首选):daisyui-blueprint-daisyUI-Snippets 可用;当任务从 Figma 开始时,daisyui-blueprint-Figma-to-daisyUI 也可用。
- 仅参考回退模式:MCP 工具不可用,但任务足够简单,可仅依据 references/component-catalog.md 和 references/integration/tailwind-v4-setup.md 构建,无需猜测片段键。 在正式工作前,可用一次小请求做健全性检查:向 daisyui-blueprint-daisyUI-Snippets 发送 {"components": {"button": true}}。若成功,继续片段驱动工作流;若失败且任务依赖片段发现、模板或 Figma 提取,应停止并请用户启用 MCP 工具,而不是猜测;若失败但任务是小静态页面或组件,则切换到仅参考回退模式。
三、主要能力与规则
- 仅使用嵌套对象语法调用 daisyui-blueprint-daisyUI-Snippets,数组会静默失败。
- 先获取再猜测:不知道有效类名或示例键时,先获取组件参考。
- 批量请求,每次最多约 8 项,避免响应过大溢出上下文。
- 使用正确类别:components 是参考数据(类名、部件、修饰符),不是可复制 HTML;component-examples 是可用标记;themes 返回 CSS 而非 HTML。
- 页面工作优先从 templates 或 layouts 开始,不要用大量孤立组件拼装整页。
- Figma 流程必须遵循 FETCH → ANALYZE → GET SNIPPETS → BUILD,不得跳过分析。
- 使用语义化 daisyUI 颜色(primary、secondary、accent、neutral、base-*、info、success、warning、error)及 *-content 变体。
- 不要对 daisyUI 语义颜色使用 dark:,主题已自动适配;dark: 仅用于 daisyUI 主题系统之外的自定义 Tailwind 工具类。
- 优先使用 CSS-only 的 daisyUI 交互模式,除非应用特定行为确实需要自定义 JS:drawer 用 checkbox 切换(is-drawer-open: / is-drawer-close: 变体);modal 用 <dialog> 配合 .modal-open 或 JS .showModal();dropdown 用 <details> 或 popover API;tabs/steppers 用 daisyUI 单选/标签模式。
- 保持 daisyUI v5 语法(fieldset、dock、tabs-lift、card-border,不使用 input-bordered、form-control)。
- 只加载当前任务需要的 1–3 个参考,不要把整个技能塞进上下文。
- 根据目标框架调整输出:React/Next.js 用 className、自闭合空元素、htmlFor、tabIndex;Vue 用 :class 绑定;Svelte 用 class: 指令。
四、使用方式与工作流
- 组件或页面组合:先确定范围与起点(单组件/区块 → 先取 components 再取针对性 component-examples;整页/应用外壳 → 先取 template 或 layout)。写标记前先获取参考数据,批量获取相关组件(每次约 8 项)。从外到内组装:页面外壳 → 导航 → 主内容块 → 细节组件。结构正确后再应用语义颜色和响应式工具类。若页面有品牌,先做主题再最终打磨。
- Figma 转 daisyUI:FETCH(调用 daisyui-blueprint-Figma-to-daisyUI,优先节点级 URL,depth 3-5,includeImages 默认 false)→ ANALYZE(布局方向、间距、组件候选、字体比例、圆角阴影颜色角色)→ GET SNIPPETS(批量,最多约 8 项)→ BUILD(映射到 daisyUI 组件 + Tailwind 布局类,使用语义颜色,显式添加响应式断点)。必要时恢复:树太浅则提高 depth 重新获取;文件过大则换更具体节点 URL;无 daisyUI 等价物则用原始 Tailwind 包裹在语义容器中。
- 截图或原型转 daisyUI:自上而下扫描(导航/头部、hero、侧栏、主内容、页脚/dock),先识别页面外壳,再编目可见模式(组件类型、变体、尺寸、语义颜色角色、状态),获取组件和最佳匹配示例,先组装外壳再填充细节。非 daisyUI 元素(图表、地图、视频播放器)用卡片包裹并加 TODO 注释,不要用 daisyUI 组件重建。
- 主题生成:确定来源(品牌色板、图片、现有网站或 Figma tokens),映射到 daisyUI 语义(primary、secondary、accent、neutral、base-100/200/300、base-content、info、success、warning、error),生成匹配的 *-content 颜色并保证可访问对比度,输出 OKLCH 格式的 @plugin "daisyui/theme" CSS,用语义组件验证。
五、适用场景与限制 适用:daisyUI 5 + Tailwind v4 的 UI 构建与重构、Figma/截图转代码、主题生成、表单与导航模式、从 Bootstrap 或原始 Tailwind 转换、提示词工程与多步链。 限制:不适用于纯 Tailwind、其他 UI 库或无需 daisyUI 的通用设计讨论;依赖 MCP 工具时若工具不可用且任务复杂,应停止并请求启用;不得猜测片段键、模板名或隐藏组件变体;无 daisyUI 等价物的元素不得强行套用组件。
六、恢复规则(防止偏离) 片段工具返回空 → 先检查嵌套对象语法;不知道示例键 → 先取 components 类别;类名看似合理但未验证 → 通过 components 或 component-catalog.md 验证;MCP 调用过多 → 批量并混合类别;整页由无关片段拼成 → 停止并从 template 或 layout 重启;MCP 或 Figma 设置/认证错误 → 查 tool-api-reference.md;标记使用 bg-blue-500、text-white 或 dark: → 替换为语义颜色类;为标准 drawer/modal/dropdown 添加 JS → 改回 CSS-only 机制;出现 v4 术语(form-control、input-bordered、label-text、tabs-lifted、btm-nav)→ 转换为 v5 等价物并加载迁移参考;MCP 响应过大(>10 KB)→ 减少批量并更有针对性。