zhongguose-palettelisted
Install: claude install-skill aEboli/zhongguose-palette
# 中国传统色调色板
**先保可读,再做层次,最后加颜色。** 色名有典故、三色分数高,都不能替代实际界面的观感。
将用户原话交给 `ask` 保留意图,拿到的是候选;检查用途与实际配对后再推荐。
```bash
python scripts/palette.py ask "茶叶小店的网站,安静一点"
```
脚本回读一行 `解读: 网页界面 · 素净耐看 · 浅色底`,然后给 2 套方案:一条按真实面积
等比的方块条(`██…▓▓…▒▒`,底/块/点),以及色名、用途、面积、文字配对。
方块条只表达面积,不能用它判断美感;不要把候选分数或文化出处当作质量证明。
## UI 配色的验收顺序
1. **背景与内容先成立。** 普通卡片用 `surface`,正文和说明用 `text` / `muted`。
`secondary` 留给少量导航、选中项或图形,配 `secondary_fg`;不要把每张卡片都涂满彩色。
2. **默认只建立一个主色系。** 日常、清雅、阅读型界面以中性色承托一种有彩色系;
第二种彩色只在用户需求或明确主题需要时小面积使用。故宫、敦煌、年画等浓烈主题按需求处理。
灰阶也要协调冷暖,不给背景、说明、描边各挑一种带色的灰。
3. **交互沿用同一种颜色。** 按钮只用 `accent` / `accent_hover` / `accent_active`,
共用 `accent_fg`。没有安全变体时允许沿用原色,靠按压位移等已有交互提示区分,不能跳色。
`success` / `warning` / `error` / `info` 只用于真实状态,不能拿来装饰每张卡片或每个图标。
4. **检查实际配对。** 正文、说明对页面与卡片,以及按钮字对三种状态均须 ≥4.5:1;
输入轮廓、焦点对相邻背景须 ≥3:1。焦点环留出背景色间隔。装饰分隔线不必强拉到 3:1。
不用文字透明度掩盖层次问题,也不把 4.499 四舍五入为通过。
5. **看组件再交付。** 用 `preview --media ui` 带上当前的 `--scene` / `--mood` / `--dark`,
检查真实文字、卡片、输入与按钮。若预览重新生成的三色和选定方案不同,以选定方案的
`pick` 交接文件制作预览;不能把另一套更漂亮的配色当作这一套的效果。
优先交付一套明确推荐,可附一套有实际区别的备选;不要堆满所有颜色。`pixel_pct` 是面积参考,
无需为了凑比例涂满页面。交付时说明颜色、用途、文字配对和一条最需要避免的用法即可。
应用到前端前读取 `references/handoff.md`,包含 `tokens_*`、`verify` / `verify_dark` 与 `issues`。
存在未解决的文字对比问题时,标明限制并调整用途或重选方案,不能称为“可直接使用”。
## 路由
| 用户在做什么 | 跑什么 |
| --- | --- |
| 说了一句话,想要配色 | `ask "<原话>"` |
| 反馈「太素了」「红少一点」「改深色」 | 先读 `references/tweaks.md`,再 `tweak "<原话>" --mood <当前档>` |
| 说「就这套」 | `pick "<底+块+点>" --media ui --pair-dark` |
| 给了两个色要补全 | `complete <色A> <色B>` |
| 问某个色名 |