AI Image Generation and Editing
zhayujie/CowAgent
Generates or edits images from text prompts through a Python script that picks an image backend based on which API keys are configured.
Generates new images and edits existing ones through the desktop's built-in ImageGen and ImageEdit tools, with rules for choosing between them and writing the art-direction prompt.
$ npx skills add NanmiCoder/cc-haha --skill imagegen -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NanmiCoder/cc-haha imagegen --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/NanmiCoder/cc-haha.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/bundled/imagegen .claude/skills/imagegen && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "imagegen" agent skill from https://github.com/NanmiCoder/cc-haha/tree/main/src/skills/bundled/imagegen into .claude/skills/imagegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imagegen", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/NanmiCoder/cc-haha/tree/main/src/skills/bundled/imagegenType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add NanmiCoder/cc-haha --skill imagegen -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NanmiCoder/cc-haha imagegen --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NanmiCoder/cc-haha.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/skills/bundled/imagegen .agents/skills/imagegen && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "imagegen" agent skill from https://github.com/NanmiCoder/cc-haha/tree/main/src/skills/bundled/imagegen into .agents/skills/imagegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imagegen", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NanmiCoder/cc-haha --skill imagegen -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NanmiCoder/cc-haha imagegen --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NanmiCoder/cc-haha.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/skills/bundled/imagegen .cursor/skills/imagegen && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "imagegen" agent skill from https://github.com/NanmiCoder/cc-haha/tree/main/src/skills/bundled/imagegen into .cursor/skills/imagegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imagegen", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/NanmiCoder/cc-haha.git --path src/skills/bundled/imagegen--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add NanmiCoder/cc-haha --skill imagegen -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NanmiCoder/cc-haha imagegen --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NanmiCoder/cc-haha.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/skills/bundled/imagegen .gemini/skills/imagegen && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "imagegen" agent skill from https://github.com/NanmiCoder/cc-haha/tree/main/src/skills/bundled/imagegen into .gemini/skills/imagegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imagegen", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install NanmiCoder/cc-haha imagegenInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add NanmiCoder/cc-haha --skill imagegen -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NanmiCoder/cc-haha.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/skills/bundled/imagegen .github/skills/imagegen && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "imagegen" agent skill from https://github.com/NanmiCoder/cc-haha/tree/main/src/skills/bundled/imagegen into .github/skills/imagegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imagegen", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NanmiCoder/cc-haha --skill imagegen -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NanmiCoder/cc-haha imagegen --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NanmiCoder/cc-haha.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/skills/bundled/imagegen .opencode/skills/imagegen && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "imagegen" agent skill from https://github.com/NanmiCoder/cc-haha/tree/main/src/skills/bundled/imagegen into .opencode/skills/imagegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imagegen", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
imagegenGenerates new images and edits existing ones through the desktop's built-in ImageGen and ImageEdit tools, with rules for choosing between them and writing the art-direction prompt.
The desktop host manages provider authentication, model routing, output storage and secrets, so the agent never asks you for an API key. A brand-new visual goes to `ImageGen`, which has no image-path argument. A request that keeps, combines or changes an existing picture goes to `ImageEdit`, which needs `referenced_image_paths` listing exact paths to images you supplied in the conversation or that an earlier generation returned. The agent must not invent or search for paths, and asks you to attach the image if it has none. One distinct prompt means one call, `count` is for variations of the same prompt, and a call takes at most three source images.
Multi-turn edits use the latest selected output as the next edit target and restate identity, layout, text and unchanged-region constraints each turn so the image does not drift. The prompt is built as an art-direction brief covering use case, subject, setting, composition, lighting and mood, style, palette, any exact text and things to avoid. If the provider returns an error the agent does not retry on its own and lets you decide.
Read from SKILL.md and the folder at commit 1c78154. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ImageGenImageEditFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Image Generation Tools loads about 991 tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 576 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from NanmiCoder/cc-haha at commit 1c78154, republished under its MIT licence (© NanmiCoder). 576 words, ~991 tokens.
.claude/skills/imagegen/SKILL.md (or your agent's skills folder).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.
ImageGen. Its schema intentionally has no image-path argument.ImageEdit.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 to images the user supplied in this conversation — a path surfaced by [Image source: ...], a file the user attached with @, or a path returned by an earlier ImageGen call. Never invent, search for, or substitute another filesystem path, and never read an image off disk yourself to use it as an input; if the user means an image you have no path for, ask them to attach it. The first image is the primary canvas unless the user says otherwise.edit_target. Repeat all identity, layout, text, and unchanged-region constraints on every turn so edits do not drift.Turn the request into a complete art-direction brief. Preserve all relevant user-specified detail.
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.
aspect_ratio when the user describes a layout such as square, portrait, landscape, banner, or phone wallpaper.resolution: "2k" only when higher resolution is useful and supported.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.
© NanmiCoder, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/skills/bundled/imagegen of NanmiCoder/cc-haha.
Open the folder on GitHubat commit 1c78154
Image Generation Tools next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Image Generation Tools this skillNanmiCoder/cc-haha | 15k | — | ~991 | Automated safety check: Pass | MIT | |
| AI Image Generation and Editingzhayujie/CowAgent | 47k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Generate Imageynulihao/AgentSkillOS | 617 | 10 repos | ~1.7k | Automated safety check: Notes | None | |
| GPT Image Generation CLIwuyoscar/GPT-Image2-Skill | 5.6k | — | ~2.5k | Automated safety check: Notes | MIT | |
| NanobananaReScienceLab/opc-skills | 1.8k | 1 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Native Transparent ImagegenZSeven-W/craft-skills | 223 | 2 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 |
zhayujie/CowAgent
Generates or edits images from text prompts through a Python script that picks an image backend based on which API keys are configured.
ynulihao/AgentSkillOS
Generate or edit images using AI models (FLUX, Gemini). An agent skill from ynulihao/AgentSkillOS.
wuyoscar/GPT-Image2-Skill
Generates and edits images with GPT Image 2 or 2.5 through a packaged CLI and a prompt gallery, after settling which model fits the request.
ReScienceLab/opc-skills
Generate and edit images using Google Gemini 3 Pro Image (Nano Banana Pro).
ZSeven-W/craft-skills
Generate new raster assets that must contain native pixel transparency, then verify the untouched PNG or WebP before delivery.
BlockRunAI/ClawRouter
Generates or edits images through ClawRouter's local image API, with a choice of models and sizes and payment handled automatically through x402.
NanmiCoder/cc-haha
Turns the latest release notes into a short WeChat group message and a tall PNG poster, with contributor GitHub IDs checked and real avatars embedded.
Categories
Generates new images and edits existing ones through the desktop's built-in ImageGen and ImageEdit tools, with rules for choosing between them and writing the art-direction prompt. The desktop host manages provider authentication, model routing, output storage and secrets, so the agent never asks you for an API key. A brand-new visual goes to `ImageGen`, which has no image-path argument.
Image Generation Tools fits situations like: creating an original illustration, product visual or diagram image from a description; changing one element of an image you attached while keeping the rest the same; producing several variations of one concept.
Run `npx skills add NanmiCoder/cc-haha --skill imagegen -a claude-code`. Or copy the skill folder (src/skills/bundled/imagegen in NanmiCoder/cc-haha) into .claude/skills/imagegen in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NanmiCoder/cc-haha --skill imagegen -a codex`. Or copy the skill folder (src/skills/bundled/imagegen in NanmiCoder/cc-haha) into .agents/skills/imagegen in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NanmiCoder/cc-haha --skill imagegen -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/imagegen, .gemini/skills/imagegen, .github/skills/imagegen and .opencode/skills/imagegen in your project.
SKILL.md names no scripts, command-line tools or credentials: Image Generation Tools is instructions for the agent only. Our summary lists: A desktop host with an image provider configured. Its frontmatter pre-approves these tools: ImageGen, ImageEdit.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Image Generation Tools is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 991 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Image Generation Tools: AI Image Generation and Editing (zhayujie/CowAgent, 47k stars), Generate Image (ynulihao/AgentSkillOS, 617 stars), GPT Image Generation CLI (wuyoscar/GPT-Image2-Skill, 5.6k stars) and Nanobanana (ReScienceLab/opc-skills, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NanmiCoder (a GitHub user) maintains it in NanmiCoder/cc-haha, which has 14,886 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 5, 2026.
Source: NanmiCoder/cc-haha on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.