Skip to content
Agentmart
Submit a tool

delegate-image

Generate a visual — SVG via text models (Astra) for logos and diagrams, a raster panel for photos — judged by two independent models.

Skill by joewalnes

IndexedMIT★ 3
Write a review

Chalk Labs

Need help deploying delegate-image?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/joewalnes-delegate-image

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Generate a visual — SVG via text models (Astra) for logos and diagrams, a raster panel for photos — judged by two independent models. Use for any image ask.

Use cases: design

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/delegate-image

What's inside

Skill name
delegate-image
Description
Generate a visual — SVG via text models (Astra) for logos and diagrams, a raster panel for photos — judged by two independent models. Use for any image ask.
License
MIT
Instructions
66 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (4)

  • SKILL.md
  • generate-image.py · scripts/
  • image-panel.py · scripts/
  • svg-panel.py · scripts/

SKILL.md (first lines)

# Delegate: visuals — pick the output type, then the panel

Claude can't generate raster images, but it can write SVG, and so can any capable text model. So the first decision is not which model — it's **which kind of file the user actually wants.** Get that wrong and a photorealistic model produces a blurry logo, or a vector model is asked for a sunset.

## 1. Choose the output type

| The ask | Output | Why |
|---|---|---|
| Logo, mark, icon, badge, diagram, chart, schematic, pictogram — anything with flat shapes, text, or that must scale, be edited, or **animate** | **SVG** | Resolution-independent, editable, tiny, animatable with CSS or SMIL, and reviewable as source. The user will want to change a colour or a word later; with a PNG they can't. |
| Photo, scene, person, product shot, texture, illustration with lighting and depth — anything photorealistic or painterly | **Raster** (PNG) | This is what image-generation models are for; no text model can do it. |
| "Animated logo", "loading spinner", "hero animation" | **SVG with animation** | CSS `@keyframes` inside `<style>` (broadest support) or SMIL; the static first frame must stand on its own. |

When in doubt: *if the user would ever want to edit it, it's SVG.* Say which type you chose and why in one line; if the ask genuinely straddles (a logo *and* a photo of it on a mug), do both.

## 2a. SVG panel — text models

```bash
python3 <skill-dir>/scripts/svg-panel.py "<prompt>" <output-dir> [--models openai/gpt-6-astra,z-ai/glm-5.3]
python3 <skill-dir>/scripts/svg-panel.py --render-only <output-dir>/claude.svg
```

- **Models:** `openai/gpt-6-astra` (ZDR on OpenRouter, ~$0.10 per graphic at $10/$50 per Mtok — the strongest text model available for this) and `z-ai/glm-5.3`. Astra is used **only here** — it has no image output, so it never appears in the raster panel.
- **Claude's own entry.** The Agent running this also writes one itself as `<output-dir>/claude.svg`, then renders it with `--render-only`. Three entries, three lineages.
- The script asks each model for *only* an SVG, extracts the first `<svg>…</svg>`, rejects anything that doesn't parse as XML, saves `<model>.svg`, and renders `<model>.png` with `rsvg-convert` so the judges can *see* it. Animated SVGs render as their first frame.
- **Write the prompt for a vector artist**: shapes and their relationship, palette as hex, "no text" unless wanted, target sizes ("works at 32px"), and for animation: what moves, how long, and that the first frame must be presentable.

## 2b. Raster panel — image models

```bash
python3 <skill-dir>/scripts/image-panel.py "<detailed prompt>" <output-dir>
```

Runs three Gemini image tiers in parallel (the only ZDR-clean image generators on OpenRouter — OpenAI's image models have no ZDR endpoint), saves `flash.png`, `nano-banana.png`, `pro.png`, and writes per-model cost. Benchmarked 2026-09-01 on 4 prompts, blind-judged:

| Rank | Model | Notes |
|---|---|---|
| 1 | `google/gemini-3.1-flash-image` | Won 3 of 4; best all-rounder |
| 2 | `google/gemini-2.5-flash-image` ("nano banana") | Won the photorealistic nature shot |
| 3 | `google/gemini-3-pro-image` | Won the logo test; priciest (~$0.14/img) — but logos are SVG now |

The user generates images rarely, so the 3-model panel (~$0.24) is the default; don't downgrade to one model to save money unless asked. To edit an existing raster, call `scripts/generate-image.py` directly with `-i input.png`.

## 3. Two independent judges — same for both panels

Sequentially (concurrent calls can trip OpenRouter's credit hold), two vision models from lineages other than the generators':

```bash
cd <output-dir> && pi -p --no-tools --no-session --provider openrouter --model moonshotai/kimi-k2.5 -- @a.png @b.png @c.png "<judge prompt>"
cd <output-dir> && pi -p --no-tools --no-session --provider openrouter --model z-ai/glm-4.6v      -- @a.png @b.png @c.png "<judge prompt>"
```

For **raster**: "These N images were generated from the prompt '<prompt>'. For each, a one-sentence critique; then your favourite with a one-sentence reason."

For **SVG**, attach the PNGs *and* paste the SVG sources, and ask additionally: does it read as the concept at 32px and at 256px; is the source clean (a `viewBox`, no embedded rasters, no scripts, sane path count); for animation, does the described motion serve the mark or decorate it. A judge that can't see images will still produce a plausible critique from filenames — confirm `pi --list-models <name>` shows `images: yes`, and that the critique cites visual specifics.

## 4. Execution — one Agent call, one clean response

The user invokes this and expects **the files plus two quick critiques in a single response**, not a play-by-play. All of it — the type decision, the panel, Claude's own SVG, rendering, judging — happens inside **one Agent tool call** (general-purpose). It runs asynchronously; after dispatching, say nothing and wait for the completion notification. Brief the agent with the ask, the type you chose, both command lines, the judge prompts, and: send every output with SendUserFile (`display: render`; for SVG send both the `.svg` and its `.png`), then return **only** each judge's pick and one-sentence reason, your own one-sentence recommendation, and cost.

If any raster is a photorealistic depiction of a real, identifiable person, say so in one line and keep it out of anything published.

## 5. After the Agent returns

Relay in one short message: which entry each judge picked and why, your own take, the cost. Nothing about mechanics.

From joewalnes/skills, MIT.

More from joewalnes/skills

Signals

Stars
3
Forks
3
Open issues
0
Last commit (this folder)
Sep 7, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from joewalnes

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get delegate-image running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying delegate-image?

CallGet help
Cite this page

delegate-image skill. Agent Mart. https://agentmart.dev/skills/joewalnes-delegate-image (last updated 2026-10-24)