CtrlK
BlogDocsLog inGet started
Tessl Logo

image-generation

Generate images and iteratively edit saved image artifacts.

58

Quality

66%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./nanobot/skills/image-generation/SKILL.md
SKILL.md
Quality
Evals
Security

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:

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:

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"
)
Repository
HKUDS/nanobot
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.