image-generation
This Claude Code skill enables image generation and iterative editing of saved image artifacts. Use it when users request image creation, rendering, or design work. The skill handles text-to-image generation with detailed prompts specifying subject, composition, style, and constraints. For image editing, reference saved artifact paths or user-provided images to enable follow-up edits in the same conversation. After generation, deliver images to users naturally without exposing internal filesystem paths or debug details.
git clone --depth 1 https://github.com/HKUDS/nanobot /tmp/image-generation && cp -r /tmp/image-generation/nanobot/skills/image-generation ~/.claude/skills/image-generationSKILL.md
# Image Generation Use the `generate_image` tool when the user asks you to create, render, draw, design, generate, or edit an image. If the `generate_image` tool is not available in the current tool list, tell the user that image generation is not enabled for this nanobot instance. ## When To Use - Text-to-image: call `generate_image` with a concrete `prompt`. - Image editing: pass the saved artifact path or user image path in `reference_images`. - Iterative edits in the same conversation: prefer the most recent generated image artifact if the user says things like "make it brighter", "change the background", or "try another version". - Ambiguous edits: ask a short clarifying question if multiple recent images could be the target. - After generating images, call the `message` tool with the artifact paths in the `media` parameter to deliver them to the user. ## Prompt Rules Write prompts with enough detail for image models: - Subject and scene. - Composition and camera or layout. - Style, mood, lighting, and color palette. - Text that must appear in the image, quoted exactly. - Constraints such as "keep the same character", "preserve the logo", or "do not change the background". ## Artifact Rules The tool stores generated images as persistent artifacts under nanobot's media directory and returns structured metadata: - `id`: generated image id, such as `img_ab12cd34ef56`. - `path`: local file path for internal follow-up edits. - `mime`: image MIME type. - `prompt`, `model`, and `source_images`: provenance for follow-up edits. In normal user-facing replies, do not expose local filesystem paths. Keep the reply natural, for example "Done, I generated it." You may include the short image `id` when it helps the user refer to a specific image, but keep raw `path` internal unless the user explicitly asks for debug details or a local artifact reference. Never paste base64. For follow-up edits, pass the prior artifact `path` to `reference_images`. If the user provides a new uploaded image, use that path as the reference instead. Do not include internal replay markers such as `[Message Time: ...]`, `[image: /local/path]`, `generate_image(...)`, or `message(...)` in user-facing replies. ## Examples Generate a new image: ```text generate_image( prompt="A minimal app icon for nanobot: friendly robot head, rounded square, soft blue and white palette, clean vector style, no text", aspect_ratio="1:1", image_size="1K" ) ``` Edit the latest generated artifact: ```text generate_image( prompt="Use the reference image. Keep the same robot and composition, but change the palette to warm orange and add a subtle sunrise background.", reference_images=["/home/user/.nanobot/media/generated/2026-05-08/img_ab12cd34ef56.png"], aspect_ratio="1:1", image_size="1K" ) ```
Search and install agent skills from ClawHub, the public skill registry.
Schedule reminders and recurring tasks.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Sustained objectives via long_task / complete_goal — idempotent goal wording, project-style modular work, early web/doc research, Runtime Context metadata.
Two-layer memory system with Dream-managed knowledge files.
Check and set the agent's own runtime state (model, iterations, context window, token usage, web config). Use when diagnosing why something doesn't work ("why can't you search the web?", "why did you stop?"), checking resource limits before complex tasks, adapting configuration for long or simple tasks, or remembering user preferences across turns. Also use when the user asks what model you are running, how many tokens you've used, or what your settings are.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).