Agent skill · design visual · jeremylongshore

generate-graphic

Generates an on-brand marketing graphic — hero image, ad creative, background, or texture — with an image model, optionally stamped with the brand logo and a caption. Opt-in: needs a provider key and network access. Use when a user wants a photographic or illustrative graphic, not a text-heavy asset. Trigger with "make a hero image", "ad background", or "/brand-make graphic".

Why this skill is useful

Adds specific commands and workflows for generating brand-compliant marketing graphics that the AI wouldn't reliably generate on its own.

What it needs

Requires node installed locally. Requires gemini, openai account access. About 3k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

Generate Graphic Generates an on-brand marketing graphic through an image model — the one opt-in feature that reaches the network — optionally stamped with the brand logo and a caption. Overview The generate-graphic skill is the opt-in raster engine. Everything else in brand-forge (logos, social, docs) stays vector and zero-permission; this skill is the only path that calls an external image provider, so it runs only when a user explicitly wants a photographic or illustrative graphic. The generator builds a brand-aware prompt with lib/raster.mjs, calls the provider with lib/genimage.mjs, and can composite a crisp vector logo and caption over the result with lib/composite.mjs. Text is deliberately kept out of the image and added as vector on top. Prerequisites An active brand profile created with /brand-new. Read loads its color-system.json, typography.json, and visual-identity.md. Two opt-in signals, both required: BRANDFORGERASTER=1 and a provider key (GEMINIAPIKEY by default, or OPENAIAPIKEY). The 30-preflight emitter surfaces this at session start. Authentication: the provider api key is read from that environment variable and sent as a request header, never placed in the URL. No credentials are written to disk. Node.js on the PATH and Write access to an output/ directory. Instructions 1. Verify both opt-in signals are set. If either is missing, stop, explain how to enable raster, and offer the vector path (generate-social or a template) instead, which needs neither. 2. Use Glob to locate the active brand directory, then Read and validate the profile with validateProfile. 3. Build the prompt with lib/raster.mjs (no network). It encodes the palette in words, the imagery style, and the tone, and turns the brand's don't-rules into an "Avoid:" clause. Warn the user when literal text is requested and route text-heavy work to the vector engine. 4. Generate the image (the network call). …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/generate-graphic

View the source on GitHub

Browse the @skills marketplace