Repository navigation
Conversation
Adds a skill that generates images through the Wiro AI MCP server. It picks a text-to-image model from the catalog, reads that model's schema, and writes the expected cost before each paid run. Regenerates docs/README.skills.md with npm start. Signed-off-by: Emin <1125634+EminBudak@users.noreply.github.com>
🚦 Submission status: 👀 Ready for reviewRisk tier: Why this tier
Automated checks
Review
Commands
Updated for |
🔒 PR Risk Scan ResultsScanned 1 changed file(s).
✅ No matching risk patterns were detected in changed files.
|
|
🔴 Contributor Reputation Check: HIGH risk
Maintainers: please review this contributor before merging. |
🔍 Vally Lint Results✅ All checks passed
Summary
Full linter output |
There was a problem hiding this comment.
🟡 Changes recommended
The download workflow permits shell execution, local-file exposure, and active-content injection into public assets, while the generation step also drops explicitly requested schema-supported settings.
4 open issues
What changed in this PR
Adds wiro-image to the skill catalog for generating images through Wiro AI, with model selection and pricing guidance rather than a fixed-model workflow.
Changes:
- Defines model discovery, schema-based configuration, cost confirmation, and task tracking.
- Adds optional saving into existing project asset folders.
- Registers the skill in the generated skills index.
| File | Description |
|---|---|
skills/wiro-image/SKILL.md |
Adds the Wiro image-generation and saving workflow. |
docs/README.skills.md |
Adds the skill’s description and installation command. |
Review effort: Balanced (dynamic)
| Only when the user asks for it, with `--save`, `--save <path>` or in words ("save it to public/hero.png"): | ||
|
|
||
| - Use the path given; one that ends in `/` is a folder. Without a path, use the folder this project already keeps such files in (such as `public/images/`, `static/`, `assets/` or `src/assets/`), or `wiro-output/` when there is none. | ||
| - Name each file from the request in kebab-case with the extension of its URL, and add `-2`, `-3` for more files. Never overwrite a file that exists: ask first, or add a number. |
|
|
||
| - Use the path given; one that ends in `/` is a folder. Without a path, use the folder this project already keeps such files in (such as `public/images/`, `static/`, `assets/` or `src/assets/`), or `wiro-output/` when there is none. | ||
| - Name each file from the request in kebab-case with the extension of its URL, and add `-2`, `-3` for more files. Never overwrite a file that exists: ask first, or add a number. | ||
| - Download each file with `curl -fsSL --create-dirs -o "<path>" "<url>"`, then list where each one went. Leave git to the user. |
|
|
||
| - Use the path given; one that ends in `/` is a folder. Without a path, use the folder this project already keeps such files in (such as `public/images/`, `static/`, `assets/` or `src/assets/`), or `wiro-output/` when there is none. | ||
| - Name each file from the request in kebab-case with the extension of its URL, and add `-2`, `-3` for more files. Never overwrite a file that exists: ask first, or add a number. | ||
| - Download each file with `curl -fsSL --create-dirs -o "<path>" "<url>"`, then list where each one went. Leave git to the user. |
|
|
||
| ## Run | ||
|
|
||
| 1. Fill `params` from the schema: the prompt, and the aspect ratio, resolution, count and format the user asked for. Leave the rest out so the defaults apply. For several images, use the model's count field when it has one, otherwise start one run per image with `wait: false` and wait on each task. |
|
Thanks for contributing this skill. We can’t include it in this collection because its only image-generation path requires Wiro’s hosted MCP server and a Wiro account or API key, and |


Pull Request Checklist
npm startand verified thatREADME.mdis up to date.mainbranch for this pull request.Description
Adds
wiro-image, a skill for generating images through the Wiro AI MCP server (https://mcp.wiro.ai/v1). Most of it is about choosing a model from the Wiro AI catalog and keeping the cost in view:recommend_modelandsearch_modelstools, then reads the pick withget_model_schema, since parameter ids differ from model to model.nextActionuntil the job ends and never starts a paid job again on its own.public/images/) without overwriting anything.The existing
generate-imageandnano-banana-pro-openrouterskills call fixed models with a provider API key. This one is for Wiro AI users who want to pick between models and see the price before each run.It needs the Wiro MCP server, connected by signing in with a Wiro AI account or with a Wiro AI API key. Runs are billed per run from the user's Wiro wallet. Searching models and reading schemas and prices is free.
Type of Contribution
Additional Notes
I work on Wiro AI. This is the
wiro-imageskill from https://github.com/wiroai/Wiro-Skills (MIT), with one word removed from a list of model variants.Checks run locally:
npm run skill:validate,npm start(adds the README row),npm run plugin:validate, vally lint (2 of 2 checks passed) and codespell.The skill was run in Claude Code against the live Wiro MCP server: it shortlisted models, read the schema of Flux Fast Text to Image, wrote the cost line, ran it and saved the image under
public/. The source repo README has screenshots. It has not been run in GitHub Copilot yet, so that box is unticked.The skill and this PR were written with AI help (Claude Code).
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.
🤖 Generated with Claude Code