agentsclimarketplace

Image poster

Skill nexu-io/open-design/plugins/_official/examples/image-poster

🎨 The open-source Claude Design alternative. πŸ–₯️ Local-first desktop app. πŸ–ΌοΈ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images & video β€” real files, HTML/PDF/PPTX/MP4 export. πŸ€– Claude Code / Codex / Cursor / Gemini / OpenCode / Qwen & 20+ CLIs via BYOK.

Install
npx -y skills add nexu-io/open-design --skill image-poster

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Single-image generation skill for posters, key art, and editorial illustrations. Defaults to gpt-image-2 but is provider-agnostic β€” the same workflow drives Flux, Imagen, or Midjourney via the active upstream tooling. Output is one or more PNG/JPEG files saved to the project folder.

SKILL.md

3.4 KB, as published. Nobody here has run it

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; only ask the user to fill them in if they're marked (unknown β€” ask).

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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.