餐厅品牌色板
将餐厅视觉证据转化为一个小型、可访问的网站配色系统。将重复出现的标牌、Logo、菜单和室内颜色视为证据。最终的令牌角色和比例必须是一项设计决策,在保留证据的同时确保网站可读性。
在进行颜色提取或选择之前,请阅读 references/brand-palette-playbook.md。在选择可复用的组合族时,请阅读 references/palette-combinations.md。复制 assets/brand-palette-template.json 并使用 assets/palette-combo-library.json,而不是发明一个未经记录的色板。
选择模式
- 提取: 从选定的图像区域中采样候选色样,不决定其含义。
- 审核: 将颜色分类为品牌锚点、支持色、中性色、偶发色或已拒绝的噪声。
- 创建: 选择一个锚点、一个组合族以及一个完整的网站令牌系统。
- 刷新: 重新检查证据或对比度,并更新现有色板锁,而不改变布局结构。
- 审查: 渲染预览,验证每个必需的配对,并报告集成合约。
让 $restaurant-demo-builder 选择配方、布局语法、受众和转化目标。在身份证据确立之后、视觉样式定稿之前使用此技能。让 $restaurant-exterior-image-studio 生成店面资产;此技能可以检查其未经修改的原始来源以获取颜色证据,但不得将 AI 重新样式化的输出视为新的品牌真实信息。
准备色板锁
将 brand-palette.json 保存在 Demo 研究记录或配方锁旁边。记录:
- 餐厅身份和证据来源;
- 观察到的颜色、区域、来源 ID、置信度和分类;
- 被拒绝的颜色及拒绝原因;
- 选定的锚点和可复用组合 ID;
- 从观察到颜色到网站令牌的推导过程;
- 必需的前景/背景配对;
- 预期的颜色比例和使用说明;
- 审查状态,以及结果是基于证据的还是明确标记的备用方案。
保留来源 URL、检查日期和 SHA-256 值。绝不要存储 API 令牌或私人凭证。
在采样前检查证据
优先选择重复出现、承载身份的表面:
- 官方 Logo 或字标;
- 店面标牌、遮阳棚或有意绘制的墙面颜色;
- 印刷菜单的标题、分隔线及品牌面板;
- 重复出现的室内墙面、卡座、瓷砖或服务台颜色;
- 包装、制服或社交媒体图像,仅当其当前餐厅身份得到验证时才使用。
拒绝或隔离食物颜色、皮肤、天空、云朵、树木、草地、沥青、相邻店铺、反光、临时装饰、屏幕发光、暖色灯光、深色相机阴影以及自动白平衡错误。不要将“最常见的像素”选为品牌颜色。
使用 view_image 检查每个来源。当精确采样有用时,仅裁剪已验证的品牌区域:
python3 <调色板技能>/scripts/extract_swatches.py \
--image <来源图像> \
--crop <左> <上> <右> <下> \
--colors 8 \
--output <工作目录>/sampled-storefront-colors.json
该脚本报告的是像素,而不是品牌含义。在提升其等级之前,记录下为什么某个采样颜色是相关的。
选择一个锚点和一个组合族
从重复出现的高置信度证据中选择锚点。优先选择两种不同来源类型(如标牌加菜单)之间的一致,而不是单张照片内的重复。当只有一份干净的、由所有者控制的 Logo 或菜单存在时,如果区域明确,也可以足够。
不要强制字面锚点覆盖页面的绝大部分。将其视为用于操作、标题、分隔线或结构带的品牌锚点。推导出一个平静的画布和表面中性色,使食物、菜单文本和方向指引易于浏览。70 / 20 / 10 的画布及表面 / 结构 / 强调色比例只是一个起点,而非固定公式。
从组合库中选择最接近的族,然后根据证据调整其角色。该库是角色与和谐的指南,而非餐厅品牌的证明。在 derivations 中记录每一次变暗、变亮、去饱和或中和。限制色相变化;如果为满足可读性或和谐性而需要不同的色相,则仅将其用作支持色并解释选择原因。
当没有可靠的品牌颜色时,使用与配方兼容的中性备用方案,将 selection.mode 设置为 recipe-fallback,并将色板标记为创意提案。不得声称它来自于餐厅。
构建网站令牌
提供模板中的所有令牌,包括画布、表面、正文文本、淡化文本、主要操作、悬停状态、主要操作上的文本、强调色、强调色上的文本、边框、控件边框和焦点。尽可能将锚点作为 primary 的来源,但在需要满足文本对比度时进行变暗或变亮。
记录正常文本、大文本和非文本控件的必需配对。验证正常文本为 4.5:1,大文本为 3:1,有意义的控制或焦点边界为 3:1。不要仅依赖颜色来传达选中、错误或可用状态。
在令牌工作之前运行证据门,在所有令牌完成后运行交接门:
python3 <调色板技能>/scripts/validate_palette.py \
--palette <演示>/brand-palette.json \
--combo-library <调色板技能>/assets/palette-combo-library.json \
--stage evidence
python3 <调色板技能>/scripts/validate_palette.py \
--palette <演示>/brand-palette.json \
--combo-library <调色板技能>/assets/palette-combo-library.json \
--stage handoff
集成前预览
渲染一个独立预览,展示令牌、按钮、菜单行、验证表面和测量的配对:
python3 <调色板技能>/scripts/render_palette_preview.py \
--palette <演示>/brand-palette.json \
--out <演示>/brand-palette-preview.html
视觉检查预览。确认结果感觉像是那家餐厅,没有变成锚点颜色的无差别墙壁,保留了食物的食欲,并确保在移动设备上淡化文本可读。
移交给演示构建器
将经过验证的 brand-palette.json、预览以及以下约束传递给 $restaurant-demo-builder:
- 保留选定的配方和布局指纹;
- 将记录的令牌映射到 CSS 变量,而不是引入临时的十六进制值;
- 按照记录的角色和比例使用锚点;
- 保持摄影色彩分级与 UI 颜色分离;
- 在任何令牌更改后重新运行色板验证;
- 在桌面和移动端进行视觉验证,包括图像上的文本和所有按钮状态。
不要让色板选择强制使用旧的页面结构或覆盖已验证的餐厅证据。布局、品牌颜色和摄影是独立的锁,它们在最终的 Demo 中汇合。
交接
报告已接受和已拒绝的证据颜色、锚点置信度、选定的组合、令牌推导、测量的对比度结果、预览路径、备用方案状态以及任何需要所有者确认的问题。未经明确授权,不得发布或联系该餐厅。
示例调用
$restaurant-brand-palette 检查这张店面、菜单和用餐区照片,然后创建一个网站色板锁。$restaurant-brand-palette 提取真实的品牌颜色,并解释你拒绝了哪些照片颜色(如灯光或环境因素)。$restaurant-brand-palette 审查这个 Demo 的色板,修复薄弱的组合,并将经过验证的 CSS 角色移交给 restaurant-demo-builder。