> 社媒卡片视觉设计系统:提供配色、中文字体层级、满画幅布局、品类骨架和死空白/密度质检,避免模板化 PPT 与廉价 AI 感。 当用户说“卡片难看、优化视觉、封面/海报设计、排版配色、卡片填不满、AI 味重”时使用;所有 card-*、poster-hero 等视觉产出应把它作为设计规范,而非最终渲染器。
npx skills add https://github.com/ZJU-REAL/Easel --skill card-design
> 这不是一个"生成器",而是一套设计系统 + 硬规则。所有"HTML/CSS → 截图"的卡片/海报 SKILL
> 在写第一行 HTML 之前先读它。核心信念(来自实战开源方案与去 AI 味研究的一致结论):
> 高级感来自「克制 + 层级 + 网格 + 填满」,不是靠阴影/圆角/渐变堆出来的。
> 「没人做设计决定」= AI 选了一万张图的统计平均值 = 廉价。本系统就是替你把决定钉死。
references/styles.md 的风格库里给用户几个选项,让 ta 挑一个——styles.md 里选中风格给了字体(family+字重)+配色(hex)+版式性格+装饰——严格照它,整套卡片全程只用这一套,不自由发挥、不换色。(配色细节另见 palettes.md)typography.md——「字越大越细」(字体已装 Noto Sans/Serif CJK 全字重,大标题用 Thin/Light)。手机端正文 ≥28px。card-recipes.md 选卡型骨架(封面/账本/管线/对比/矩阵/数据/金句),按其最小密度线填内容。 python skills/openclaw/card-design/scripts/card_audit.py audit -f outputs/主题名/card_*.png
任何 FAIL(死空白/跨度不足/头重脚轻)→ 按 layout-laws.md「欠填修正阶梯」补内容或换骨架重渲,全 PASS 再交付。
flex:1 把内容顶成垂直居中、绝不加装饰 blob 填空。→ layout-laws.mdtypography.mdanti-ai-slop.mdbg-clip-text 渐变字、禁玻璃拟态、禁"居中一切"。→ anti-ai-slop.mdstyles.md — ⭐ 风格库(9 种命名风格,用户选一个),每个含字体/配色hex/版式性格/装饰/适用。第一步先读它选风格。palettes.md — 锁定配色细节(杂志6套 + 瑞士4套 + 莫兰迪/奶油补充),带 hex。typography.md — 中文字体层级、"越大越细"、最小字号死线、中英混排(Noto Sans/Serif CJK 全字重)。layout-laws.md — 填满画幅法则、4带密度自检、欠填/溢出修正阶梯(治死空白)。anti-ai-slop.md — AI 廉价感 P0/P1/P2 反例清单 + 高杠杆去 AI 味动作。card-recipes.md — 按卡型/品类的骨架 + 每种的最小密度线。style.md 读品牌配色/风格倾向;但优先保证本系统的高级感底线——若 Profile 没给明确视觉规范,就按本系统选立场+锁色,别退回"柔和渐变"这类模糊描述。account 名用作水印。见 EASEL-META.md。规则再提炼自 op7418/guizang-social-card-skill(设计立场/填满法则/密度自检,AGPL——仅借鉴规则未抄文件)、comeonzhj/Auto-Redbook-Skills(主题皮肤/自动分页)、funboy322/avoid-ai-design + yetone/kill-ai-slop(去 AI 味清单)、cardplanet/Ant-Card(风格命名与模板库思路)。
Take zju-real/card-design from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.