agentsclimarketplace

Od media generation

Skill nexu-io/open-design/plugins/_official/scenarios/od-media-generation

🎨 The open-source Claude Design alternative. πŸ–₯️ Local-first desktop app. πŸ–ΌοΈ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images & video β€” real files, HTML/PDF/PPTX/MP4 export. πŸ€– Claude Code / Codex / Cursor / Gemini / OpenCode / Qwen & 20+ CLIs via BYOK.

Install
npx -y skills add nexu-io/open-design --skill od-media-generation

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Default reference pipeline for image, video, and audio projects β€” routes through media-image / media-video / media-audio atoms based on the project kind, wraps the output in a live artifact, and devloops on critique-theater until the score converges.

SKILL.md

2.8 KB, as published. Nobody here has run it

od-media-generation (scenario)

This scenario plugin is the bundled default for projects whose metadata.kind is image, video, or audio. The web client and the daemon both look up defaultScenarioPluginIdForKind(kind) from @open-design/contracts and, when no other plugin is applied, bind this scenario at project / run creation time.

Default pipeline

{
  "stages": [
    { "id": "discovery", "atoms": ["discovery-question-form"] },
    { "id": "plan",      "atoms": ["todo-write"] },
    { "id": "generate",  "atoms": ["media-image", "media-video", "media-audio", "live-artifact"] },
    {
      "id": "critique", "atoms": ["critique-theater"],
      "repeat": true,
      "until": "critique.score>=4 || iterations>=3"
    }
  ]
}

The generate stage lists all three media atoms even though a single run only calls one of them. Picking the right atom is the agent's job:

  • metadata.kind === 'image' β†’ media-image
  • metadata.kind === 'video' β†’ media-video
  • metadata.kind === 'audio' β†’ media-audio

If the user picks this plugin manually without a media-typed project, prefer media-image and explain the assumption in the first reply.

Atom call shape

Every media atom takes the same kernel of inputs and returns a media artifact reference that live-artifact can wrap:

  • prompt β€” the rendered useCase.query after input substitution.
  • aspect β€” one of 1:1 / 16:9 / 9:16 / 4:3 / 3:4. Default 16:9. The contracts MediaAspect union enumerates the legal values.
  • provider β€” left blank by default so the daemon picks the user's configured provider for this media kind (see Settings β†’ Media). Only set this when the user names a provider explicitly.

After the media atom returns:

  1. Save the binary into <cwd>/media/<timestamp>.<ext>.
  2. Call live-artifact to register a preview surface pointing at the saved file. The preview is what the user sees in the right pane.

Critique loop

critique-theater reads the artifact, scores it across the standard five dimensions, and emits a critique.score signal. The until clause stops the loop at score β‰₯ 4 or three iterations, whichever comes first. Use the critique notes to drive the next media call's prompt, not to re-pick the media atom.

Replace, do not extend

Enterprise editions that need a different default for media work should ship a sibling scenario plugin and add the right mapping in @open-design/contracts/scenario-defaults, not patch this manifest.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.