Skip to content

feat(skills): add wavespeed skill - #538

Draft
chengzeyi wants to merge 1 commit into
OpenHands:mainfrom
chengzeyi:add-wavespeed-skill
Draft

chengzeyi wants to merge 1 commit into
OpenHands:mainfrom
chengzeyi:add-wavespeed-skill

Conversation

@chengzeyi

Copy link
Copy Markdown
  • A human has tested these changes.

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

  • Add skills/wavespeed/ (SKILL.md with triggers, README, .plugin/plugin.json, vendor symlinks): teaches the agent the find → inspect → run workflow on the wavespeed CLI — search the live catalog, read the model's input schema, quote the price, run with --json, upload local files with the @path marker. Never asks the user to paste an API key into the chat.
  • Register it in marketplaces/openhands-extensions.json (category integrations) and regenerate skills/index.js with npm run build:skills.

Issue Number

None.

How to Test

  1. npm run build:skills — regenerates skills/index.js with 61 skills, no warnings for wavespeed.
  2. 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::TestIteratePluginLoading needs the openhands SDK and fails identically on a clean checkout without it.
  3. In a workspace with @wavespeed/cli installed and WAVESPEED_API_KEY set: ask the agent to "generate a 16:9 image of a lighthouse at dawn"; it should run wavespeed models, then wavespeed 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.json for the @wavespeed/mcp server. Happy to move the source of truth to this registry or keep it synced, whichever you prefer.

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.
@github-actions github-actions Bot added the type: feat A new feature label Sep 5, 2026

@enyst enyst left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

  1. Generic triggers send work to a paid vendor. SKILL.md:5-12 activates on generate image, generate video, text to image, upscale, text to speech and similar. Any media request would then load instructions that spend money on one commercial platform. Please limit the triggers to wavespeed.
  2. 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, @path uploads local files to WaveSpeed hosting (SKILL.md:53, SKILL.md:77). Please add explicit steps: run wavespeed price, show the cost, and get the user's OK before any run and before uploading any local file. The same applies to delete (SKILL.md:88): as written, the note reads as permission to pass --yes. Say to ask the user first.
  3. Setup assumptions. SKILL.md:17 states "You have access to the wavespeed CLI". Have the agent check command -v wavespeed and ask before installing. Pin the version in the README. In a sandbox, wavespeed login cannot open a browser, so prefer WAVESPEED_API_KEY as an OpenHands secret.
  4. 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.
  5. Process. There's no linked issue, and the template's HUMAN: note is missing. A ready-for-dev issue 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

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feat A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants