AI image generation: Gemini and Nano Banana backends; single/series/batch workflows with prompt-to-disk.
npx skills add https://github.com/notque/vexjoy-agent --skill image-gen
Backend-agnostic image generation workflow: single images, series with anchor-chain consistency, and batch pipelines. Two backends: Gemini (API) and Nano Banana (local scripts with post-processing).
| Signal | Load These Files | Why |
|---|---|---|
| Every request (always load) | references/series-consistency.md | Anchor-chain and prompt-file-first rules apply to all generation |
| Every request (always load) | references/backend-selection.md | Mode decision required before every generation |
| Script output gemini | references/backends/gemini.md | Gemini API models, env vars, flags |
| Script output nano-banana | references/backends/nano-banana.md | Nano Banana subcommands, flags, aspect ratios |
Run the backend detection script — it reads environment variables and outputs a single word:
python3 skills/content/image-gen/scripts/detect-backend.py
Output values:
gemini — GEMINI_API_KEY or GOOGLE_API_KEY is setask — no key found; ask the user which backend to useLoad references based on output:
references/series-consistency.md (always — applies to every generation).references/backend-selection.md (always — needed to pick mode and script).references/backends/gemini.md when output is gemini.GEMINI_API_KEY or confirm they want to use local scripts when output is ask.Gate: references loaded, backend confirmed before Phase 2.
Write the complete prompt to disk before any API call. Prompt files serve as the generation record and the anchor-chain input for series — writing them first means the full intent is on disk before any quota is spent.
File naming:
prompts/YYYY-MM-DD-{slug}.mdprompts/{series-name}-01.md, prompts/{series-name}-02.md, ...Prompt file format:
---
model: gemini-3-pro-image-preview
aspect-ratio: 1:1
flags: []
---
Full prompt text here. Be explicit about subject, style, background, and constraints.
Create the prompts/ directory if absent:
mkdir -p prompts
For a series, write all prompt files before calling any generation script. See references/series-consistency.md for the anchor-chain algorithm and why this ordering prevents drift.
Gate: all prompt files written and reviewed before Phase 3.
Use references/backend-selection.md to map the request to the correct script and subcommand.
| Use case | Script | Notes |
|---|---|---|
| Single image, Gemini | scripts/generate_image.py | --prompt flag |
| Batch from prompt file, Gemini | scripts/generate_image.py | --batch flag |
| Single or batch with post-processing | scripts/nano-banana-generate.py | Full flag set in backend ref |
| Series with anchor chain | scripts/nano-banana-generate.py with-reference | Load ref images from previous outputs |
| Post-processing only | scripts/nano-banana-process.py | crop, remove-bg, pipeline subcommands |
Gate: script and subcommand identified before Phase 4.
Call the selected script with absolute paths for output files — relative paths break when scripts run from different working directories.
For series generation, follow the anchor-chain sequence from references/series-consistency.md:
--reference for image 2.Show the full script output — the user needs status messages, warnings, and partial failure information.
Gate: script exits 0 before Phase 5.
Visual inspection is mandatory. Read the generated image file to verify:
If visual inspection fails: regenerate with an adjusted prompt. Report the issue clearly before retrying.
Report to the user:
Report only what was requested. The user did not ask for style suggestions or additional generations.
| Error | Cause | Resolution |
|---|---|---|
| GEMINI_API_KEY not set | Missing env var | export GEMINI_API_KEY=your_key or export GOOGLE_API_KEY=your_key |
| No image in response | Prompt triggered safety filter or text-only response | Adjust prompt phrasing; check for policy-violating content |
| Missing dependency: google-genai | Package not installed | pip install google-genai pillow |
| Rate limit exceeded (429) | Too many API calls | Increase --delay; default 2s may be too aggressive on free tier |
| Content policy violation (400) | Restricted prompt content | Rephrase using neutral language; this restriction is API-side |
| No image data in response | API returned text only | Set response_modalities=["IMAGE", "TEXT"] in config |
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.
Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.
This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.
Take notque/image-gen from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.