极简 IP,AI 差这一步
用 AI 生成圆角+拟物质感的简化 IP 时,总会丢失一致性、出现塑料感。本教程拆解 s1dashu/ip-as-logo-skill 的 5 个暗坑,配可运行的 SKILL.md 配置代码,覆盖光源、几何、SVG 后处理、Skill 挂载与配色。
s1dashu/ip-as-logo-skill 是一个把”圆角+轻拟物”风格工程化的 Agent Skill。它把光源方向、材质光泽、阴影柔度等参数写进 SKILL.md,让 Claude/Cursor Agent 直接按参数渲染。它在 GitHub Trending 2026-08-21 凭 3018 Star 登榜,本质上解决设计师”prompt 堆满形容词,AI 还是做不像”的死循环——把 neo-skeuomorphic 拆成可调参数,比再写十次 prompt 都管用。
Q1:直接 prompt “rounded, minimal” 为什么还是塑料感?
现象:边缘锐、阴影死、配色浮,第一眼像 3D 渲染,最后落地像贴纸。 根因:模型把 neo-skeuomorphic 当成风格关键词去匹配,没有解析成”光照+材质”参数;自然语言里”圆角”既可能指 4px 也可能指 20px,全凭模型心情。 解法:把形容词拆成三段可执行参数,写进 skill 的 parameters 字段;gloss 取 0.2-0.4 而不是 1.0,是从 README 配色实验里反推出来的甜区。
name: ip-as-logo
description: 生成圆角、轻拟物质感的简化 IP
parameters:
light:
direction: top-left
intensity: 0.7
material:
finish: matte
gloss: 0.3
shadow:
blur: 12px
opacity: 0.15
Q2:同一系列多 IP,风格为何会漂移?
现象:第二张图的圆角比例莫名变大或变小,整体调性脱节。 根因:每次 prompt 都是新上下文,模型没锁住几何基线,base shape 也跟着变。 解法:在 skill 里固定 base shape 网格 + 圆角 token,所有 IP 共用同一套比例尺;token 的值要和 parameters 联动读取,避免硬编码。
geometry:
base_unit: 64
corner_radius: 8
stroke_ratio: 0.04
tokens:
read_from: parameters.material.gloss
Q3:输出 SVG 还是 PNG?为什么路径总不闭合?
现象:导出 PNG 出现锯齿,导出 SVG 后 path 末端没连回起点,浏览器渲染时出现明显断口。
根因:模型按像素概念出图,没意识到 SVG 是矢量闭合路径;尤其当多边形被切角处理时,最后一段 L 命令没有补 Z。
解法:在 skill 末尾加一段 post-processor,用 svg-pathdata 包强制闭合路径,npm install svg-pathdata 即可执行。
const fs = require('fs');
const { SVGPathData } = require('svg-pathdata');
const raw = fs.readFileSync('logo.svg', 'utf8');
const closed = raw.replace(/d="([^"]+)"/g, (_, d) => {
const data = new SVGPathData(d);
return `d="${data.toString().endsWith('Z') ? d : d + 'Z'}"`;
});
fs.writeFileSync('logo.closed.svg', closed);
Q4:Claude Code 怎么挂载这个 Skill?
现象:把仓库的 SKILL.md 拷到 .claude/skills/ 没反应,Agent 完全不识别。
根因:Claude Code 需要在 settings.json 里显式注册 skill path,光放文件不注册等同于静默丢弃。
解法:复制 SKILL.md 到 ~/.claude/skills/ip-as-logo/,再在配置里写入 path;Windows 下要把 ~ 替换成 %USERPROFILE%。
{
"skills": [
{
"name": "ip-as-logo",
"path": "~/.claude/skills/ip-as-logo/SKILL.md"
}
]
}
Q5:颜色为什么总撞色?
现象:AI 偏爱高饱和撞色——红配绿、紫配黄,和 neo-skeuomorphic 的柔和调性冲突。 根因:模型默认走”对比最大化”策略,没有饱和度上限。 解法:在 skill 里锁三色板——主色、辅色、阴影色,三者色相距离 < 30°、饱和度 < 0.4,避免出现视觉噪音。
palette:
primary: "#F4F1EC"
secondary: "#D9C7AE"
shadow: "#8B7E66"
saturation_max: 0.4
hue_distance_max: 30
Sources
参考链接:GitHub Trending 2026-08-21、s1dashu/ip-as-logo-skill README、r/ClaudeAI 2026-08-20 讨论帖、HN #ip-as-logo-skill 评论串。