framework/skills/tool-usage/content-generation/codex-image-gen/SKILL.md
Для генерации и редактирования изображений и макетов
npx skillsauth add steelmorgan/1c-agent-based-dev-framework codex-image-genInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Тонкая обёртка над Codex CLI для генерации и редактирования растровых изображений. Claude/Opus как primary agent не умеет рисовать картинки — поэтому при появлении такой задачи нужно явно делегировать её Codex'у через wrapper, описанный ниже. Это не review-сценарий: image_gen действительно создаёт файл на диске, поэтому Codex запускается в --sandbox workspace-write, в отличие от cross-provider-review.
| Ситуация | Действие |
|----------|----------|
| Нужен UI-mockup / wireframe формы 1С для обсуждения UX до реализации | Применить шаблон «UI / app mockup» из references/prompt-guide.md |
| Нужна иллюстрация для спеки, ADR, статьи, презентации | Применить шаблон «Office / business illustration» или «Lifestyle scene» |
| Нужна диаграмма как растр (не векторная mermaid/PlantUML) | Применить шаблон «Diagram / explainer visual» |
| Нужна тестовая фикстура: иконка, аватар, плейсхолдер для реквизита Picture/AttachedFile | Применить шаблон «Icon / sticker» или «Product photo» |
| Нужна правка существующего PNG (сменить цвет, убрать объект, заменить фон) | Передать оригинал через --reference-image, применить шаблон редактирования |
| Пользователь спрашивает «можешь нарисовать N изображений и сравнить» | Делать N независимых вызовов wrapper'а — Codex держит стейт картинки только внутри одной сессии |
web-test-1c / playwright / gui-control, не генерация.codex_review.py — там жёстко прибит --sandbox read-only, файл на диске не появится. Используй именно codex_image_gen.py.tasks/<id>/assets/, чтобы артефакт жил рядом с задачей. Если задачи нет — обсудить с пользователем, нужно ли ей завестись.Wrapper лежит рядом со SKILL.md:
.claude/skills/codex-image-gen/scripts/codex_image_gen.py \
--task-id <id> \
--filename <name>.png \
--prompt-file path/to/prompt.txt
или короткой строкой:
.claude/skills/codex-image-gen/scripts/codex_image_gen.py \
--task-id <id> \
--filename <name>.png \
--prompt "High-fidelity UI mockup for ..."
Для редактирования существующего изображения:
.claude/skills/codex-image-gen/scripts/codex_image_gen.py \
--task-id <id> \
--filename <name>-v2.png \
--reference-image tasks/<id>/assets/<name>.png \
--prompt "Keep the original composition. Change the background to ..."
Опции wrapper'а:
| Флаг | Назначение |
|------|------------|
| --task-id | Обязательный. Выход пойдёт в tasks/<task-id>/assets/. Каталог создаётся автоматически. |
| --filename | Обязательный. Имя итогового файла (*.png/*.jpg/*.webp). |
| --prompt или --prompt-file | Содержимое промта. Один из двух обязателен. |
| --reference-image | Путь к исходному изображению для режима редактирования. Можно повторять. |
| --model | Модель Codex. По умолчанию gpt-5. |
| --reasoning-effort | low/medium/high. По умолчанию medium. |
| --timeout-sec | Таймаут одного вызова. По умолчанию 600. |
| --dry-run | Покажет финальную команду codex exec без запуска. Полезно для отладки. |
Wrapper печатает в stdout JSON-блок {"status": "ok", "files": ["abs/path/...png", ...]} или {"status": "error", "reason": "..."}. Принимай результат программно по этому JSON.
references/prompt-guide.md — это рабочий гайд из 8 разделов: общий принцип, оси промта (сюжет/стиль/свет/фон/ограничения), шаблон-конструктор для генерации, шаблон-конструктор для редактирования, 10 готовых шаблонов на типовые сценарии генерации, 10 шаблонов на редактирование, частые ошибки, итерационный протокол. ОБЯЗАТЕЛЬНО прочитай раздел, релевантный твоей задаче, перед составлением промта — image_gen нелинейно чувствителен к структуре.
Жёсткие требования к промту, специфичные для этого wrapper'а (а не общему image_gen):
Save the resulting image as <filename> in the current working directory. — wrapper подставляет её автоматически в конец промта, но если ты пишешь промт-файл, ничего лишнего про сохранение писать не нужно.--sandbox workspace-write -C <output_dir>, любая попытка писать вне tasks/<id>/assets/ будет заблокирована kernel-sandbox.--filename). Для серии — несколько отдельных вызовов wrapper'а.status: ok + список файлов → проверь ls tasks/<id>/assets/<filename> (stat достаточно). Если файла нет — это status: error независимо от того, что сказал Codex.image_generation зависит от модели и настроек Codex CLI. Если wrapper падает с сообщением вида «model does not support image_generation» — сообщи пользователю и предложи переключить модель через --model (например, gpt-5/gpt-5-codex) или открыть тикет на обновление Codex CLI.status: error с подсказкой «retry, явно потребовав сохранить файл».Use 1024x1024 unless the user explicitly asked for another size. — переопределяй явным указанием в собственном промте.cross-provider-review создаёт sandbox в .review-sandboxes/, прибивает --sandbox read-only и предназначен для второго мнения по артефактам — без записи на диск и без побочных эффектов. Image generation — это, наоборот, целевой write на диск в результирующую папку проекта. Семантика и режимы безопасности разные, поэтому codex_image_gen.py — самостоятельный wrapper, а не флаг в codex_review.py.
depends_on:
development
1C server maintenance webhooks: container restart and external component cache cleanup
development
Interactive DAP debugging of a single BSL procedure
tools
Rules for using RLM tools for project search and navigation in 1C/BSL
development
Creates web applications and routes on Winow (a web server on OneScript and Autumn). Use when working with a web server on OneScript, routing, or Winow controllers.