name: ppt-brand-voice
description: "PPT pipeline 品牌声音 skill — public target skills/ppt-brand-voice/SKILL.md。锁定 MIRISE 品牌配色 / 字号 / 调性。Mode 1:从 master-template.css 抽取主题 tokens 注入 SlideSpec.theme。Mode 2(PR3+):anti-AI-tone 检查。"
ppt-brand-voice
本 skill 是 PPT pipeline 的品牌 SSOT 中介——把"品牌锁定在 CSS"的单一真源翻译成 SlideSpec 可消费的 JSON tokens。
输入
cssPath:agents/ppt-pipeline/assets/master-template.css的绝对路径
Mode 1:主题 tokens 抽取(brand-theme)
把 master-template.css :root 的 7 主配色 + 5 证据色 + 白色 + 8 字号抽出成 JSON。
调用
"$MIRISE_BUN_BIN" agents/ppt-pipeline/skills/brand-voice/scripts/brand-theme.ts \
agents/ppt-pipeline/assets/master-template.css
输出
{
"colors": {
"primary": "#123E93",
"deep": "#0A1633",
"accent": "#FF9B3F",
"bg": "#F5F8FF",
"text": "#3E3E3E",
"muted": "#999999",
"line": "#E0E0E0",
"white": "#FFFFFF",
"success": "#2E7D4F",
"warn": "#D97706",
"calc": "#7C3AED",
"client": "#0284C7",
"assume": "#DC2626"
},
"fontSizes": {
"coverTitle": "44pt",
"coverSub": "20pt",
"chapterTitle": "36pt",
"pageTitle": "24pt",
"pageSub": "14pt",
"body": "12pt",
"caption": "10pt",
"footer": "9pt"
}
}
消费方
- PR3
skills/slide-architect/SKILL.md— 生成 SlideSpec 时把本 JSON 塞进spec.theme - PR5+ pptx 渲染 — 从
spec.theme读色值
契约
- CSS 是 SSOT。改配色 → 改 CSS → 本 skill 自动反映;禁止在其他地方硬编码色值。
- 13 colors + 8 fontSizes 缺一会让
extractBrandTheme抛错(见scripts/brand-theme.ts)。
Mode 2(占位):anti-AI-tone 检查
PR3 交付。读取 context/anti-ai-tone-rules.md 词表,对页面文案打分 ai_tone_score ∈ [0,100]。