skills/imagegen/SKILL.md
AI image generation with OpenAI and Gemini providers. Use when the user wants to generate, edit, or remix images from text prompts or reference images.
npx skillsauth add hayeah/dotfiles imagegenInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
cd {baseDir} && uv tool install -e .
Requires env vars (in ~/.env.secret):
OPENAI_API_KEY — for OpenAIGEMINI_API_KEY — for Gemini{baseDir}/src/hayeah/imagegen/openai.py for OpenAIProvider{baseDir}/src/hayeah/imagegen/gemini.py for GeminiProvider{baseDir}/src/hayeah/imagegen/__init__.py for ImageResultgodotenv -f ~/.env.secret python -c '
from hayeah.imagegen.openai import OpenAIProvider
OpenAIProvider().generate("a cat wearing a top hat")[0].save("cat.png")
'
godotenv -f ~/.env.secret python -c '
from hayeah.imagegen.openai import OpenAIProvider
from pathlib import Path
p = OpenAIProvider(model=None)
p.edit("make it blue", images=[Path("cat.png").read_bytes()])[0].save("cat-blue.png")
'
godotenv -f ~/.env.secret python -c '
from hayeah.imagegen.gemini import GeminiProvider
GeminiProvider().generate("a landscape", aspect_ratio="16:9")[0].save("land.png")
'
godotenv -f ~/.env.secret imagegen openai create "a cat" -o cat.png
godotenv -f ~/.env.secret imagegen gemini create "a cat" -o cat.png
See {baseDir}/CLI.md for full CLI reference.
When the user wants to refine an image, use OpenAI's previous_response_id rather than regenerating from scratch.
When the user has a reference image, pass it as images=[Path("ref.png").read_bytes()] rather than trying to describe it in the prompt.
tools
Web UI development — Vite+ toolchain setup and browser-based E2E testing workflow.
tools
Tooling and style guide for TypeScript projects.
development
Capture tmux pane content and export as text, HTML, SVG, PNG, or JPG. Use when you need a screenshot or text dump of a tmux pane for sharing, feeding to AI, or archiving terminal state.
testing
Copy-edit text. Fix grammar and/or tidy text into a concise listicle.