mcpField
T
travel-photo-abstraction

travel-photo-abstraction

github.com/evianis创意与媒体79155 次安装12 周前更新
代码仓库

关于 travel-photo-abstraction

将用户提供的旅行照片制作成上下两部分作品:上方保留原照片,下方创作新的抽象画面。技能规定了从照片提取视觉关系、统一背景、添加微型文字及验证交付的流程。

主要功能

  1. 01依据照片关系创作抽象构图
  2. 02保留原照片像素
  3. 03参考图引导下方面板的笔触
  4. 04统一象牙色背景要求
  5. 05确定性微型文字与最终验证

适用场景

  1. 01为旅行照片创作抽象配图
  2. 02制作照片与抽象画面组成的编辑式作品
  3. 03保留原图并修改作品

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/evianis/travel-photo-abstraction --skill travel-photo-abstraction

安装后在 Claude Code 中输入/travel-photo-abstraction确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
analysis-method.md
run-log-template.md
structural-reference-index.md
style-guide.md
scripts/
check_installation.py
compose_artwork.py
finalize_artwork.py
validate_output.py

详细介绍

旅行照片抽象化

将任务视为三个有意为之的操作:解构、抽象/提炼和重构。下方画板是根据上方照片中提取的关系构成的全新视觉作品,既不是缩小重绘,也不是转换风格后的副本。所有下方画板的视觉依据都必须来自源照片,只有笔触语言可借鉴随附的参考图。绝不要将参考图的风格应用到原始照片上。

输入角色锁定

  • 将 USER_PHOTO 定义为用户在当前请求中附加或上传的照片。分析前记录其准确的本地路径。
  • 将 STYLE_REFS 定义为从 assets/style-references/ 中选取的文件。它们仅用于指导下方生成的画板。
  • 将 GENERATED_PANEL 定义为为下半部分生成的新抽象图像。
  • 最终合成图必须恰好包含上方的 USER_PHOTO 和下方的 GENERATED_PANEL。绝不要将风格参考图、先前输出、屏幕截图或生成的衍生图放在照片位置。
  • 对视觉分析、元数据/日期检查、调色板依据、finalize_artwork.py 和验证,都使用路径锁定的同一 USER_PHOTO。如果该路径不可用,请停止,不要改用其他图像。

不可协商的交付要求

  • 将图像生成结果视为临时抽象画板素材。绝不要向用户展示或返回该素材。
  • 获取未经改动的原始图像和生成的抽象画板的真实本地文件系统路径。如果任一文件路径不可用,请停止并且不返回作品。
  • 仅使用 scripts/finalize_artwork.py 生成交付物;不要在最终交付时分别运行合成器和验证器。
  • 只有在最终处理脚本输出 DELIVERY PASS 后才返回图像。仅返回其输出路径,绝不要返回生成画板的路径。
  • 如果生成、本地保存、合成或验证失败,请勿返回图像,并指出失败的阶段。没有原始照片的抽象画板始终属于中间步骤失败。
  • 将 USER_PHOTO 保留在抽象画板上方,保持其原生宽度、高度、方向和 RGB 像素值不变。绝不要调整其尺寸,即使只是等比例缩放也不行。

解构—提炼—重构要求

  1. **解构:**将源图拆分为高信息量的依据:主要块面、轴线、边界、数量、间隔、方向、重叠、深度顺序、色彩作用、不对称性和有意义的留白。
  2. **抽象并提炼:**舍弃照片表面、具象物体轮廓、纹理、透视细节、次要物体和冗余依据。将每项保留的事实简化为合适的最小标记或色块。
  3. **重构:**将提炼后的标记构成新的非具象布局,在不照搬场景布局的前提下,保留源图的关系特征和空间节奏。
  • 保留关系上的不变量,例如相对主次、左右或上下顺序、方向流动、分组数量、间隙、聚集、重叠和深度层级。精确坐标和源图宽高比是依据,不是描摹模板。
  • 仅在有助于阐明提取出的关系时,才可进行位移、压缩、分离、重叠和缩放。绝不要随意重排,也不要添加缺乏源图依据的装饰。
  • 成品必须能被读作这张特定照片的抽象视觉记忆,而不是通用主题图标、微缩插画、矢量化场景、滤镜照片或风格迁移作品。
  • 将重构后的主体保持在周围留有干净、诗意留白的灵活区域内;不要为其绘制边框。

下方面板文本规范

  • 完成后的下方面板必须恰好包含三个外围微型文字项:依次递增的 NO. 00X、真实的 DD MON YYYY,以及一个从图像中提取的、由 1–4 个单词组成的英文大写短语。
  • 将编号放在下方区域的右上角。在另一处空旷的角落,将日期和短语分成两行放置。
  • 生成抽象艺术作品时不得包含文字,然后使用 finalize_artwork.py 确定性地添加这三项。无文字生成规则仅适用于临时生成的艺术作品,不适用于完成后的下方面板。
  • 缺失、重复、拼写错误、格式错误或额外的文字均应判定为不合格。
  • 重建时保留各元素之间的关系约束,而非精确坐标。允许基于证据进行位移、压缩、分离、重叠和缩放;绝不可将源图几何形状用作描摹模板。

重建图案的尺寸规范

  • 保持所有现有的视觉、分析、文本、来源完整性和构图规则不变;仅调整重建图案的整体尺寸。
  • 使完整的重建图案约占下方面板宽度的 30–42%,高度不超过下方面板高度的 28%。
  • 使下方面板视觉上约有 75–88% 留白。将扩大的空白区域视为有意营造的诗意空间。
  • 将图案作为一个连贯整体缩放。缩小尺寸时,保留所有内部尺寸比例、间距、方向、重叠关系、层级和不对称性。
  • 将图案置于下方中部附近,或放在有参考依据的不对称位置。不要放大单个元素来弥补,不要将元素散布到整个面板,也不要把图案缩成微小的通用图标。

统一纯色背景规范

  • 在整个生成的下方面板中使用连续且完全均匀的中性象牙色背景,目标颜色为 #F3F0E8。
  • 将背景视为单一纯色平面,而非氛围效果。仅允许源图重建标记内部出现颜色变化。
  • 不得添加渐变、光照衰减、光晕、阴影、暗角、边缘变暗、水平或垂直色带、色块、接缝、纸张色调、画布纹理、噪点、颗粒、斑驳、薄雾、泛光、污渍或类似压缩造成的变色。
  • 不要在编号后方放置较浅的色带,也不要在日期和短语后方放置不同底色。图案和全部三个微型文字项必须位于同一块连续不断的背景色上。
  • 在正常尺寸下检查中心、四边和四个角的空白区域,并采样其 RGB 值。如果空白区域的颜色在整个区域内出现肉眼可见或可测量的变化,则判定面板不合格并重新生成。

必需工作流

  1. 运行 scripts/check_installation.py。如果失败,请停止并报告安装未完成。
  2. 确认可以调用内置图像生成工具。如果该工具不存在、不可用、被拒绝访问或运行失败,请停止并告知用户。仅使用程序化工具进行确定性合成、精确微排版和验证;绝不能用它们绘制抽象主题。
  3. 将用户在此请求中上传的照片的准确路径锁定为 USER_PHOTO,然后将其作为唯一内容来源进行检查。阅读 references/analysis-method.md、references/style-guide.md、references/structural-reference-index.md 和 references/run-log-template.md。绝不能悄悄替换为捆绑参考图、较早上传的图片、先前结果、屏幕截图或重新压缩的导出文件。
  4. 使用 structural-reference-index.md 从 19 张捆绑图片中选取并检查 3–4 张。选择下方面板在抽象表达方式、空间密度、笔触语言、调色克制和留白的诗意运用方面具有参考价值的图片。19 张图片均可作为风格参考。
  5. 记录主体元素的身份、形状、数量、归一化位置、相对比例、颜色、方向和深度。找出一个结构轴,以及有意义的间隔、空隙、重叠、聚集或重复。识别可用于克制强调的、源自原图的不同颜色角色。
  6. 完成 analysis-method.md 中的抽象方案工作表。将每个拟用笔触对应到明确命名的原图事实;删除装饰性笔触。
  7. 仅使用一个主要主题类别,最多再加两个辅助类别。表达关系而非外观:保留数量、坐标、尺寸比例、方向、间距、不对称性、遮挡关系和负空间分布,同时舍弃照片细节。通过所选参考图下方面板的表现语言来转译这些事实——平面或柔和有机的色块、细线、点、条、孤立的轮廓、克制的色域和经过衡量的不对称——但不得照搬任何特定参考图的构图。
  8. 始终采用上下分栏构图。将 USER_PHOTO 放在上方,宽度和高度必须精确保持其原生像素尺寸,不得缩放、裁剪、重采样、修饰或进行生成式编辑。按兼容比例生成下方面板,按比例缩放至与照片等宽,并保留完整画幅,不得裁剪。遵循所选参考图的主题比例和诗意留白。
  9. 在生成前确定档案编号。第一幅完成的作品使用 NO. 001;之后沿用最高的已完成编号并递增。仅为选定的最终作品保留编号。
  10. 准备且仅准备两行档案文本:第 1 行为 DD MON YYYY,优先使用经核实的拍摄日期,否则使用作品创作日期;第 2 行为具体、含蓄、源自图像的英文短语,由 1–3 个大写单词组成。
  11. 在一次生成调用中,将已锁定的 USER_PHOTO 与 3–4 张选定的捆绑参考图一并提供给图像工具(该工具最多接受五张图)。明确标注各图用途:Image 1 = USER-UPLOADED CONTENT SOURCE ONLY;Images 2–N = BUNDLED LOWER-PANEL STYLE REFERENCES ONLY。仅生成 GENERATED_PANEL。将其保存到本地;绝不能将风格参考图或 Image 1 当作生成结果。
  12. 仅使用 CLEAN 模式,并结合所选参考图克制而富有诗意的风格。匹配其下方面板的平衡感、安静的编辑风格、疏朗的层级、变化的笔触比例、微妙的有机几何形状,以及受原图启发且受控的色彩点缀。将参考图中明显的纹理处理转化为干净的哑光效果。使用一种连续且完全均匀的中性象牙色背景,颜色接近 #F3F0E8;不允许出现渐变、光照变化、色带、色块、接缝、纸张纹理、水彩晕染、雾气、污渍、暗角或颜色不同的文字区域背景。
  13. 如果下方面板看起来像是经过风格迁移的照片、可识别场景的插画、简化描摹、色调分离效果或物体重绘,请拒绝并重新生成。如果某个笔触无法对应原图、留白比例不在 75–88% 之间、主题超出其边界、出现任何文字,或取样的空白背景区域在颜色上存在明显或可测量的差异,也请拒绝并重新生成。
  14. 运行 scripts/finalize_artwork.py USER_PHOTO GENERATED_PANEL FINAL --number "NO. 00X" --date "DD MON YYYY" --phrase "WORDS"。确认第一个位置参数与第 3 步中锁定的用户上传路径完全一致。绝不能在该位置传入捆绑参考图或先前的输出文件。
  15. 确认最终输出恰好包含三个文本项:NO. 00X、DD MON YYYY 和由 1–3 个大写单词组成的短语。不得添加其他元数据、色卡、说明文字、地名、相机数据、GPS、FRAME 或 STUDY 字样。
  16. 将最终输出与原图并排检查。如果上方照片的宽度、高度、方向、像素、裁剪、色调、颜色、锐度、内容、颗粒感或曝光有任何差异,请拒绝。
  17. 每次修订都必须基于原始分析重新生成下方面板;绝不能递归编辑最终合成图。
  18. 必须获得 finalize_artwork.py 的 DELIVERY PASS。该脚本会使用原图运行验证,并在失败时删除候选文件。若输出缺失、缺少通过消息,或照片像素不匹配,均应拒绝。
  19. 根据 references/run-log-template.md 完成运行日志,包括实际使用的模型、图像工具、生成的面板和合成命令。绝不能声称使用了无法核实的工具或模型。
  20. 保存一份精修完成的作品,并使用具有描述性且不会覆盖现有文件的文件名。仅在最终作品保存后递增序号。

生成提示词框架

Use case: visual distillation
Asset type: abstract lower panel only, for later deterministic composition
Input image: Image 1 is the photograph uploaded by the user in the current request. It is the sole content source, never an edit target. Generate no photographic panel and do not reproduce Image 1.
Style references: Images 2–N are bundled lower-panel style references only. They are not the original photograph and must never appear in the final upper panel. Match only their abstraction vocabulary, spatial balance, restrained palette, quiet editorial tone, and poetic negative space.
Core method: DECONSTRUCT, ABSTRACT/DISTILL, RECONSTRUCT — NEVER STYLE TRANSFER. First separate Image 1 into dominant masses, axes, boundaries, counts, color roles, directions, overlaps, intervals, depth, asymmetry, and meaningful voids. Then remove photographic detail and literal outlines. Finally rebuild only the retained relationships as a new nonliteral system of minimal marks. Preserve relational identity and spatial rhythm, not the exact scene or pixel geometry.
Layout: portrait lower panel planned for an untouched full-frame photograph above it. Create one compact sparse reconstructed motif occupying about 30–42% of panel width and at most 28% of panel height, leaving 75–88% visually empty. Scale the motif down as one coherent group while preserving its internal hierarchy and relationships. Allow measured displacement, compression, separation, overlap, and scale change when these make the source relationships clearer. Do not place the abstraction inside a miniature scene frame, reproduce the source aspect ratio as a visible composition, scatter marks to fill space, or collapse it into one generic centered icon.
Surface mode: CLEAN ONLY with poetic negative space. Use one perfectly uniform, uninterrupted flat field at or near #F3F0E8 across every background pixel. The center, edges, corners, number area, and date/phrase area must share the same background color. Create atmosphere only through sparse placement, pauses, distance, asymmetry, and silence—never through surface effects. Use clean matte marks with subtly organic contours when structurally justified. Add no gradient, light falloff, glow, shadow, edge darkening, band, patch, seam, grain, noise, paper texture, fibers, watercolor bloom, haze, vignette, stains, faded color, or grading.
Color emphasis: slightly prefer several distinct accent roles sampled from `USER_PHOTO` when they clarify different source facts. Preserve their original saturation, luminance hierarchy, and approximate dominance. Do not force extra colors into a monochrome source.
Text: generate no text of any kind. The deterministic compositor adds the exact archive number, date, and phrase later.

Core visual evidence:
- Primary element: [identity, shape, count, position, scale, color, direction]
- Structural axis: [horizon, vertical, curve, or diagonal and normalized location]
- Spatial rhythm: [intervals, clusters, gaps, depth, overlap, or repetition]
- Secondary evidence: [at most two supporting relationships]

Deconstruction and reconstruction mapping:
- [source fact] -> [minimal mark + relative placement + relative size]
- [source fact] -> [minimal mark]
- [source fact] -> [minimal mark]

Removal decision: omit [textures, background detail, or low-information objects].
Constraints: preserve source relationships before likeness; every abstract mark needs source justification; one primary motif family and at most two supporting families; quiet, isolated, sparse, restrained.
Avoid: photograph, scene reconstruction, recognizable object redraw, generic style transfer, stylization, vectorization, posterization, literal tracing, complete illustration, decorative filler, regularized spacing, invented symmetry, invented content, any text, numbers, captions, color swatches, watermark, gradient background, uneven background, lighting falloff, background bands or seams, visible grain, dirty paper, yellow cast, gray veil, watercolor, haze, or texture.

输出规则

  • 默认生成一个结果,并使用 CLEAN 模式。
  • 保留对身份敏感的主体及现有遮挡。绝不重建被遮挡的面孔、身体或结构。
  • 通过不同的有效源证据或符号映射来改变抽象表达,而非任意选择配色主题。
  • 源自素材的点缀色之间应保持克制的差异,避免装饰性地重新着色。
  • 如果无法将下方画板简要说明为一份从源证据到标记的列表,或者它看起来只像是换了一种视觉风格的上方场景,请修改。
  • 避免两个极端:转换风格后的场景,以及忽略所选参考素材视觉语言的通用示意图。
  • 最终文本仅限 NO. 00X、日期和短语,且都必须在确定性最终处理阶段添加。
  • 任何新出现的照片颗粒、色调漂移、偏色或柔化效果,都应视为失败输出,而非可接受的氛围效果。
  • 下方画板空白背景中的任何不均匀性都应视为失败输出。要求图案、编号、日期和短语背后使用一种连续统一的 CLEAN 背景色。
  • 只返回通过 DELIVERY PASS 的文件;绝不返回临时抽象画板。

评论

支持 Markdown