mcpbeat

Ardot Style Guide

balabalabalading/ardot-style-guide

| 从头设计或为 Ardot 项目应用视觉主题时使用此技能。 涵盖 `search_style_guide` → `build_style_guide` 工作流程,用于发现和应用完整的设计系统(颜色、排版、间距、布局模式)。 触发条件:"设计落地页"、"创建仪表板"、"应用深色主题"、 "设置设计系统"、"选择调色板"、"为应用选择字体"、 "样式指南"、"视觉风格"、"外观和感觉"。

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
118
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/balabalabalading/huuuuuuho-skills --skill ardot-style-guide

The instruction itself

5 sections, as written by the author

ardot-style-guide — 样式指南搜索与构建

通过 search_style_guidebuild_style_guide 工具链发现和应用完整的设计系统。Ardot 独有的能力,Figma 没有等效功能。

技能边界

  • 当用户想要从头建立视觉风格时使用此技能
  • 在任何创建带样式 UI(颜色、排版)的 batch_edit 之前使用此技能
  • 如果用户已有已建立的设计系统和已知令牌,可跳过此技能
  • build_style_guide 的输出是权威性的 — 所有下游工具必须严格遵循其值

前置条件

  • 必须已调用 fetch_editor_state(includeSchema: true)
  • 应为目标设计类型加载 fetch_guidelines(topic)

search_style_guide — 三轮回退协议

第一轮:关键词搜索

提供特定关键词以定位用户意图。

search_style_guide({
  "topic": "landing-page",        // 或 web-app、mobile-app、slides、table
  "designKeywords": "SaaS dashboard modern clean professional",
  "colorKeywords": "dark mode cool blue professional",
  "typographyKeywords": "modern sans-serif clean readable",
  "layoutKeywords": "dashboard analytics cards grid"
})

收到结果后,逐一审查每个领域:

  • style:样式类别是否与请求的视觉风格匹配?
  • color:检查背景、卡片和前景值。如果用户想要深色模式但所有背景值都是浅色(#F_xxxx 范围),则此领域没有合适匹配。
  • typography:情绪是否匹配?字体是否可用(使用 get_available_fonts 检查)?
  • layout:模式是否适合页面类型?

如果某个领域的所有候选都合适 → 继续到 build_style_guide

第二轮:完整目录(如果任何领域没有合适匹配)

对于第一轮没有合适匹配的领域,再次调用 search_style_guide,对该领域的关键词使用 true 以获取完整目录:

search_style_guide({
  "topic": "landing-page",
  "designKeywords": "SaaS dashboard",
  "colorKeywords": true,           // 颜色的完整目录
  "typographyKeywords": true       // 排版的完整目录
})

第三轮:自身设计知识(仅在第二轮也失败时)

仅对第二轮后仍无合适匹配的领域,你可以使用自己的设计知识。这应该很少见。


build_style_guide — 权威性约束

一旦你在所有领域做出选择,调用 build_style_guide

build_style_guide({
  "selections": {
    "style": 2,          // 搜索结果中的索引或名称
    "color": 1,
    "typography": 3,
    "layout": 0
  }
})

关键:返回的设计系统是权威性的

build_style_guide 响应提供必须使用的精确值

  • 颜色:使用精确的 #HEX{r, g, b} 值 — 不要调整
  • 排版:使用精确指定的字体系列、大小、粗细
  • 边框半径:使用精确的 px 值
  • 间距:使用精确的 px 值
  • 效果:使用精确的阴影/模糊参数

> 硬性关卡:如果设计系统说背景是 #FAF5FF,使用 #FAF5FF

> (转换为 0–1 范围用于 batch_edit)。如果你意识到它与用户意图冲突

> (例如,用户想要深色但得到浅色),返回 search_style_guide 使用更正后的关键词

> — 不要静默覆盖值。

将样式指南值转换为 batch_edit

样式指南十六进制颜色 → batch_edit {r, g, b} 0–1 格式:

#FAF5FF → {r: 0.98, g: 0.96, b: 1.0}
#1A1A2E → {r: 0.10, g: 0.10, b: 0.18}
#E8714A → {r: 0.91, g: 0.44, b: 0.29}

每个领域的选择策略

样式

将样式类别名称与用户描述匹配。信任内容而非搜索分数 — 匹配意图的低分候选比不相关的高分候选更好。

颜色

具体检查背景(主表面颜色)、卡片(次表面)和前景(文本/图标)值。这三个值告诉你调色板是浅色还是深色。

排版

在选择之前使用 get_available_fonts 验证字体可用性。如果两种字体都不可用,字体配对就没有用。检查标题和正文字体。

布局

将模式名称与功能意图匹配。例如,"pricing" → 寻找比较/表格布局;"dashboard" → 寻找卡片网格布局。


topic 参数指南

| topic | 用途 | 典型 designKeywords |

|-------|------|---------------------|

| landing-page | 营销页面、主页、促销网站 | "hero section"、"CTA"、"features" |

| web-app | SaaS 仪表板、管理面板、内部工具 | "dashboard"、"data table"、"sidebar" |

| mobile-app | iOS/Android 应用屏幕 | "bottom nav"、"cards"、"list" |

| slides | 演示文稿 | "title slide"、"content"、"chart" |

| table | 数据表和仪表板 | "data grid"、"filters"、"pagination" |


完整工作流程总结

1. fetch_editor_state(includeSchema: true)
2. fetch_guidelines(topic)                          → 页面类型的设计规则
3. get_available_fonts                              → 检查字体可用性
4. search_style_guide (第一轮)                      → 关键词搜索
5. [如需要] search_style_guide (第二轮)             → 完整目录回退
6. build_style_guide(selections)                    → 获取权威设计令牌
7. apply_variables                                  → 创建与令牌匹配的变量
8. batch_edit                                       → 使用精确的令牌值构建 UI

How to use it

Copy the folder

Take balabalabalading/ardot-style-guide from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.