用途:将已保存的品牌配置转换为三种可直接使用的标志变体,输出为纯矢量 SVG,可无损缩放,无需账号、密钥或网络调用。生成器 lib/logo.mjs 以确定性方式绘制各变体;技能负责解析当前品牌配置、运行生成器、保存文件并送审。仅在按需执行 /brand-export 命令时才生成位图副本。
主要能力:生成字标(品牌名加标题字体与强调标记)、字母组合(圆角方块内一至两个首字母)、网站图标(64×64 单首字母)。每个文件带 role="img" 与 aria-label,仅使用调色板颜色,文本进入标记前经 HTML 转义。
使用方式:先运行 /brand-status(或 lib/brand.mjs 中的 resolveActive)确认当前品牌;用 Glob 定位品牌目录,读取并用 validateProfile 校验配置;确定标志文本(可选参数,默认品牌名,含糊时询问用户);运行确定性生成器:import { loadProfile } from '../../lib/brand.mjs'; import { buildLogos } from '../../lib/logo.mjs'; const profile = loadProfile(activeDir); const { wordmark, monogram, favicon } = buildLogos(profile, { text: 'Northwind' }); 用 Write 工具写出 output/[slug]-wordmark.svg、output/[slug]-monogram.svg、output/[slug]-favicon.svg;交给 visual-guardian 子代理做调色板、对比度与留白检查,应用其修复或上报其标记;报告保存路径并描述各变体。
前提条件:需有通过 /brand-new 创建的当前品牌配置(brand/ 目录,或带 brand/.active 指针的 brands/[slug]/),读取其 color-system.json 与 typography.json;PATH 中需有 Node.js;对工作仓库的 output/ 目录有写权限;可选 sharp 依赖,仅在后续需要 PNG 副本时使用。
限制与错误处理:无当前品牌配置时停止并引导用户运行 /brand-new,不虚构调色板;配置未通过 validateProfile 时报告问题字段(如非十六进制颜色、缺少字体族)并停止;标志文本含糊时询问用户;渲染时标题字体不可用则应用 typography.json 中声明的回退字体并标记替换,不静默不匹配;visual-guardian 标记对比度不达标时应用修复或上报,不发布低于配置 minContrast 的资产。排查渲染问题可先用 /brand-status 校验配置,再重跑生成器并复查。