imagegen
Skill4 starsChanged 6 months agoMITView on GitHub
This skill should be used when the user asks to "generate an image", "create a cover image", "make an illustration", "generate artwork", "create a hero image", "generate a logo", "make a banner", "create an image for", "generate a thumbnail", "make an icon", "create visual content", "edit this image", "restyle this image", "compose these images", or needs AI-generated or AI-edited images for their project. Provides a CLI with JSON output optimized for LLM consumption.
- Reads credentials
46 other projects use a version of this.
Adopted by
Most recently taken up by
- delorenj/skillstheir own version, first seen Nov 7, 2026
- microsoft/amplifier-bundle-imagegentheir own version, first seen Nov 5, 2026
- kushvinth/skillstheir own version, first seen Oct 29, 2026
- BlockRunAI/ClawRoutertheir own version, first seen Oct 27, 2026
- Firzus/agent-skillstheir own version, first seen Oct 23, 2026
- full-aigc-plugins/image-factory-plugintheir own version, first seen Oct 20, 2026
Used with
Projects with it also use send-user-message, tinyagi-admin and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Maliot100XSkillsend-user-message
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp). Use when the agent needs to notify, alert, or send an unsolicited message to a user — especially during heartbeat invocations, scheduled tasks, or when the agent wants to reach out without a prior user message in the current conversation. Triggers: 'send message to user', 'notify user', 'alert user', 'message the user on discord/telegram/whatsapp', or any need to proactively communicate with a paired sender.
Also in 4 projects that use this
jlia0Skilltinyagi-admin
Manage and operate the TinyAGI system itself — agents, teams, settings, queue, tasks, daemon lifecycle, and source code. Use when the agent needs to: list/add/remove/update agents or teams, check queue status, view logs, start/stop/restart TinyAGI, change settings (provider, model, channels), send messages to the queue, manage tasks, retry dead-letter messages, view recent responses, modify TinyAGI source code or configuration, or perform any administrative operation on the TinyAGI platform. Triggers: 'manage tinyagi', 'add an agent', 'remove a team', 'check queue', 'view logs', 'restart tinyagi', 'change provider', 'update settings', 'create a task', 'modify tinyagi code'.
Also in 3 projects that use this
OpenAISkillreview-agent
Perform a read-only, defect-first review of a specified code change and return every actionable finding. Use when another agent delegates review of uncommitted changes, a base-branch diff, a commit, or custom review instructions.
Also in 4 projects that use this
anyprotoSkillskills-manager
Context-aware routing to skills and hooks management. Use when troubleshooting skill activation, fine-tuning keywords, or managing the automated documentation system.
Also in 3 projects that use this
bivexSkillschedule
Управление расписанием занятий с специалистами по самосовершенствованию. Используй когда пользователь спрашивает о расписании, хочет добавить/удалить/перенести занятие, посмотреть план на день или неделю.
Also in 4 projects that use this
genomewalkerSkilltasks
Browse and resume tasks, threads, and background jobs across sessions
Also in 4 projects that use this
Other versions46 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 46
- openai/codex★ 134ksame name
- openai/skills★ 27ksame name
- BlockRunAI/ClawRouter★ 6.7ksame name
- jlia0/tinyclaw★ 3.6ksame name
- TinyAGI/tinyagi★ 3.6ksame name
- TinyAGI/tinyclaw★ 3.6ksame name
- JetBrains/skills★ 386same name
- yan-labs/yan-skills★ 232same name
- PracticalSwan/agent-skills★ 22same name
- ckorhonen/claude-skills★ 17same name
36 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 2 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 41 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Always run imagegen generate --help to discover current flags and defaults.
- Very specific: line 25
If none is found, the CLI returns code: "API_KEY_MISSING" with a recovery hint.
- Very specific: line 37
Use the default for almost everything.
- Very specific: line 51
Always pass --output <path> and place the file in a project-appropriate assets directory (e.g.
- Very specific: line 52
After the call returns ok:true, use the Read tool on the produced file path to confirm the image landed and looks right.
- Distinctive: line 53
Never generate copyrighted characters, real people's likenesses, or harmful content.
- Distinctive: line 59
Add or remove elements from an existing image.
“Common” is measured: kept by at least 6 in 10 of the 41 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
imagegen
Text-to-image and image-editing CLI backed by Google Gemini's Nano Banana 2 family. JSON output.
CLI
- Path:
./imagegen-cli/imagegen(relative to this SKILL.md). - Requires
uv(install). First call provisions the Python environment automatically. - Subcommands:
generate(aliasgen). Pass--image <path>(repeatable) to edit, restyle, or compose existing images instead of generating from scratch. - Always run
imagegen generate --helpto discover current flags and defaults. Do not memorize flag values — they evolve with the API.
API key
The CLI looks for the key in this order:
GEMINI_API_KEYenvironment variable..gemini-keyfile (raw key, no quotes) found by walking up from the current working directory — project-local override. Add.gemini-keyto.gitignore.~/.gemini-keyin the user's home directory — machine-wide default.
If none is found, the CLI returns code: "API_KEY_MISSING" with a recovery hint. Get a key at https://aistudio.google.com/apikey.
Models
The --model choice gates which other flags work. Pick the cheapest that meets the need.
| Model | Sizes (--size) | Aspect ratios (--aspect-ratio) | --thinking | Max --image inputs |
gemini-3.1-flash-image-preview (default) | 512, 1K, 2K, 4K | 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9 | minimal (def.) / high | 14 |
gemini-3-pro-image-preview | 1K, 2K, 4K | 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 | always on, not user-set | 14 |
gemini-2.5-flash-image | not configurable | 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 | n/a | 3 |
Use the default for almost everything. Switch to gemini-3-pro-image-preview for high-stakes assets (legible long text, complex multi-element compositions). Switch to gemini-2.5-flash-image only for cost reasons on simple prompts.
Prompting (these are thinking, creative models)
These models reason about composition and fill creative gaps on their own. Provide intent and context — not exhaustive specs.
- Give what only the user knows: brand, audience, where the asset goes, mood, must-include elements, must-avoid elements.
- Let the model choose lens, lighting, palette, and layout unless the user specified them.
- One narrative sentence beats a tag list. Describe the scene, not keywords.
- For exclusions, prefer rewriting the prompt positively (e.g. "an empty street" instead of
--negative-prompt "people, cars"). Use--negative-promptonly as a last resort. - Iterate by saving the output and re-invoking with
--image <previous-output>plus a small directive (e.g. "warmer lighting, keep everything else").
Output rules
- Always pass
--output <path>and place the file in a project-appropriate assets directory (e.g.src/assets/,public/images/). Use a descriptive filename matching the content. - After the call returns
ok:true, use the Read tool on the producedfilepath to confirm the image landed and looks right. - Never generate copyrighted characters, real people's likenesses, or harmful content.
Editing / composition
Pass --image <path> one or more times in addition to the prompt. Same generate command. Examples of when to use it:
- Add or remove elements from an existing image.
- Apply a style transfer.
- Compose a scene from multiple references (e.g. a model + a garment).
- Maintain character consistency across renders.
- Refine a previous generation.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

