/imagegen
Generate original images, artwork, product visuals, diagrams, or other raster assets with the desktop's configured image provider. Use whenever the user asks to create or generate an image.
$ npx -y skills add NanmiCoder/cc-haha --skill imagegen --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/imagegen
Context preview
The summary Claude sees to decide when to auto-load this skill.
Generate original images, artwork, product visuals, diagrams, or other raster assets with the desktop's configured image provider. Use whenever the user asks to create or generate an image.
SKILL.md
imagegen.SKILL.mdname: imagegen
description: Generate original images, artwork, product visuals, diagrams, or other raster assets with the desktop's configured image provider. Use whenever the user asks to create or generate an image.
allowed-tools: ImageGen, ImageEdit
Image generation
Use the built-in `ImageGen` and `ImageEdit` tools. Provider authentication, model routing, output storage, and secrets are managed by the desktop host; never ask the user to put an API key in this skill or in the prompt.
Decide the request shape
- Treat a brand-new visual as generation and call `ImageGen`. Its schema intentionally has no image-path argument.
- Treat a request that preserves, combines, or changes an existing visual as an edit and call `ImageEdit`.
- One distinct prompt equals one tool call.
- Use `count` only for multiple variations of the same prompt. For different concepts, make separate calls.
- `ImageEdit` requires `referenced_image_paths`: populate it with ordered, exact paths surfaced by `[Image source: ...]` in a user attachment or returned by an earlier `ImageGen` call. Never invent, search for, or substitute another filesystem path. The first image is the primary canvas unless the user says otherwise.
- For multi-turn editing, use the latest selected output as the next turn's `edit_target`. Repeat all identity, layout, text, and unchanged-region constraints on every turn so edits do not drift.
- To edit several images independently, make one call per image. Put multiple images in one call only when the user wants them combined or used together as references. A single call accepts at most three source images.
- Prefer a useful default composition when the user leaves details open. Do not invent branding, logos, or people they did not request.
- Provider and image model selection come from the current desktop session; do not add either to the tool arguments.
- If the provider returns an error, do not retry the image tool automatically. Explain the failure and let the user decide whether to retry or change providers.
Build the prompt
Turn the request into a complete art-direction brief. Preserve all relevant user-specified detail.
- use case and image type
- subject, action, and important attributes
- environment and context
- composition, framing, and camera angle
- lighting and mood
- visual style or medium
- color palette
- exact text, only when text must appear in the image
- constraints and elements to avoid
For edits, start the prompt with each input's numbered role, then say `change only X; keep Y unchanged`. For a composite, specify which subject or visual property comes from each numbered image and preserve the requested identities. Do not rely on conversational pronouns such as "it" or "the previous one" inside the tool prompt.
Preserve the user's intent and wording for names or required on-image text. For diagrams, specify hierarchy, reading order, labels, and connections. For photorealistic work, describe lens, depth of field, lighting direction, and material detail when they matter.
Output options
- Use `aspect_ratio` when the user describes a layout such as square, portrait, landscape, banner, or phone wallpaper.
- Use `resolution: "2k"` only when higher resolution is useful and supported.
- Use transparent background only when requested or clearly needed for a reusable asset.
- The host displays one placeholder per requested image and replaces each slot as the saved image becomes available.
After a successful call, briefly summarize what was created or changed. The host card already displays and opens the saved images, so do not repeat, link, or embed the returned local paths in the final answer. Do not include base64 data in the conversation.
Read more
name: imagegen description: Generate original images, artwork, product visuals, diagrams, or other raster assets with the desktop's configured image provider. Use whenever the user asks to create or generate an image. allowed-tools: ImageGen, ImageEdit
Image generation
Use the built-in `ImageGen` and `ImageEdit` tools. Provider authentication, model routing, output storage, and secrets are managed by the desktop host; never ask the user to put an API key in this skill or in the prompt.
Decide the request shape
- Treat a brand-new visual as generation and call `ImageGen`. Its schema intentionally has no image-path argument.
- Treat a request that preserves, combines, or changes an existing visual as an edit and call `ImageEdit`.
- One distinct prompt equals one tool call.
- Use `count` only for multiple variations of the same prompt. For different concepts, make separate calls.
- `ImageEdit` requires `referenced_image_paths`: populate it with ordered, exact paths surfaced by `[Image source: ...]` in a user attachment or returned by an earlier `ImageGen` call. Never invent, search for, or substitute another filesystem path. The first image is the primary canvas unless the user says otherwise.
- For multi-turn editing, use the latest selected output as the next turn's `edit_target`. Repeat all identity, layout, text, and unchanged-region constraints on every turn so edits do not drift.
- To edit several images independently, make one call per image. Put multiple images in one call only when the user wants them combined or used together as references. A single call accepts at most three source images.
- Prefer a useful default composition when the user leaves details open. Do not invent branding, logos, or people they did not request.
- Provider and image model selection come from the current desktop session; do not add either to the tool arguments.
- If the provider returns an error, do not retry the image tool automatically. Explain the failure and let the user decide whether to retry or change providers.
Build the prompt
Turn the request into a complete art-direction brief. Preserve all relevant user-specified detail.
- use case and image type
- subject, action, and important attributes
- environment and context
- composition, framing, and camera angle
- lighting and mood
- visual style or medium
- color palette
- exact text, only when text must appear in the image
- constraints and elements to avoid
For edits, start the prompt with each input's numbered role, then say `change only X; keep Y unchanged`. For a composite, specify which subject or visual property comes from each numbered image and preserve the requested identities. Do not rely on conversational pronouns such as "it" or "the previous one" inside the tool prompt.
Preserve the user's intent and wording for names or required on-image text. For diagrams, specify hierarchy, reading order, labels, and connections. For photorealistic work, describe lens, depth of field, lighting direction, and material detail when they matter.
Output options
- Use `aspect_ratio` when the user describes a layout such as square, portrait, landscape, banner, or phone wallpaper.
- Use `resolution: "2k"` only when higher resolution is useful and supported.
- Use transparent background only when requested or clearly needed for a reusable asset.
- The host displays one placeholder per requested image and replaces each slot as the saved image becomes available.
After a successful call, briefly summarize what was created or changed. The host card already displays and opens the saved images, so do not repeat, link, or embed the returned local paths in the final answer. Do not include base64 data in the conversation.
Claude Code Haha is a desktop Claude Code workspace for macOS, Windows, and Linux: multi-session workspaces, global search, branch / Worktree launch, diff review, built-in browser preview, GUI permission approval, any model — Claude, ChatGPT, Grok, presets,
Repo: NanmiCoder/cc-haha

