image-poster

nexu-io/open-design · Agent Skill

Генерирует изображения для постеров, ключевых артов и иллюстраций, используя различные модели по выбору.

Перейти к установке ↓

Варианты установки

По умолчанию выбран промпт с предварительным просмотром. Можно переключиться на прямую команду.

Установка через Claude или Codex

Скопируйте промпт, вставьте в Claude, Codex или другого ассистента — он сам изучит страницу скилла и подключит его.

I'd like to install this Claude Code skill:
https://github.com/nexu-io/open-design/tree/main/design-templates/image-poster

Please review the SKILL.md file, verify the skill is legitimate, then copy the skill folder into .claude/skills/ of my project.

Файлы скилла

2 файлов Скачать ZIP

Просмотрите SKILL.md и сопутствующие файлы перед установкой. Клик по файлу — предпросмотр.

Содержимое SKILL.md

Оригинальный текст автора · только чтение

Image Poster Skill

Produce one finished image asset per turn unless the user asks for

variations. Image generation rewards a tight, structured prompt — your

job is to assemble that prompt from the user's brief, then dispatch.

Resource map

image-poster/
├── SKILL.md         ← you're reading this
└── example.html     ← what the resulting card looks like in Examples

Workflow

Step 0 — Read the project metadata

The active project carries imageModel, imageAspect, and (optional)

imageStyle notes. Use them as the upstream model + canvas + style

anchor. When a value is not provided, infer a safe default from the brief and

media contract. Ask only when the choice would materially change the requested

result and no safe default can be inferred.

Step 1 — Compose the prompt

Plan in this exact order before calling any tool:

1. Subject + composition — what is in the frame, where, at what

scale; eye-line and crop.

2. Lighting + mood — natural / studio / moody; warm / cool; key

plus rim plus fill; time of day if outdoor.

3. Palette + textures — hex anchors when the user gave a brand

palette; otherwise a 3-word mood tag (e.g. "muted ochre + ink").

4. Camera / lens — only if the user wants photographic realism

("85mm portrait, shallow DOF") or a specific film stock.

5. What to avoid — common AI-slop patterns ("no extra fingers, no

warped text, no logo placeholders").

Step 2 — Dispatch via the media contract

Use the unified dispatcher — do not call upstream provider APIs by

hand. Run from your shell tool:

"$OD_NODE_BIN" "$OD_BIN" media generate \
  --project "$OD_PROJECT_ID" \
  --surface image \
  --model "<imageModel from metadata>" \
  --aspect "<imageAspect from metadata>" \
  --output "<short-descriptive-name>.png" \
  --prompt "<the full assembled prompt from Step 1>"

The command prints one line of JSON: {"file": {"name": "...", ...}}.

The daemon writes the bytes into the project folder; the FileViewer

picks it up automatically.

Step 3 — Hand off

Reply with a one-paragraph summary of the prompt you used and the

filename returned by the dispatcher (e.g. *I generated hero-poster.png

with gpt-image-2 at 1:1.*). Do not emit an <artifact> tag.

Hard rules

  • One image per turn unless asked for variations.
  • Honor imageAspect exactly — the upstream cost is the same; matching

the aspect avoids a re-render.

  • No filler typography in the image itself unless the user asked for

in-frame text. Real copy beats lorem.

  • Save every render — never describe an image without producing the

file. The user expects something to open in the file viewer.