Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
nexu-io avatar

Image Poster

  • 227 installs
  • 83.7k repo stars
  • Updated August 5, 2026
  • nexu-io/open-design

Generate shareable poster images from open-design HTML presentation assets for social posts, event promos, and slide cover art without leaving the design workflow.

About

The image-poster skill in nexu-io/open-design produces promotional poster images from HTML presentation designs, bridging slide authoring and shareable visual assets for marketing and distribution.

  • Poster raster export
  • Slide-to-image pipeline
  • Social-ready graphics
  • Branded cover art
  • No external design tool

Image Poster by the numbers

  • 227 all-time installs (skills.sh)
  • +1 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #585 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/nexu-io/open-design --skill image-poster

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs227
repo stars83.7k
Last updatedAugust 5, 2026
Repositorynexu-io/open-design

What it does

Generate shareable poster images from open-design HTML presentation assets for social posts, event promos, and slide cover art without leaving the design workflow.

Files

SKILL.mdMarkdownGitHub ↗

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.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.