zrt-ai-lab/opencode-skills

codex-image-service

Use when Codex needs native image generation, editing, or engineered multi-image composition, especially sets, material kits, grids, storyboards, carousels, presentations, panoramas, masked composites, long images, or other deliverables requiring consistent independent assets and deterministic post-processing.

First seen Jul 16, 2026

Installation

$ npx skills add zrt-ai-lab/opencode-skills --skill codex-image-service

Summary

Use when Codex needs native image generation, editing, or engineered multi-image composition, especially sets, material kits, grids, storyboards, carousels, presentations, panoramas, masked composites, long images, or other deliverables requiring consistent independent assets and deterministic post-processing.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from zrt-ai-lab/opencode-skills · top by installs.

npx skills add zrt-ai-lab/opencode-skills

Browse all from zrt-ai-lab/opencode-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Declared

Repository health

Stars 280
License MIT
Default branch main
Open issues 2
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents opencode

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 18,100 B
  • docs SUMMARY.md 338 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 18 installs

SKILL.md

Codex 图像工程

<HARD-GATE> 只要请求包含“一组、一套、系列、批量、多张、物料、套图、九宫格、轮播图、卡片组、长图、微信长图、多屏、分镜、漫画、信息图、PPT、幻灯片”中的任一语义:

  1. 第一轮必须输出逐图工程规划并请求确认;
  2. 第一轮必须在确认请求处结束,绝对不能调用任何生图工具;
  3. 用户初始请求中的“直接生成、别问、赶时间、你决定”绝对不能充当确认;
  4. 确认只能发生在用户看到最新完整规划之后;
  5. N 张独立成品必须至少执行 N 次独立生图,一次调用生成的拼贴、四宫格或样机只能算 1 张预览。
  6. 所有批量项目必须声明交付形态和合成策略;需要像素融合时,未通过项目清单和算法前置条件机器校验就禁止生成或合成。用户只说“长图”而未指定卡片式时,连续模式是默认模式。

违反其中任何一条都表示任务执行失败。没有“先出一张再补规划”“先调用一次试试”“按精神执行”等例外。 </HARD-GATE>

核心原则

使用 Codex 原生 image_gen 工具完成生成或编辑,并把多图需求当作一个可验收的批量图像工程,而不是一条提示词。长图只是其中一种;物料套图、九宫格、故事板、轮播、PPT 页面、全景和局部植入都必须按各自交付语义选择工程流程。

独立成品数量决定生图次数。四张物料至少需要四次独立生成;一张包含四个版面的合集图仍然只算一张预览,不算四张成品。

任务分类

先分类,分类完成前禁止调用生图工具。

单图任务

只有同时满足以下条件才按单图执行:

  • 用户明确要求“一张”“单张”或编辑某一张指定图片;
  • 只有一个画面目的和一个交付文件;
  • 不需要分屏、系列一致性、拼接或套图交付。

信息完整时可直接生成;只补充会改变结果的必要信息。

批量项目

出现以下任一条件,必须按批量项目执行:

  • 关键词:一组、一套、系列、批量、多张、物料、套图、九宫格、轮播图、卡片组、长图、微信长图、多屏、分镜、漫画、信息图、PPT、幻灯片;
  • 用户描述了两个及以上用途、版面、页面、场景或交付物;
  • 最终产物需要拼接、统一裁切、统一命名、联系表或合集预览;
  • 数量虽然没写,但“整套”“介绍某主题的一组素材”等语义天然包含多个独立成品。

数量不明确时,主动提出合理数量和结构,不要追问“要几张”后原地等待,更不能擅自降级为一张图。

批量项目硬闸门

批量项目必须先输出完整规划,并等待用户明确确认。确认前禁止调用 image_gen、禁止生成定调图、禁止用一张合集图试探需求。

确认必须发生在最新完整规划展示之后。 初始请求中的“直接生成”“别问”“赶时间”“你决定”只是效率偏好,不是对尚未展示的规划的确认,不能绕过闸门。批量项目的第一轮回复只能包含规划和确认请求,必须在调用任何生图工具之前结束当前轮次。

规划必须列出:

字段 必填内容
项目目标 发布平台、受众和用途
计划数量 独立成品数量,不含预览图
逐图清单 编号、文件名、画面目的、主体、准确文字、比例
视觉系统 色彩、字体气质、网格、留白、摄影或插画风格
参考关系 定调图、共享参考图、上一张参考或独立生成
工程处理 裁切、拼接、自定义网格、命名、联系表、最终格式
合成策略路由 material-kit / grid / storyboard / carousel / document / generated-continuous / panorama / object-blend
算法计划 对齐、接缝、融合、所需蒙版或布局、依赖与失败策略
验收标准 数量、文字、比例、一致性和禁用元素
接缝工程(连续长图必填) 相邻屏的共享元素、方向、色调、过渡安全区、重叠尺寸和桥接策略

完整规划展示后,用户说“确认”“按这个做”“可以”“开始生成”等才算确认。沉默、模糊反馈、催促以及规划展示前的授权不能视为确认。用户修改规划后,先更新清单,再等待新的明确确认。

如果被问“现在是否可以调用生图工具”,只要最新规划尚未得到展示后的明确确认,答案必须是“不可以”。

确认后默认自动完成整批,避免每张都反复请示。只有用户明确要求“先看一张风格”时,才在定调图后增加第二个确认点。

状态机

严格按顺序推进,不得跳步:

  1. INTAKE:提取主题、用途、受众、平台、数量、比例、文字、参考图和限制。
  2. CLASSIFY_DELIVERY:判断独立资产、确定性布局、连续融合、实拍全景或蒙版植入;长图只是其中一种。
  3. PLAN:加载对应模板,建立逐图清单、参考关系、命名、合成 Profile 和后处理方案。
  4. AWAIT_CONFIRMATION:展示完整规划;此状态禁止调用生图工具。
  5. VALIDATE_PROJECT:确认后先填写 composition-project.json 并执行机器校验;连续长图再校验专用接缝项目。未通过时禁止生图。
  6. STYLE_ANCHOR:项目通过后生成第一张独立成品作为定调图,并检查风格、构图、比例和文字区域。
  7. BATCH_GENERATE:按参考依赖串行生成;无依赖的独立物料才允许并行。连续图逐屏传递真实接口图。
  8. VERIFY_ASSETS:逐张检查;按 Profile 验证接口、布局来源、全景重叠或植入蒙版。
  9. ROUTE_COMPOSITION:结合用户交付语义和真实素材诊断,确定对齐、接缝、融合算法;记录路由报告。
  10. REWORK:只返工不合格图片、接口、蒙版或布局,不推翻已通过项。
  11. POST_PROCESS:执行确定性布局或可信像素融合,输出算法、布局和接缝报告。
  12. DELIVER:对账计划数量、实际数量、派生产物、算法报告和失败项。

原生工具调用规则

调用前强制自检

每次准备调用 image_gen 前,在内部逐项判断:

这是批量项目吗?
最新完整规划已经展示吗?
用户是在规划展示之后明确确认的吗?
本次调用只对应清单中的一个独立成品吗?

批量项目中任一答案为“否”时,禁止调用工具并回到对应状态。不得用用户催促、节省时间或“先看看效果”覆盖自检结果。

  • 每个独立成品调用一次 image_gen.imagegen
  • 多图连续性必须串行处理,不能并发破坏风格一致性。
  • 第一张使用用户参考图或文生图定调;后续使用真实定调图或上一张结果作为参考。
  • 本地参考图使用 referencedimagepaths;最近对话图片使用最小必要的 numlastimagestoinclude;两者不能混用。
  • 每次提示词都写明主体、环境、构图、光线、比例、用途、准确文字、统一风格和排除项。
  • 工具返回的实际结果才算产物;禁止伪造路径、尺寸、成功状态或下载地址。
  • 合集预览图不能计入成品数量。物料套图应先交付独立成品,预览联系表只能作为额外产物。

工程化处理

有可写目录和真实图片路径时,建立或维护以下产物台账:

<project>/
├── manifest.md
├── source/       # 原始生成结果
├── final/        # 返工通过和后处理后的成品
└── preview/      # 联系表或合集预览,不计入成品数

使用 templates/batch-project-manifest.md 记录文件名、用途、比例、参考关系和状态。所有批量项目复制 templates/composition-project.json,明确 Profile、独立资产和派生交付物;确认后运行:

python scripts/adaptive_compositor.py validate-project <composition-project.json>
python scripts/adaptive_compositor.py plan --intent "<用户需求>" --output <routing.json>

需要纵向拼接、联系表或确定性网格排版时使用 scripts/assembleimages.py;高级图像合成使用 scripts/adaptivecompositor.py。脚本只处理本地图片,不负责生图。

合成策略路由

先按最终交付语义选择 Profile,再根据真实图片决定算法参数。完整边界见 references/composition-routing.md

  • material-kit:宣传物料、电商套图和品牌系列。保留全部独立成品,只派生联系表或平台版式;禁止像素融合。
  • grid:九宫格、杂志拼图和非对称网格。使用确定性布局,不做特征对齐。
  • storyboard:分镜、漫画格和故事板。保留顺序、编号和镜头边界。
  • carousel / document:轮播、PPT、信息图页面。保持页面独立,不把页面融合成一张图。
  • generated-continuous:生成式连续多屏或长图。使用接口传递、平移校正、重叠检测和多频段融合。
  • panorama:建筑、室内或风景实拍。使用特征点匹配、RANSAC 单应性、Graph Cut 和多频段融合。
  • object-blend:有明确蒙版的抠图植入或局部换景。使用蒙版定位和 Poisson 融合。

自动路由失败、缺少高级依赖、蒙版、匹配点、可信重叠或内点率时必须停止并返工。禁止自动降级为硬拼。单应性不得用于文字排版图;光流不得拉扯人脸、产品、Logo 或建筑硬边;Poisson 没有真实蒙版时禁止执行。

微信长图

先用 templates/wechat-long-image-plan.md 拆成 4–8 个常规比例分屏。用户只说“长图”时,连续模式是默认模式;只有用户明确要求卡片式、章节式、分隔线或独立内容块,才能选择 cards

规划确认后,复制 templates/long-image-project.json 到项目目录,填完整屏幕和 N−1 条接缝并将状态更新为 confirmed。运行以下机器校验,未通过时禁止调用生图工具:

python scripts/long_image_pipeline.py validate-project <project.json>

逐屏生成并验收后再纵向拼接。禁止直接要求模型生成一张超长图;拼接图之外仍保留每个分屏源文件。

连续长图接缝硬规则

连续叙事、插画或摄影长图不能把独立分屏直接硬贴。只有明确采用卡片式、章节式或故意分隔的版式,才允许零重叠拼接。

  • 规划阶段为每个相邻屏建立接缝契约:上一屏底部、下一屏顶部、共享过渡元素、运动方向、色温、亮度、主体尺度、重叠量和桥接策略。
  • 每屏顶部和底部各预留约 12%–20% 的过渡安全区。安全区只放云、雾、火焰、光尘、布带、渐变背景等可融合纹理,不放标题、人脸、手、产品、建筑硬边或关键证据。
  • 后一屏提示词必须明确承接上一屏底部的共享元素和方向;仍需参考真实定调图或上一屏结果,不能只靠相同风格词。
  • 每生成一屏,立即使用 longimagepipeline.py extract-interface 提取底部 12%–20% 接口图。生成下一屏时,referencedimagepaths 必须同时包含上一屏完整图和该接口图;提示词明确“顶部安全区承接接口图,关键结构不得进入安全区”。缺少真实接口图时禁止继续生成。
  • 下一屏生成后,使用 longimagepipeline.py compare-interfaces 比较上一屏底部和下一屏顶部。接口分数低于项目阈值时只返工下一屏;不得把不连续图片交给后处理硬救。
  • 统一比例或裁切时优先保护过渡安全区。裁切会移除安全区、截断共享元素或改变主体尺度时,标记该屏“待返工”,不得靠强裁切后继续拼接。
  • 同类纹理接缝使用 8%–15% 的纵向重叠、平移校正、多频段融合和局部色彩匹配;只有显式轻量模式才使用余弦羽化。场景、空间或镜头尺度明显跳变时,必须生成或编辑无文字、无关键主体的桥接画面,不能用大范围模糊或交叉淡化掩盖。
  • 拼接后必须导出每条接缝的 1:1 局部预览,逐条检查水平切线、重影、亮度跳变、纹理方向和结构断裂。禁止仅凭缩略长图或联系表判定接缝通过。
  • 连续模式使用 scripts/assemble_images.py stitch-vertical --mode continuous --project <项目 JSON> --overlap auto --blend multiband --seam-preview <路径> --seam-report <路径>。脚本会再次校验项目确认状态、分屏顺序、接口文件和逐缝比对报告,再寻找真实重叠并执行多频段融合。缺少工程证据或找不到可信重叠区域时禁止拼接,必须返工对应接口。
  • 卡片式必须显式使用 --mode cards。命令不提供 --mode 时直接失败;零重叠硬拼不再是默认行为。

详细字段和执行顺序见 templates/wechat-long-image-plan.md,验收规则见 templates/quality-gate.md

物料套图

先用 templates/material-kit-plan.md 定义每张独立成品。默认建议包含主视觉、卖点或服务、场景或环境、行动引导;根据主题增减。禁止用桌面样机、四宫格或合集展示替代独立文件。需要合集时,在全部独立成品通过后额外生成联系表。

根据行业选择对应模板:编辑与公众号、电商产品、建筑室内、时尚美妆、食品饮料、文旅文化。行业视觉语言、必须锁定的身份信息和派生版式见 references/industry-playbooks.md。行业切换不能只换背景颜色;应同时调整构图、材质、灯光、镜头和发布载体。

物料套图默认 Profile 为 material-kit,主视觉、卖点图、场景图和行动图是独立交付物。只有用户另行要求九宫格或合集时才派生 grid;派生图不能代替、也不能计入独立成品数量。

自定义网格

九宫格、故事板、杂志拼图和非对称网格必须先生成并验收所有独立源图,再执行确定性排版。一次生图得到的网格仍然只算一张图片,不能替代独立源图。

  • 使用 templates/custom-grid-plan.md 记录源图、平台、画布、布局文件和裁切锚点。
  • 使用 references/grid-layouts/ 的预设,或创建项目级 JSON 布局。
  • scripts/assemble_images.py custom-grid --layout <json> 支持等分网格、跨行跨列、自由像素坐标、cover / contain / stretch、裁切锚点、圆角和边框。
  • 产品、人物和证据图禁止使用 stretchcover 模式必须明确主体锚点。
  • 输出布局报告,逐格核对来源、位置、裁切方式和顺序。
  • 同一组独立源图可以派生多个平台版式;派生网格不增加独立生图数量。

逐张质量门

使用 templates/quality-gate.md 检查:

  • 主体、画面目的、比例和构图符合对应清单项;
  • 中文标题和短标签准确可读,无乱码和随机文字;
  • 角色、产品、品牌色、字体气质、网格和光线保持一致;
  • 无水印、随机品牌、无关人物、畸形结构或敏感信息;
  • 文件真实存在,后处理结果能打开,计划数量与实际数量一致。
  • 连续长图的每条接缝都通过 1:1 局部验收,无明显横向硬切、重影或色调突变。
  • 自定义网格无越界、意外重叠、错误拉伸或关键内容裁切,且布局报告可追溯。
  • 合成路由与用户交付语义一致;算法报告记录实际对齐、接缝、融合、置信度和失败策略。

文字不合格时,先缩短文字、扩大文字区域或改为无字底图后再返工。只重做失败项。

交付格式

批量项目必须给出最终对账:

计划数量:N 张独立成品
实际数量:N 张独立成品
后处理:长图 1 张 / 联系表 1 张 / 无
未通过项:无 / 编号与原因
文件清单:编号、用途、实际路径或工具返回结果

计划数量不等于实际数量时,不得声称完成。

红线

  • 看到“一组物料”就只调用一次生图工具。
  • 用一张四宫格、桌面样机或合集效果图冒充多个独立成品。
  • 未经明确确认就开始批量生成。
  • 只展示首张定调图便结束任务。
  • 生成后不做逐张验收、不核对计划数量和实际数量。
  • 为追求速度并发生成需要连续一致性的图片。
  • 连续长图未提取接口图、未比较接口,便把独立图片交给拼接脚本。
  • 省略 --mode--project、接缝预览或接缝报告,依赖脚本默认值硬拼。
  • 自动重叠检测失败后降低阈值强行通过,而不是返工图片接口。
  • 不判断交付场景,看到多张图就调用融合算法。
  • 对物料、九宫格、故事板、轮播或 PPT 页面做无意义的特征匹配和像素融合。
  • 高级算法不可用或低置信度时静默回退成硬拼。

出现任一红线,立即停止并回到正确状态。

安全边界与交接

  • 不读取、保存或展示凭证、Cookie、Token 或私有配置。
  • 不调用外部图像 API,不运行旧版 image-service 客户端。
  • 不默认发布到公众号、小红书或其他平台。
  • 公众号发布交给 wechat-publisher;视频节奏交给 ai-video-script;故事拆镜交给 story-to-scenes

请求结构见 templates/codex-image-request.md;批量工程模板位于 templates/;合成路由见 references/composition-routing.md;场景细则见 references/scene-playbooks.md