Communitygithub.com

zhaimengrica-bit/ai-design-skills-ink-wash-restyle

水墨游记 Ink-Wash Restyle —— 照片转手绘水墨游记画面的 Skill

Was ist ai-design-skills-ink-wash-restyle?

ai-design-skills-ink-wash-restyle is a Claude Code agent skill that 水墨游记 Ink-Wash Restyle —— 照片转手绘水墨游记画面的 Skill.

Funktioniert mitClaude Code~Codex CLI~Cursor
npx skills add zhaimengrica-bit/ai-design-skills-ink-wash-restyle

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

ink-wash-restyle — 水墨游记画面(v16 固定版)

把任意照片重绘为行程手绘水墨感的游记画面

  • 黑白水墨为底:墨色五层 + 大面积留白(水墨感优先)
  • 克制彩色笔触(约 20%):只在视觉中心点染传统国画色,不抢水墨戏
  • 游记标签:画面叠加"画面描述 · 地点"文字 + 固定 朱砂印章,像旅行手账

保留:主体类别、空间关系、人物身份(性别 / 年龄 / 关键外观)。替换:写实材质 → 墨色笔触,照片光影 → 墨韵与留白,写实色彩 → 局部传统国画色。

何时触发

用户上传或引用一张照片,并表达"水墨 / 国画 / 写意 / 水墨化 / 游记 / 手账 / ink wash / shuimo / sumi-e"等意图。本 skill 只做水墨,不做其他风格。

输入契约

  • 必填:1 张照片(本地路径、URL 或上传图片)
  • 选填:地点(如"成都街头")——用于游记标签;缺省则不写地点,只写画面描述,或写"旅人手记"

核心风格规则(6 大铁律)

🎨 1. 水墨感优先铁律

黑白水墨是主角,彩色是点缀。 彩色占比过高 / 颜色太跳会毁掉水墨感(demo-016 教训)。所以:

  1. 彩色占比 20%:只在视觉中心点染,控制在画面约 20%
  2. 黑白 + 直接彩色:黑白色调 + 一个直接的色彩点(不要多种颜色混搭、不要渐变、不要大面积晕染)
  3. 克制:宁可彩少,不可彩多;彩色点到为止,像传统文人画"惜色如金"
  4. 水墨感优先:五层墨、留白、笔触必须强于彩色存在感

🎨 2. 墨色五层 + 留白铁律

  1. 墨色五层必须分明:焦 / 浓 / 重 / 淡 / 清,禁止均匀灰
  2. 留白 ≥ 50%:画面整体空白面积 ≥ 50%
  3. 🚨 主体大小铁律(最重要)人物 / 主体必须保持正常比例大小(接近原图的人物占比),禁止为留白而缩小主体。留白是"背景与边角的空",不是"主体的小"。人物要大、要完整、要自信地占据画面主要位置
  4. 惜墨如金:全图 1 个浓墨集中区(落在主体上),密区面积要小
  5. 疏密对比:主体充分、背景空灵,以空衬实——空在背景,不在主体

🚨 3. 人物身份锁定(性别漂移教训)

  • 绝对禁止泛指词a person / a figure / someone / a lone traveler / a small figure
  • 必须显式写:性别 + 年龄段 + 发色发型 + 服装 + 配饰 + 姿态朝向
  • 走写意方向:衣纹流畅线条,面部留白或几笔示意
  • 禁止 drip/melt/flow 一类动词(会把人物画成流挂液体)

✍️ 4. 写意三要素

  1. 意到笔不到:物体只画七分,形体在完成前淡出
  2. 书法用笔:提按、顿挫、飞白、枯笔
  3. 墨韵偶然:湿墨渗化、破墨泼墨
  4. 删繁就简:删除的是背景杂物(货架、车辆、招牌、筐、多余人),主体本身必须完整充分、保持正常大小——只删环境,不删主体

🎨 5. 彩色笔触自动配比(20%)

  1. 谁是视觉中心:构图最大 / 最亮 / 最靠前 / 最独特的主体
  2. 用什么色:主体天然色相 → 传统国画色(朱砂 / 胭脂 / 花青 / 石绿 / 藤黄 / 赭石)
  3. 配比 20%:只点染视觉中心,约占画面 20%
  4. 其余 100% 黑白墨

📝 6. 游记标签铁律(v16 最终形态)

每张成品图必须叠加游记标签。形态 = 传统国画"题款"路线:墨字 + 朱砂印章直接盖在画面上,无任何"卡片 / 底板 / 边框"(卡片化被用户判定为失去水墨美感)。

  1. 标签内容:画面描述 + 地点(如"盛夏的瓜摊 · 成都街头";地点缺省则只写画面描述)
  2. 叠加方式禁止让图生图模型直接生成文字(必乱码);必须用 scripts/tag.py(v6 素材版)在生成后叠加
  3. 模板化样式(统一外观,不因图片改变):
    • 位置:右上角竖排(v17 改版)——传统国画落款经典位置
    • 正文题字:宋体(Songti,横细竖粗),深墨色(#1E1E1E)不透明,每个字符一列从上到下
    • 米色描边 halo:每个文字字符带 4px 米色(#F5F0E6)半透明描边(alpha 175),让深墨背景下也能看清字形
    • 朱砂印章 = AI 生成真印章素材:朱砂红篆刻印章、白文竖排、刀痕、印泥斑驳、边缘不规则。由 AI 图生图模型一次生成 + scripts/seal-bake.py 抠图成透明底,固定素材存于 assets/seal-la.png,每张图都贴这同一个素材(PIL 字体画无法模拟真实印章质感,必须用 AI 生成的素材)。所有图统一 印章素材,不得更改。印章贴在文字列末尾正下方(水平居中对齐)
    • 整体形态:墨字 + 朱印融入画面,不破笔墨
  4. 标签顺序:图生图模型出图 → 加标签(tag.py v7)→ 拼上下对照图(用带标签成品图,下方)

工作流

Step 1 — 解析输入

确认能访问到图;询问 / 记录地点(用户没说就不写)。

Step 2 — 图像理解(含彩色方案 + 标签决策)

读图,提取(必填):

  • 人物身份:性别 + 年龄段 + 发色发型 + 服装 + 配饰 + 姿态朝向(写进 prompt,禁止泛指词)
  • 主体:主要物 / 场景
  • 🎨 视觉中心判定 {focus}:谁最抓眼?
  • 🎨 彩色方案 {color_scheme}:视觉中心天然色相 → 传统国画色
  • 📝 标签文案 {tag_text}:画面描述(3–8 字)+ 地点(可选),如"瓜棚下的笑脸 · 老市集"
  • 构图 / 光源 / 氛围

Step 3 — 构建 prompt

读取 styles/ink-wash.md 模板,填入变量。

Step 4 — 调用宿主平台的图生图能力

mode        : image-to-image(宿主平台图生图,跟随原图)
input_image : 原图
prompt      : 完整 prompt(含 LOCKED APPEARANCE + 克制 COLOR ACCENT 20% + 墨色五层 + 留白 ≥50% + 主体大小铁律 + XIEYI)
fidelity    : medium
aspect      : 跟随原图

⚠️ 必须显式传 output_dir<workspace>/outputs/photo-restyle/<YYYYMMDD-HHMM>/,禁止依赖默认目录。

Step 5 — 交付(先加标签,再拼图)

  1. scripts/tag.py 给水墨成品叠加游记标签 → <原图名>-inkwash-tagged.png
  2. scripts/compare.py上下对照图:上方原图 / 下方带标签成品图(默认 width 1600,保证标签清晰)→ compare-<原图名>-inkwash.png
  3. 主输出 = 上下拼图(带标签成品在下);tagged 单图与纯水墨单图仅作附件
  4. 标注"水墨游记"风格名

硬约束(不可绕过)

  1. ❌ 禁止纯黑白输出——彩色必出(约 20%)
  2. ❌ 禁止彩色 > 20%(彩色喧宾夺主 = 错误输出)
  3. ❌ 禁止彩色出现在背景 / 边角(只许视觉中心)
  4. ❌ 禁止高饱和现代色 / 紫色 / 荧光 / 渐变彩虹色(只许传统国画色,直接点染)
  5. ❌ 禁止让图生图模型生成标签文字(必乱码)——必须 scripts/tag.py 叠加
  6. ❌ 含人物禁止泛指词,必须锁定性别 / 年龄 / 关键外观
  7. ❌ 禁止为留白而缩小主体——主体保持正常大小
  8. ✅ 出图标注"水墨游记"风格名
  9. 主输出必须是上下拼图(上方原图 / 下方带标签成品);tagged 单图与纯水墨单图仅作附件
  10. ✅ 产物输出到可见目录(如 <workspace>/outputs/photo-restyle/),不落平台隐藏目录

错误处理

情况应对
没拿到图提示用户先上传照片
输出纯黑白 / 彩色太淡检查 COLOR ACCENT 块,强调"color REQUIRED on {focus},约 20%"
彩色溢出 / 占比过高强调 "color only on {focus}, about 20% of the frame, keep it restrained",或缩小 {color_scheme} 描述
彩色太艳 / 现代感只写传统国画色名,强调半透明直接点染
人物性别 / 年龄漂移补全 LOCKED APPEARANCE 重跑
主体被缩小 / 留白吃掉主体强调 SUBJECT SCALE:figure big, emptiness in background only
标签乱码 / 缺失scripts/tag.py 重叠加,禁止重跑图生图
对照图拼接失败 / 标签在拼图中看不清检查 scripts/compare.py(默认 width 1600),或单独交付两张图

输出位置

<workspace>/outputs/photo-restyle/<YYYYMMDD-HHMM>/
├── <原图名>-inkwash.png           # 附件:水墨图(无标签)
├── <原图名>-inkwash-tagged.png    # 附件:加游记标签的成品图
└── compare-<原图名>-inkwash.png   # 主输出:上下拼图(上原图 / 下带标签成品)

Skill 目录结构

<平台 skills 目录>/ink-wash-restyle/(以 WorkBuddy 为例:~/.workbuddy/skills/ink-wash-restyle/)
├── SKILL.md                  # 本文件(规则入口)
├── styles/ink-wash.md        # 水墨 prompt 模板(含 LOCKED APPEARANCE / COLOR ACCENT / SUBJECT SCALE / XIEYI / 负面词)
├── scripts/
│   ├── tag.py                # 标签叠加(v6:宋体墨字 + halo + 贴 印章素材)
│   ├── compare.py            # 上下拼图(默认 width 1600)
│   ├── seal-bake.py          # 印章抠图工具(AI 生成素材 → 透明底)
│   └── prototype_seal.py     # 印章样式对比调试工具(历史遗留)
├── assets/
│   └── seal-la.png           # 固定 朱砂印章素材(透明底,AI 生成)
└── examples/README.md        # 示例说明

版本记录

  • v1–v5:纯黑白水墨路线
  • v6(已回滚):固定面部胭脂
  • v7:默认上下对照图
  • v8:黑白底 + 彩色笔触(视觉中心,自动配比 15–35%)
  • v9:彩色压缩到 ≤15% + 游记标签铁律
  • v9.1:主输出必须是上下拼图
  • v10:标签"米白卡片底板"化(后被否决)
  • v11:彩色 20%;印章固定印章;标签"宣纸签"化(后被否决)
  • v12:标签去卡片化(纯题款路线)+ 留白 55%
  • v13:新增主体大小铁律(留白 ≠ 缩小主体),留白回 50%
  • v14:印章竖排 + 宋体(字体方案,后被否决)
  • v15:compare 默认 width 1600(标签缩放后仍清晰)
  • v16(当前固定版):印章改为 AI 生成真篆刻素材assets/seal-la.png),tag.py v6 贴素材模式;全部规则收敛为本文件所述状态
  • v17:用户要求"其他保持不变,标签和落款改成右上角竖排" → tag.py v7:位置从左下改右上、正文题字竖排(上→下)、印章贴在文字列正下方(水平居中)
  • v17 笔触修复(styles/ink-wash.md 更新):恢复"红瓦小镇 / 金秋蟹宴"式水墨写意笔触 —— ① 加回 v19 CLEANLINESS 块(干净利落、笔触分明、不脏)② XIEYI 三要素场景化:背景(远山/天空/大幅色块)用 湿墨晕染(wet-on-wet ink wash,墨渗入宣纸),前景(植物叶面/屋顶瓦片/细节)用飞白枯笔。验证:demo-058 兰萨罗特、demo-059 白村赭石塔均稳定命中红瓦小镇风

Verwandte Skills