Communitygithub.com

1NWZ/create-gemscript-collage

将光栅照片转换为V6 GemScript拼贴画,包含小型紧密裁剪的高对比度复古黑白胶片印刷、充裕留白、高亮度低饱和度莫兰迪纸背景,并使用精确自定义文本的多色平底水钻书法。

create-gemscript-collage 是什么?

该技能可将用户提供的照片转换为V6 GemScript拼贴画,生成一幅3:2比率的特效图像。它严格遵循V6空间系统:小胶片、紧密裁剪、紧凑的胶片与文字关系,以及大面积平静的页边距。用户可要求将特效图像叠加在原始照片之上,生成3:4的最终PNG合成图。该技能适用于GemScript、水钻脚本、Y2K珠宝贴纸、复古胶片拼贴、自定义英文单词或名称,以及仅特效或特效加原始图像的请求。它支持多种布局模式(如胶片在左、文字在右;文字在上、胶片在下等),并依据源照片动态选择最优布局。技能内置严格的生成预算和停止条件,防止无限调用,并包含全面的验证清单,确保文字、裁剪、对比度、布局、水钻数量与分布等均符合预设规范。输出文件包括特效PNG和最终的合成PNG。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/1NWZ/gemscript-collage/tree/HEAD

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

创建 GemScript 拼贴画

创建一张 3:2 比例的 GemScript 特效图像。保留 V6 空间系统:小胶片、紧密裁剪、紧凑的胶片与文字关系,以及大面积平静的页边距。当用户要求时,确定性地将已接受的特效叠加在真实源照片之上,生成 3:4 比例的最终 PNG 图像。切勿要求图像模型重绘下半部分。

生成预算与停止条件

以下是硬性安全限制:

  • 一个非批量用户请求最多授权一次图像生成或图像编辑调用。在该调用之后,交付结果或报告失败并结束本轮对话。
  • 一个明确的批量任务最多授权每个命名源图像一次调用,且单次任务内的生成/编辑调用总数不超过三次。在第四次调用之前,停止并要求用户在一个新的任务中继续,附带简洁的文本交接和仅当前源路径。除非用户要求,否则不要创建该任务。
  • 错误、超时、响应过大、结果缺失、文字错误或验证失败均消耗已授权的调用。在同一轮对话中,切勿自动重试、重新措辞并重新提交、重新生成或编辑。
  • 发生错误、超时、响应过大或结果缺失后,在同一任务中不要再次调用图像工具。报告失败,并要求在全新任务中重试。
  • 当任务重新打开时,切勿自动恢复失败的生成。
  • 仅使用当前请求中明确指定的源图像以及本技能所需材质参考。当存在本地路径时,传递这些确切路径,不要包含最近对话中的图像。切勿在提示、消息、日志、交接或输出文件中复制或保留 base64 图像数据。

工作流程

  1. 使用可用的图像查看器检查源照片。
  2. 确定文字:
    • 逐字复现用户提供的英文文本,包括大小写和空格。
    • 若未提供,选择一个适合照片的简短英文单词,或最多两个短词。
  3. 选择一种受约束的背景色调,该色调源自源照片或与其互补。保持高亮度、低饱和度,略带灰色。
  4. 分析源裁剪、主体朝向、主导视觉方向和留白区域。选择一种响应源照片的关系,而非固定模板:
    • 胶片在左,文字在右;
    • 文字在左,胶片在右;
    • 胶片在上,文字直接在下并接触;
    • 文字在上,胶片直接在下并接触。 对于批量任务,需变化关系,除非源照片明显需要相同方案。 对于同一任务中连续的单图像测试,当另一种模式适合源时,避免重复使用紧邻前一次的关系;仅当源几何结构或可读性明确要求时,才重复使用某种模式。在当前上下文中记录上次使用的模式。
  5. 保留用户已批准的布局参考。将其仅视为构图参考:保留其留白、胶片比例、裁剪以及胶片/文字关系,同时仅重新设计请求的子系统。
  6. 完整阅读 references/v6-prompt.md,并在生成前替换所有占位符,包括 {LAYOUT_MODE}。
  7. 当图像工具支持多参考时,使用 assets/v5-rhinestone-references 中的 2–3 张图像作为纯材质参考。它们定义了首选的平底工艺贴纸材质、微型连接晶体、不规则混合形状节奏以及多色分布。它们不定义主体、文字、背景色调、胶片裁剪或布局。在生成提示中,明确标注每个图像的角色。
  8. 在生成之前,为此确切图像编写一份紧凑的布局规格,并将其作为验收合同,而非建议:画布 1536×1024。将核心组定义为胶片 + 文字 + 真实延伸;松散宝石有意排除在此核心边界框之外。每张图像必须包含 7–12 颗分离的松散水钻,分布在周围的负空间中,排列成两到三个不规则微簇,外加一到三颗孤立宝石;它们必须远离画布边缘,且不得形成第二个构图。使用较小的内部目标:对于水平布局,核心组的目标大小为 52–58% W × 50–56% H,保留 2–3% W 的间隙,一个短词保持在 25–32% W 且最多 16% H,胶片保持在 8–12% W 且最多 22% H。对于垂直布局,核心组的目标大小为 50–58% W × 52–60% H,保留 2–3% H 的间隙,一个短词保持在 25–32% W 且最多 16% H,胶片保持在 8–12% W 且最多 22% H。为核心组保留至少 18% 的侧面和 20% 的顶部/底部呼吸空间。胶片的可见边界框面积应为文字面积的 25–35%,40% 为硬性上限。如果源照片、文字或所选布局无法满足此规格,请在生成前更改位置或缩小胶片。不要静默放宽数字。
  9. 检查上述生成预算,然后使用内置的图像生成工作流。如果存在 imagegen 技能,在调用图像工具前加载并遵循它。将当前上传的照片或其明确的本地路径视为唯一的主体参考,并生成一张独立的 3:2 横版特效图像。不要包含较早对话中的图像。
  10. 检查特效并进行验证:
    • 确切的文字和可读的字母形状;
    • 每个大写字母在材质样式化之前通过骨架检查:暂时忽略宝石,验证底层手写路径是否仍读作预期的大写字母;
    • 大写 M 有两个清晰可见的肩部、一个中央谷、两条连接的主要下行笔画,以及一个连续地过渡到后续小写字母的手势;它不得看起来像一个大的椭圆加一个分离的笔杆、一个单拱、A、N 或小写 n;
    • 每个小写字母通过相同的骨架检查;特别地,m、n、u 和 r 必须只有预期的笔杆、凸起、字谷和一个自然的出口笔画,没有多余的分支、重复的笔杆、刺、环、钩或无法解释的增生;终端花饰只能在最后一个预期笔画之后开始,且不得改变字母的骨架;
    • 可识别的主体和合适的裁剪;
    • 胶片裁剪中有一个指定的编辑焦点细节,占据印刷品的大约 60–80%,最多包含一个小型上下文边缘;拒绝包含完整主体及所有主要道具的宽场景裁剪;
    • 高对比度黑白胶片,仅带有微弱的背景色调;
    • 胶片通过色调对比检查:近乎黑色的阴影区域、近乎白色的高光区域以及清晰分离的中间调;拒绝灰色面纱、乳白色灰色、提升的黑色、平坦的低对比度或掩盖黑白结构的色调;
    • 高亮度低饱和度背景;
    • 测量核心可见边界框,而非仅占用面积,并从该测量中排除松散宝石;使用生成前定义的水平或垂直核心组范围;
    • 为核心组保留至少 18% 的左/右边距和 20% 的顶部/底部呼吸空间;胶片和文字之间使用 2–3% 的间隙;一个短词最多占画布宽度的 32%,且不超过画布高度的 16%;
    • 对于一个短词,文字是主要元素,胶片是次要元素:胶片的可见边界框面积应为文字的可见边界框面积的 25–35%,40% 为硬性上限;如果独立尺寸规则与此层级冲突,则缩小胶片;
    • 胶片保持较小尺寸,最多占画布宽度的 12% 和画布高度的 22%,裁剪比例比源照片更紧;
    • 布局遵循源构图,并非自动为文字在左/胶片在右;
    • 水钻文字和胶片仅在真实笔画能到达最近胶片边缘且不改变其自然手写切线时才重叠;否则,稍微移动胶片或保留窄间隙,而非强行连接;
    • 一个(或最多两个)水钻延伸从真实的入口笔画、出口笔画或终端花饰开始,并自然延续其切线;切勿在文字明显完成后添加垂直下落、尖锐折返、悬挂绳索或第二个尾部;
    • 在文字外部明显可见恰好 7–12 颗分离的松散宝石,排列成两到三个不规则微簇,外加一到三颗孤立宝石,间距不均,且无独立的点线、弧线或对角线;如果松散宝石数量低于 7 或超过 12,则拒绝该图像;
    • 最多三颗松散宝石在视觉上沿一个方向对齐;
    • 连接笔画主要使用微小的圆形晶体,而较大的几何切割则少量嵌入在结构上有意义的点上;
    • 整个设计中至少出现五个形状系列,但最多只有一到两个图案系列重复突出;
    • 宝石是浅平的平底工艺贴纸,具有清晰的刻面和紧密的接触阴影,绝非厚玻璃宝石或凸面宝石;
    • 胶片外无额外文本、标志、水印、分屏或原始照片。
  11. 应用严格的交付前检查。仅当以上所有数字和视觉检查均通过时,图像才被接受。特别地,拒绝任何核心组过宽/过高、胶片过大或视觉权重过于接近文字、或胶片裁剪为宽场景整体裁剪的输出。“模型可能忽略了提示”并非可接受的理由。不要将失败的图像保存、链接或呈现为结果。
  12. 如果验证失败,不要自动进行另一次工具调用。报告缺陷并停止。仅当用户明确随后提出修正请求时,才授权一次有针对性的图像编辑,且受生成预算约束。对于该次编辑,拒绝错误的文字、不正确的大写骨架、过大的核心组、过大的胶片、固定模板布局、分离的宝石轨迹、强制胶片连接器、多样性不足的全圆宝石或笨重的宝石状材质。当布局已获批准时,不要为了仅修正一个字母形状、终端笔画或水钻材质而重新生成整个构图。对于失败的大写字母,冻结照片、背景、剩余字母、松散点缀、比例和布局;仅重绘该大写字母及其两个相邻连接处。对于失败的终端交互,冻结整个文字和构图,除了最后一个字母的真实出口笔画和局部重叠区域;移除任何词后的垂直下落或独立连接器。
  13. 将已接受的特效无损保存为 <源文件名-stem>-gemscript-effect.png,存放在用户的工作目录或请求的输出目录中。
  14. 检查后选择标准化原始照片裁剪焦点坐标:0.0 表示左/顶,1.0 表示右/底。仅当主体已居中时,默认设为 0.5,0.5。
  15. 加载捆绑的工作区依赖项,并使用返回的 Python 可执行文件。这避免了假设系统 Python 安装了 Pillow。运行确定性合成器:
<workspace-python> <skill-dir>/scripts/compose_vertical.py \
  --effect <effect.png> \
  --original <source-photo> \
  --output <source-stem>-gemscript-final-3x4.png \
  --focus-x <0..1> \
  --focus-y <0..1>
  1. 检查最终的 PNG。验证 3:4 画布、相等的 3:2 两半、特效在上、真实源照片在下、无间隙或分隔线,以及主体裁剪未损坏。
  2. 交付特效 PNG 和最终的 3:4 PNG。以最终合成图作为首要交付物。

输出规则

  • 默认半图尺寸:1536×1024;最终尺寸:1536×2048。
  • 保持源文件不变。
  • 不要覆盖已有输出;仅在明确要求替换时,添加版本后缀或传递 --force 参数。
  • 仅在用户明确要求仅特效图像时,跳过合成步骤。

V6 已批准的可视化回归参考

使用 references/v6-approved-examples.md 和 assets/v6-approved-examples/ 中的三张 PNG 作为 V6 已批准的构图、比例、可读性和水钻质量的可视化基准。

相关技能