generate-logo — Claude Code skill: what it does, how to install
Generates logo variations for the vigiles project using the ImageRouter API. Useful when experimenting with visual branding or iterating on icons.
npx skills add zernie/vigiles --skill generate-logo -a claude-codeWhat generate-logo does
This skill handles logo generation for the vigiles repository through the ImageRouter service. It submits POST requests to https://api.imagerouter.io/v1/openai/images/generations. The default output is 1024x1024 PNG. Recommended models include google/nano-banana-2 at $0.07 per run or its free variant google/nano-banana-2:free. It also supports openai/gpt-image-1 and black-forest-labs/FLUX-1.1-pro.
Calls fail without an API key. You obtain this credential at https://imagerouter.io/api-keys and assign it to the IMAGEROUTER_API_KEY environment variable or pass it directly. Once the job finishes, the tool downloads the final graphic from data[0].url.
The workflow isolates experimental drafts. All variations are saved into gitignored logo-v*.png files. After picking the best outcome, copy that image over to logo.png. Only logo.png should be committed.
What it helps with
- produce logo concepts using ImageRouter models such as
google/nano-banana-2 - send automated POST requests to generate 1024x1024 PNG image assets
- store intermediate logo drafts in gitignored
logo-v*.pngfiles - copy the final selected asset into
logo.pngfor committing
Example prompts for the agent
- Generate a few logo drafts with an amber flame theme using
google/nano-banana-2 - Create a test icon on a black background using the free tier
google/nano-banana-2:free - Run logo generation via ImageRouter and save the output to
logo-v7.png
How to install generate-logo
1Skills CLI (Vercel)
npx skills add zernie/vigiles --skill generate-logo -a claude-code2Manually: put the files in place
~/.claude/skills/generate-logo/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/generate-logo/
1Skills CLI (Vercel)
npx skills add zernie/vigiles --skill generate-logo -a codex2Manually: put the files in place
.agents/skills/generate-logo/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add zernie/vigiles --skill generate-logo -a cursor2Manually: put the files in place
.cursor/skills/generate-logo/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install zernie/vigiles generate-logo2Manually: put the files in place
.github/skills/generate-logo/SKILL.md1Skills CLI (Vercel)
npx skills add zernie/vigiles --skill generate-logo -a gemini-cli2Platform CLI
gemini skills install https://github.com/zernie/vigiles --path .claude/skills/generate-logoManually: put the files in place
.devin/skills/generate-logo/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add zernie/vigiles --skill generate-logo -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about generate-logo
How to install generate-logo in Claude Code?
Run npx skills add zernie/vigiles --skill generate-logo -a claude-code. The skill definition will be saved to ~/.claude/skills/generate-logo/SKILL.md.
What does generate-logo do?
It creates logo iterations for the vigiles project via the ImageRouter API. The skill formats prompt payloads, fetches output URLs, and organizes versioned image files.
What is required before generating logos?
You must obtain an API key from https://imagerouter.io/api-keys and set the IMAGEROUTER_API_KEY environment variable. The key can also be passed directly in the call.
Source text
SKILL.md · MIT
---
name: generate-logo
description: Generate or iterate on the vigiles logo using ImageRouter API
---
# Generate Logo
Generate logo variations for vigiles using the ImageRouter API (imagerouter.io).
## Setup
Get an API key from https://imagerouter.io/api-keys. Pass it as an argument or set `IMAGEROUTER_API_KEY` env var. Do NOT commit the key.
## API
```
Endpoint: https://api.imagerouter.io/v1/openai/images/generations
Auth: Bearer token in Authorization header
Method: POST, Content-Type: application/json
```
### Request body
```json
{
"prompt": "...",
"model": "google/nano-banana-2",
"quality": "high",
"size": "1024x1024",
"response_format": "url",
"output_format": "png"
}
```
### Available models (image generation)
List models: `GET https://api.imagerouter.io/v1/models`
Known good models:
- `google/nano-banana-2` — best quality, $0.07/image
- `google/nano-banana-2:free` — free tier
- `openai/gpt-image-1` — OpenAI's image model
- `black-forest-labs/FLUX-1.1-pro` — FLUX pro
### Response
```json
{
"created": 1775430873,
"data": [{ "url": "https://storage.imagerouter.io/..." }],
"cost": 0.069,
"latency": 27627
}
```
Download the image from the URL in `data[0].url`.
## Current logo
The current logo (`logo.png`) is v6: overlapping translucent flame petals on dark background, amber-orange palette. Generated with `google/nano-banana-2`.
### Prompt that produced it
```
A premium, refined logo icon for a developer tool called vigiles that compiles
typed TypeScript specs to AI instruction files. Inspired by OpenAI geometric aesthetic and Apple
minimalism. A single abstract geometric shape: an upward-pointing flame composed
of 3 overlapping translucent rounded shapes, creating depth through overlap —
similar to how the OpenAI logo uses overlapping curves. Warm amber to deep orange
color palette. Black background. No text. No letters. Pure abstract mark. Clean
enough to be an app icon. Luxurious, premium, modern tech company feel.
```
## Design principles
- **Flame/torch motif** — vigiles were Rome's night watchmen who carried torches
- **Amber/orange palette** — matches GitHub Action branding color
- **No text in the icon** — must work at 16px favicon size
- **Dark background variant** for README, light/transparent variant for npm
## Example curl
```bash
curl 'https://api.imagerouter.io/v1/openai/images/generations' \
-H "Authorization: Bearer $IMAGEROUTER_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"prompt": "YOUR PROMPT HERE",
"model": "google/nano-banana-2",
"quality": "high",
"size": "1024x1024",
"response_format": "url",
"output_format": "png"
}'
```
## Workflow
1. Generate variations with different prompts
2. Save as `logo-v*.png` (gitignored)
3. Pick the best, copy to `logo.png`
4. Commit `logo.png` only
© zernie · MIT · zernie/vigiles