Skills Plugins MCP Prompt Model 博客 我的中心

gordenimage2pptx

把「图片格式的 PPT 文档 / 幻灯片截图 / 任意图片页」逆向还原成**可编辑的 .pptx**。强制四层流程: 复刻背景图 + 绿幕抠出整体框架图 + 绿幕抠出元素图标/装饰 + GPT 视觉提取文字,再合成(文字是真文本框、框架图/图标是可移动图片;只有用户明确要求框架切分时才切成框架部件)。 Converts slide images back into an editable PPTX via background + skeleton + icons + text layers. 当用户要 "把 PPT 图片/截图转可编辑 PPTX、把图片PPT还原为可编辑PPT、抠图标、复刻背景、提取文字、还原排版"时使用。输入是图片,输出是可编辑 .pptx。

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=gordensun-gordensuperpptskills-gordenimage2pptx-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name GordenImage2PPTX description 把「图片格式的 PPT 文档 / 幻灯片截图 / 任意图片页」逆向还原成**可编辑的 .pptx**。强制四层流程: 复刻背景图 + 绿幕抠出整体框架图 + 绿幕抠出元素图标/装饰 + GPT 视觉提取文字,再合成(文字是真文本框、框架图/图标是可移动图片;只有用户明确要求框架切分时才切成框架部件)。 Converts slide images back into an editable PPTX via background + skeleton + icons + text layers. 当用户要 "把 PPT 图片/截图转可编辑 PPTX、把图片PPT还原为可编辑PPT、抠图标、复刻背景、提取文字、还原排版"时使用。输入是图片,输出是可编辑 .pptx。 GordenImage2PPTX — 图片 PPT → 可编辑 PPTX 一张一张处理 每张图片,强制拆成四层再合成可编辑 .pptx(从下到上)。其中前三个图片层必须由 imagegen 生成或提取,文字层由 GPT 视觉能力提取并写成真文本框: 背景图(复刻) + 整体框架图(绿幕抠图,默认不切分) + 元素图标/装饰(绿幕抠图,切片) + 文字(GPT视觉提取) 🟣 直接转换原则 :用户给出图片并要求转可编辑 PPTX 时, 不要先扫描当前目录、历史输出或其它项目,去寻找/复用类似源页 。直接把用户提供的当前图片作为唯一源图,按 B1-B9 流程提取背景图、框架图、元素图标和文字,建立新的 PPTX 文档。只有用户明确要求复用旧素材、续做某个历史输出、或指定已有源文件时,才读取对应历史文件。 🧱 任务隔离原则(防串文件) :每次转换开始前必须创建唯一任务根目录 RUN_ROOT ,例如 image2pptx_runs/<时间戳>_<源图slug>/ ,并把本次所有中间产物、prompt、manifest、layout、预览、QA 和最终 PPTX 都写到该目录下。禁止把新任务直接写到工作区固定的 editable/01 、 out/ 、 qa/ 或 slide-01/ ,也禁止从这些固定路径读取素材。若目录已存在,必须换一个新目录,不得复用或覆盖。 layout.json 的图片路径必须在同一个 RUN_ROOT 内解析:单页 layout 优先 省略 assets_dir (让 compose_pptx.py 自动用 layout 所在目录),或写成绝对页目录;不得写 "assets_dir": "editable/01" 这类会受当前工作目录影响的相对路径。manifest 的 copied_to 也必须是 RUN_ROOT 内的绝对路径。 🟦 框架图 = 一页里「背景、元素图标/装饰/艺术字、普通文本」之外的所有图像 :容器/卡片(含底色填充与标题条)、分隔/连接线、 全部图表图形(折线/柱状/阶梯/饼图/坐标网格/趋势线) 、缎带、装饰线条与色块——统统归框架图,一次性提取,且 形状·大小·位置与原图 1:1 一致 (别漏数据折线/装饰)。 🟨 艺术字 = 装饰元素,不是普通文本 :凡是带有渐变颜色、书法/笔刷造型、形变、描边/阴影/纹理、徽章式排版或普通字体无法直接写出的文字,都归入 B4 图标/装饰层,以图片元素提取和摆放。例如封面大字“灵芝”。B7 GPT 视觉文本层只处理普通字体可直接还原的文字。 🔴 强制四层,缺一不可(核心铁律) : 背景图 → 整体框架图 → 元素图标 → 文本 。这四步是本技能的本质, 任何一页都必须实打实地出"框架图(B3)"和"元素图标图(B4)"并绿幕抠图 ,默认用整张透明 frame.png 作为框架视觉层合成;只有用户明确要求"框架可移动部件/切分框架/拆成一块块"时,才把框架图按透明区域切成 frame_parts/ 后合成。 禁止的退化做法 :① 直接拿原图当背景叠文字(双重文字);② 用 PPT 原生 shapes / 色块 / 线条重画背景、卡片、标题条、图表、时间轴、装饰;③ 从原图裁切局部当作背景、框架或图标素材;④ 省略框架/图标;⑤ 用代码/PIL/SVG/HTML/Canvas 画出图片层。 背景图、框架图、元素图标图都必须来自 imagegen 提取式生成 :背景用 imagegen 复刻干净背景;框架图用固定 B3 提示词在纯色抠图底上生成全幅框架层;图标/装饰用 imagegen 在纯色抠图底上生成图标表,图标表里不画网格分割线。 chroma_key.py 只负责去底, slice_grid.py 只允许切分 imagegen 生成并已去底的图标表 ;若用户明确要求框架切分,才允许切分已去底的 frame.png 。不得切原始幻灯片截图。 生成证据硬门禁 :B2/B3/B4 必须在 imagegen-assets-manifest.json 中记录真实 imagegen 调用证据: backend 必须是 imagegen 类后端, generated_source 必须指向或描述真实生成结果, prompt_file 必须指向本页使用的提示词文件,且 copied_to 必须是交付目录内对应图片。若 manifest 显示 programmatic 、 local layer generator 、 PIL 、 SVG 、 HTML 、 Canvas 、 matplotlib 、 screenshot renderer 、 null prompt_file 等非 imagegen 生成迹象,本页转换失败,必须重做,不能交付。 图片层生成硬门禁 本技能中的“图片 → 可编辑 PPTX”不是用 PPT 色块重画页面。可编辑边界是: 文字:写成可编辑文本框。 背景/框架/图标/装饰/图表图形:由 imagegen 生成为图片层;框架图默认以整张透明 frame.png 放入 PPT(可整体移动、替换、缩放),图标放入 PPT 后可移动、可替换、可缩放。只有用户明确要求框架切分时,才把框架图去底后按透明区域切成可移动框架部件。 禁止使用以下方式替代图片层: 在 PPTX 中用原生 shapes、填充色块、线条、箭头、表格、图表组件重画背景/卡片/框架/图标/装饰/图表。 从原始幻灯片截图裁切局部作为背景、框架、车辆、图标或装饰素材。 用 Python/PIL、SVG、HTML、Canvas、matplotlib 或截图渲染生成背景/框架/图标图片。 先用原生 PPT 元素搭页面,再导出为图片层。 允许代码做的事仅限: probe_palette.py 探色。 复制 imagegen 生成的图片到本次 RUN_ROOT/editable/NN/ 。 chroma_key.py 给 imagegen 生成的框架图/图标图去底。 slice_grid.py --auto/--grid 切分 imagegen 生成的图标表。 可选:仅当用户明确要求框架切分时,使用 slice_grid.py --components 按透明区域切分 imagegen 生成并去底后的 frame.png ,再用 frame_parts_to_icons.py 生成 icons[] role:"frame_part" 。 写 layout.json / deck.json ,合成 PPTX 和预览。 layout_guard.py 校验或修正 layout.json 的坐标契约: ref_width/ref_height 必须匹配源图实际像素尺寸, source_bbox 与 x/y/w/h 必须一致。 visual_compare_qa.py 把源图和最终 PPTX 预览统一尺寸后生成并排图、叠图、差异热图和诊断指标,供 GPT 视觉判断文字/图标是否与原始 PPT 图片对位。 可选地裁切/缩放 整张 imagegen 生成图 以统一比例;不得裁原图局部冒充素材。 每页必须写 imagegen-assets-manifest.json ,记录 B2/B3/B4 的 generated_source 、 copied_to 、 layer 、 prompt_file 、 backend 、 key_color 。没有 manifest,或任一图片层缺 generated_source / prompt_file ,或任一图片层的 backend 不是 imagegen,本页转换失败,不能交付。 完整流水线、提示词、坐标/字号换算、QA 反馈环见 references/image-to-pptx.md ;运行时与图片后端见 references/runtime-notes.md 。 运行时与图片后端(先读) 出图(复刻背景、框架图、图标图)必须用 raster 图像生成后端:Codex 用内置 imagegen / imagegen( 支持把原图作为输入做"提取式"出图 );其它运行时用其原生出图工具。 禁止 SVG/HTML/Canvas/代码画图、PPT shapes、裁原图局部冒充。 抠透明用本技能自带 scripts/chroma_key.py (保色保线/保形) ——内部不透明像素颜色 100% 保留(红/藏青/灰/白绝不褪色),默认不腐蚀边缘(细线/辉光不丢); frame-safe / icon-safe 会增强半透明边缘 alpha,并只用二值 gap repair 修补细线断点,避免横竖线不齐、圆弧残缺。框架/图标默认加 --scale 2 先超采样抠图,再在 PPT 里缩回目标尺寸,让横竖线和圆弧更顺。 别用激进的 --soft-matte --despill --edge-contract 组合 去抠扁平图(会变色+丢线)。 看图(文字/图标定位)必须用 GPT 自身视觉能力,输出结构化 JSON。不要先跑 tesseract、EasyOCR、系统 OCR 等传统 OCR 引擎。 imagegen 传图 / edit target 硬门禁 Codex 内置 image_gen 生成 B2/B3/B4 时, 必须先用 view_image 打开当前页源图 ,让这张图成为当前对话里可见的 edit target ,然后再调用 image_gen 。Prompt 必须明确写“以刚刚显示的这张图片作为唯一编辑目标 / edit target,在它的基础上提取或擦除生成目标层”。 不要只把源图当作风格参考图 ,更禁止只在 prompt 里写本地文件路径来冒充传图:路径文本不会自动把图片传给 imagegen,模型会凭描述猜,框架图和图标图会跑偏。 多页任务必须一页一页处理:生成第 1 页 B2/B3/B4 前只显示第 1 页源图;生成第 2 页前重新 view_image 第 2 页源图,并在 prompt 中指向“刚刚显示的这张图是本次编辑目标”。若 imagegen 产物无法证明基于当前 edit target 提取,或明显与源图不一致,本页 B2/B3/B4 判失败,必须重出,不能进入 B5-B9。 每页工作流(逐项打勾) - [ ] B0 隔离目录:为本次任务创建唯一 `RUN_ROOT`,所有文件只写入/读取该目录;不得复用工作区固定 `editable/01`、`out/`、`qa/` - [ ] B0a 传图:每页 B2/B3/B4 调 imagegen 前,必须先 `view_image` 当前页源图;prompt 写“以刚刚显示的这张图片作为唯一编辑目标 / edit target,在它的基础上提取或擦除生成目标层”;不得只写本地路径、不得只作为风格参考或凭文字描述猜图 - [ ] B1 探色:probe_palette.py 判断该页是否含绿 → 定本页抠图底色(默认 #00ff00;含绿改 #ff00ff 等) - [ ] B2 背景:用 imagegen 复刻干净背景(无任何文字/图标/框架/卡片/占位块),禁止用 PPT 色块、程序绘图或裁原图;写 prompt 文件并登记真实 imagegen 调用记录 - [ ] B3 框架图:用 imagegen 在抠图底色上提取框架图,生成图片提示词固定为“生成一张图片,提取这张图片中的框架图,纯色背景,背景色值为XXXXXX,「框架图」= 原图里**除背景/图标/装饰/艺术字/普通文本外的一切**(容器轮廓与**底色填充/标题条/辉光**、分隔/连接线、**全部图表图形:折线/柱状/阶梯/饼图/坐标网格/趋势线**、缎带/装饰)→ 形状·大小·位置与原图 **1:1 一致**,保留原色与填充,别漏数据折线/装饰、别自己额外加空心线框、占位框;不要出现文字、不要出现图标;”;只允许把 XXXXXX 替换为 B1 决定的背景色值(默认 #00ff00;原图有绿色则改 #ff00ff、#8000ff 等原图没有的颜色);写 prompt 文件并登记真实 imagegen 调用记录 - [ ] B4 图标图:先用 GPT 视觉对比**原图 vs B3 frame 预览**,列出「源图全部图标/装饰/艺术字清单」和「已误入 frame 的图标清单」;B4 prompt 只生成 frame 里没有的元素,避免同一图标在 frame 与 icons 双重出现;用 imagegen 把缺失元素排成 N×N 等分方格网(小图标 4×4,大装饰/物品图/艺术字 2×2 或单独大格),多了出多张;方格网不要画分割线,不画实线和虚线,提示词里要明确写出这一点;如果最终生成的图片不小心有了方格分割线也没关系,先抠图,然后裁剪掉分割线就好(因为每个网格有留白);禁止从原图裁图标、程序绘制图标或艺术字;写 prompt 文件并登记真实 imagegen 调用记录 - [ ] B5 抠图与图标切分:scripts/chroma_key.py 给 imagegen 生成的框架图+图标图去底(框架用 `--preset frame-safe`,图标/艺术字用 `--preset icon-safe` 保边)→ 默认保留整张透明 `frame.png`,不做框架切分;图标表用 `slice_grid.py --auto --pad 24 --contact-sheet` 按透明空隙切成单个透明图标 → 查看 `icons_contact_sheet.png`、`frame.png` 灰底自检;任一图标被切断、粘连、缺边、edge_touch 异常,必须重出或重切,不能交付。若用户明确要求框架切分,再运行 `slice_grid.py --components --pad 0 --contact-sheet --prefix fp` 把 `frame.png` 切成 `frame_parts/` - [ ] B6 定位:默认最终 `layout.json` 使用整张 `frame.png` 作为框架视觉层:写 `"frame":"frame.png"`,不要把框架切成 `frame_parts`。再逐个量出每个普通图标/艺术字在**源图实际像素坐标系**里的 `x/y/w/h` bbox,并换算成比例写入:`x=x_px/ref_width`、`y=y_px/ref_height`、`w=w_px/ref_width`、`h=h_px/ref_height`(manifest 只有素材表尺寸,必须补原图实测坐标;保持宽高比、尺寸贴合原图)→ `layout.json` 默认用 `units:"fraction"`;`view_image`/浏览器/预览图显示的缩略坐标不能直接写入,必须按 `源图宽/显示宽` 与 `源图高/显示高` 分别换回源图像素;禁止只把 x 放大、y 不放大这类混合坐标。首次合成后必须按预览反向校准普通图标尺寸/位置,缩放一律以源图 bbox 中心点为锚点,禁止按切片素材尺寸或视觉感觉直接摆放。若用户明确要求框架切分,才运行 `frame_parts_to_icons.py` 读取 `frame_parts/icons_manifest.json`,按每个框架切片在 `frame.png` 中的 bbox 映射成比例坐标,生成 `icons[] role:"frame_part"` 条目;这个 bbox 回放是拼回原 `frame.png` 布局的保证 - [ ] B7 文字:用 GPT 视觉读取原图所有**普通字体文字**(内容/像素位置/字号/颜色/粗细/对齐) → 先量**源图实际像素 bbox**,再按比例写入 layout:`x/y/w/h` 用 fraction,字号优先用 `size_ratio = 源图实际文字高度像素 / ref_height`(或 `size_pct = size_ratio*100`),如果用户或源 PPT 期望 PowerPoint 号数字号,也可以直接写 `size` 绝对 pt;不要把缩略图上的文字高度当作源图 `size_px`。换算公式是 `pt = size_ratio × (slide_height_in×72) = size_px × (slide_height_in×72) / ref_height`,反推为 `size_px = 目标pt × ref_height / (slide_height_in×72)`。如果坐标来自 2048×1143 这类缩略显示,而源图是 4096×2286,必须先把 `x/y/w/h/source_bbox/size_px` 全部乘以 2 后再写入;例如 7.441in 高、2286px 源图中,20px 只会得到 4.69pt,9pt 应写约 38.4px。艺术字只记录为 B4 图标/装饰定位,不写入普通文本框;首次预览后必须对照源图微调文本框比例、字号比例和行距,确保换行、基线和相对图标位置还原原图。**先定字体粗细/字号/行距,再回校位置**:`bold` 默认 `false`,普通正文不要全加粗,只有各级标题、按钮标题、重点词按原图加粗;多行正文段落优先用约 `line_spacing:1.2`,否则后续改粗细/行距会改变换行和视觉 bbox,让已量好的坐标再次漂移。 - [ ] B7a 坐标与样式契约校验:合成前必须运行 `layout_guard.py 源图 layout.json --strict`。`ref_width/ref_height` 必须等于源图实际像素尺寸;`source_bbox` 必须覆盖源图中真实对象,而不是覆盖 `view_image` 缩略坐标位置。若量测来自同宽高比缩略图,先把 bbox 与 `size_px` 缩放回源图像素,或用 `--fix-ref-to-source --fix-fractions --in-place` 归一化,再重新人工复查关键文本和图标。`layout_guard --strict` 还会拦截疑似半分辨率字号(默认低于 6pt、或 `source_bbox` 行高明显大于 `size_px`)和“正文全加粗”(6 个以上文本框超过 85% bold);真实小字必须显式写 `small_text_ok:true`,真实全粗体页必须写 `allow_all_bold_text:true` 并在 QA 备注说明。`layout_guard` 不用页面覆盖高度判错;任何 `source_bbox` 与 `x/y/w/h` 不一致、字号/粗细警告未处理,都不能进入 B8。 - [ ] B7b 源图 bbox 视觉复核:合成前先运行 `placement_qa.py` 只画源图框并打开 `slide_01_source_boxes.png`,确认每个文本/图标框真实圈住源图对象。`layout_guard` 只能发现坐标字段不一致,不能发现“bbox 一致但量错对象/量到错误行”的问题;发现错框必须先改 `source_bbox`,再让 `x/y/w/h` 由 bbox 换算。 - [ ] B7c 框架锚点回校:B7a/B7b 通过后,必须再看**最终合成预览中的 `frame.png`**,对贴在框架上的文本做二次校准:分区标题条、面板标题、按钮文字、底部总结条、页脚/横幅、步骤标签等,不只按源图 bbox 放置,还要按生成后的 `frame.png` 标题条/按钮/底栏的视觉中心线或内边距回校。若 `frame.png` 相对源图有轻微漂移,文本应跟随最终 frame 锚点移动;`layout_guard` 通过不代表这些文本已经视觉对位。记录每个被调整文本的 `frame_anchor`(如 `left_panel_title_bar`、`bottom_summary_bar`)、`dy_px` 和原因到 QA 笔记或 layout 旁文件。 - [ ] B8 合成:compose_pptx.py 生成 .pptx,并 --preview-dir 出预览图 - [ ] B9 QA:检查 `imagegen-assets-manifest.json` 中 B2/B3/B4 是否都有 imagegen 后端、生成源、prompt 文件、交付复制路径,且没有 programmatic/local/PIL/SVG/HTML/Canvas/matplotlib 等违规来源;检查 `frame.png` 叠背景后完整对位、线条/圆弧/填充干净,检查 `icons_contact_sheet.png` 无缺边;运行 `visual_compare_qa.py 源图 最终预览 --out-dir ...`,打开 `side_by_side.png`、`blend.png`、`diff_heatmap.png`,用 GPT 视觉对比源图与最终预览,逐项核对:图标无缺失、无重复叠影、无被切断、位置/大小贴合、文字可读;再用 placement_qa.py 在源图和预览图上画 bbox → 至少执行一轮 `layout.json` 回校(先修图标中心点/尺寸,再修文字框/字号/行距,最后修贴框文本的 frame_anchor 偏移)→ 对比整页预览;图标明显偏小/偏大、压字、离源位置漂移,或文字换行/位置不贴合,都不得交付 叠放顺序(从下到上):背景 → 整体框架图( frame ) → 元素图标( icons ) → 文字( texts )。如果用户明确要求框架切分,则顺序为:背景 → 框架部件( icons[] 中 role:"frame_part" ) → 元素图标( icons ) → 文字( texts )。默认不使用 shapes ;除非用户明确要求原生形状重建,否则 shapes 不得承载任何视觉内容。 关键命令 # B0 本次任务隔离目录(<task-slug> 用源图名或用户任务名的安全短名) mkdir -p " $PWD /image2pptx_runs" export RUN_ROOT= " $(mktemp -d " $PWD /image2pptx_runs/ $(date +%Y%m%d-%H%M%S) _<task-slug>_XXXXXX" ) " mkdir -p " $RUN_ROOT /editable/01/icons" " $RUN_ROOT /editable/01/prompts" " $RUN_ROOT /out/preview" # B1 探色(含绿则推荐改非绿底色) python3 scripts/probe_palette.py " $RUN_ROOT /editable/01/slide-01.png" # B5 去底(框架图 + 图标图都去底,保色保线)→ 默认保留整张 frame.png + 图标切片 → 合到灰底自检 python3 scripts/chroma_key.py --input " $RUN_ROOT /editable/01/frame_raw.png" --out " $RUN_ROOT /editable/01/frame.png" --preset frame-safe --scale 2 --force python3 scripts/chroma_key.py --input " $RUN_ROOT /editable/01/icons_raw_1.png" --out " $RUN_ROOT /editable/01/icons_t_1.png" --preset icon-safe --scale 2 --force python3 scripts/slice_grid.py " $RUN_ROOT /editable/01/icons_t_1.png" " $RUN_ROOT /editable/01/icons" --auto --pad 24 --contact-sheet --prefix ic # 非绿底:--auto-key none --key-color "#ff00ff";只有严格等分且元素居中时才用 --grid 4x4 # 可选:仅当用户明确要求框架切分/框架部件可移动时执行 mkdir -p " $RUN_ROOT /editable/01/frame_parts" python3 scripts/slice_grid.py " $RUN_ROOT /editable/01/frame.png" " $RUN_ROOT /editable/01/frame_parts" --components --pad 0 --contact-sheet --prefix fp python3 scripts/frame_parts_to_icons.py " $RUN_ROOT /editable/01/frame_parts/icons_manifest.json" --ref-width <源图宽px> --ref-height <源图高px> --out " $RUN_ROOT /editable/01/frame_parts/frame_parts_layout_icons.json" # B8 合成 + 预览 + 摆放 QA python3 scripts/layout_guard.py " $RUN_ROOT /editable/01/slide-01.png" " $RUN_ROOT /editable/01/layout.json" --strict python3 scripts/placement_qa.py " $RUN_ROOT /editable/01/slide-01.png" " $RUN_ROOT /editable/01/layout.json" --slide-index 1 --out-dir " $RUN_ROOT /editable/01/qa-source-boxes" python3 scripts/compose_pptx.py " $RUN_ROOT /editable/01/layout.json" " $RUN_ROOT /out/<task-slug>.pptx" --preview-dir " $RUN_ROOT /out/preview" python3 scripts/placement_qa.py " $RUN_ROOT /editable/01/slide-01.png" " $RUN_ROOT /editable/01/layout.json" --slide-index 1 --preview " $RUN_ROOT /out/preview/slide_01.png" --out-dir " $RUN_ROOT /editable/01/qa-placement" python3 scripts/visual_compare_qa.py " $RUN_ROOT /editable/01/slide-01.png" " $RUN_ROOT /out/preview/slide_01.png" --out-dir " $RUN_ROOT /editable/01/qa-visual" 要点: 目录隔离 :每次转换必须先建唯一 RUN_ROOT ,所有 background.png 、 frame_raw.png 、 frame.png 、可选的 frame_parts/ 、 icons_raw_*.png 、 layout.json 、 imagegen-assets-manifest.json 、预览图和最终 PPTX 都在 RUN_ROOT 下;不要读写工作区固定同名目录。 imagegen 必须传图且作为 edit target :每页每次生成 B2/B3/B4 之前,先 view_image 当前源图,让源图成为 imagegen 可用的可见编辑目标;prompt 中写“以刚刚显示的这张图片作为唯一编辑目标 / edit target,在它的基础上提取或擦除生成目标层”。不要只写 /path/to/slide.png ,本地路径文本不是传图;也不要只把源图当作风格参考。 抠图底色 :默认纯绿 #00ff00 ;B1 报告含绿则改非绿(如品红 #ff00ff ),B3/B4 出图底色与 B5 --key-color 同步。 图片层来源 : background.png 、 frame_raw.png 、 icons_raw_*.png 必须是 imagegen 生成图;不得来自 PPT 色块绘制、代码绘图或原图局部裁切。 不做历史源页搜索 :除非用户明确要求复用旧文件,否则不要为了转换图片而扫描当前目录或历史 outputs/ 寻找相似源页;直接处理用户给出的当前图片。 B3 提示词固定 :框架图生成 prompt 固定为“生成一张图片,提取这张图片中的框架图,纯色背景,背景色值为XXXXXX,「框架图」= 原图里 除背景/图标/装饰/艺术字/普通文本外的一切 (容器轮廓与 底色填充/标题条/辉光 、分隔/连接线、 全部图表图形:折线/柱状/阶梯/饼图/坐标网格/趋势线 、缎带/装饰)→ 形状·大小·位置与原图 1:1 一致 ,保留原色与填充,别漏数据折线/装饰、别自己额外加空心线框、占位框;不要出现文字、不要出现图标;”。只替换 XXXXXX 为 B1 选出的背景色值。 框架图保真与默认整图 :框架图 = 除背景/图标/装饰/艺术字/普通文本外的一切(含 全部图表图形与装饰 ),连同卡片 底色填充/标题条/辉光/渐变 一起提取——抠出的框架合到背景上应≈原图去掉普通文本、图标和艺术字,且与原图 1:1 一致 。别漏标题下短线、卡片顶部色条、下划线、 数据折线/阶梯/饼图 、坐标轴/网格线、缎带装饰。 不能额外添加原图没有的占位框、线框 。去底后的 frame.png 默认作为整体框架视觉层放入 PPT;只有用户明确要求框架切分时,才按透明连通区域切成 frame_parts/ 并以 icons[] role:"frame_part" 放入 PPT。 图标生成前先去重 :B3 之后必须看 frame.png 叠背景的预览,列出已经出现在 frame 的图标/装饰;B4 只生成 frame 中没有的元素。若某元素已经在 frame 里且位置正确,就不要再放进 icons[] ,否则会出现重叠双影。 图标/艺术字切片保边 :一张图里生成多个图标可以保留,但必须留足空隙;切片优先 slice_grid.py --auto --pad 24 --contact-sheet ,固定网格只在元素严格居中时用。必须查看 icons_contact_sheet.png :任一图标缺角、缺边、被裁半截、或 manifest 里任一 edge_touch 为 true,说明边框可能被切坏,必须重出图标表(加大格子/留白/拆成多张)或重切,不能交付。 图标缺失硬门禁 :最终预览必须和源图并排做视觉核对,源图中每个普通图标/装饰/艺术字必须满足二选一:已在 frame 中正确出现,或已在 icons[] 中正确摆放。不能因为图标层偏移、遮挡或难切就从最终 layout 删除图标后交付。 坐标契约硬门禁 : ref_width/ref_height 必须写源图实际像素尺寸; source_bbox 也必须是同一源图像素坐标。 view_image 、浏览器截图、PPT 预览 PNG 常常是缩略图,不是源图坐标系;若在缩略图上量到坐标,必须按 scale_x=源图宽/缩略图宽 、 scale_y=源图高/缩略图高 分别换回源图像素,并同步缩放 size_px 。禁止把 2048px 预览坐标和 4096px 源图尺寸混用,尤其禁止 x 已按源图估、y 仍停留在缩略图高度,结果会让文字/图标全部挤到 PPTX 上半部分。 layout_guard.py --strict 不负责判断视觉对位,视觉对位必须看最终合成预览与源图。 源图框视觉硬门禁 : layout_guard 通过只表示 bbox 与 fraction 数学一致,不表示 bbox 量对了对象。合成前必须打开 qa-source-boxes/slide_01_source_boxes.png ,逐项确认文本/图标框覆盖源图真实位置;像“关键动作”这种文本框若圈到上方流程区而非底部按钮,即使 guard 通过也必须重测。
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。