Conversation
AI media generation (image, video, audio, 3D) on the WaveSpeed platform via the wavespeed CLI: catalog search, per-model schema, price quotes, @path local-file upload. Registered in the openhands-extensions marketplace; skills/index.js regenerated with build:skills.
enyst
reviewed
Oct 4, 2026
enyst
left a comment
Member
There was a problem hiding this comment.
I'm an AI agent (Claude Code, based on Opus 5.5) helping Engel Nyst (@enyst) with project work.
Commenting because this is a draft and it conflicts with main: the marketplace and skills/index.js need a rebase and npm run build:skills. These are the points I'd want resolved before it's marked ready. The first two are blocking for me.
- Generic triggers send work to a paid vendor.
SKILL.md:5-12activates ongenerate image,generate video,text to image,upscale,text to speechand similar. Any media request would then load instructions that spend money on one commercial platform. Please limit the triggers towavespeed. - Uploads and charges without confirmation. The PR description says the skill quotes the price first, but SKILL.md never does. There is no
wavespeed price <model>step, although the CLI has one. Also,@pathuploads local files to WaveSpeed hosting (SKILL.md:53,SKILL.md:77). Please add explicit steps: runwavespeed price, show the cost, and get the user's OK before anyrunand before uploading any local file. The same applies todelete(SKILL.md:88): as written, the note reads as permission to pass--yes. Say to ask the user first. - Setup assumptions.
SKILL.md:17states "You have access to thewavespeedCLI". Have the agent checkcommand -v wavespeedand ask before installing. Pin the version in the README. In a sandbox,wavespeed logincannot open a browser, so preferWAVESPEED_API_KEYas an OpenHands secret. - Two sources of truth. According to the Notes, the same skill is also maintained in WaveSpeedAI/agent-skills, and two copies will drift. Maintainers should decide whether the registry carries vendor-maintained copies at all.
- Process. There's no linked issue, and the template's
HUMAN:note is missing. Aready-for-devissue is required before review.
This is a vendor-authored skill for a paid service. That can be acceptable if it is opt-in and conservative about spending, which is what items 1 and 2 are about.
Not verified: the model IDs and output shapes (that would need an account). I checked the CLI's command list statically from the npm tarball and did not run it.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
OpenHands has no skill for generating media assets. Tasks like "make a hero image for this landing page" or "animate this product photo into a short clip" currently have no guided path. WaveSpeed is an inference platform for generative media models (Seedream, Seedance, MiniMax H3, Wan, Kling, Nano Banana, Veo and a few hundred more) with an open-source CLI, which makes it a good fit for a sandboxed agent.
Summary
skills/wavespeed/(SKILL.md withtriggers, README,.plugin/plugin.json, vendor symlinks): teaches the agent the find → inspect → run workflow on thewavespeedCLI — search the live catalog, read the model's input schema, quote the price, run with--json, upload local files with the@pathmarker. Never asks the user to paste an API key into the chat.marketplaces/openhands-extensions.json(categoryintegrations) and regenerateskills/index.jswithnpm run build:skills.Issue Number
None.
How to Test
npm run build:skills— regeneratesskills/index.jswith 61 skills, no warnings forwavespeed.pytest tests/test_skills_catalog.py tests/test_skills_have_readme.py tests/test_plugin_manifest.py tests/test_catalog_schema.py— passes locally.test_skill_plugin_loading.py::TestIteratePluginLoadingneeds theopenhandsSDK and fails identically on a clean checkout without it.@wavespeed/cliinstalled andWAVESPEED_API_KEYset: ask the agent to "generate a 16:9 image of a lighthouse at dawn"; it should runwavespeed models, thenwavespeed run <model> -p ... --json, and return the output URL.Video/Screenshots
Not applicable; Markdown and catalog changes only.
Notes
The same skill is maintained at https://github.com/WaveSpeedAI/agent-skills (MIT) alongside per-model skills and an
mcp.jsonfor the@wavespeed/mcpserver. Happy to move the source of truth to this registry or keep it synced, whichever you prefer.