New to Claude Skills? Learn how to install them →

nexu-io on GitHub

Media Generation

Free

Streamline your media project workflows with ease.

Get this skill

Free · Opens the source repo

What Media Generation does

The Media Generation skill provides a structured pipeline for handling image, video, and audio projects efficiently. It is designed for developers and designers who need to generate media artifacts based on specific project types. By leveraging a default scenario plugin, it automatically routes tasks to the appropriate media generation atom based on the project's metadata, ensuring that the correct tools are used for the job. This skill is particularly useful in collaborative environments where quick iterations and feedback loops are essential.

At the core of the Media Generation skill is a multi-stage process that begins with discovery and planning, followed by the actual media generation, and concludes with a critique phase. The critique-theater component evaluates the generated media against predefined criteria, allowing users to refine their work until it meets quality standards. This iterative approach helps users improve their media outputs based on concrete feedback, making it ideal for projects that require constant refinement and adjustment.

The skill's architecture is straightforward: it utilizes a set of media atoms that take in a common input structure and return a media artifact. Users can specify parameters such as the prompt, aspect ratio, and media provider, while the skill manages the storage and preview registration of the generated media. This level of automation simplifies the media creation process, allowing users to focus on their creative vision rather than the technical details of media handling.

Whether you are a designer creating promotional videos, a developer working on multimedia applications, or a content creator producing podcasts, the Media Generation skill offers a robust framework to streamline your media production workflows. Its ability to adapt to different media types and facilitate quick iterations makes it a valuable tool in any media project.

When to use it

Use this skill when managing projects that involve creating images, videos, or audio files and require a structured workflow.

When not to use it

Avoid this skill for projects that do not involve media generation or when a custom workflow is needed beyond the default pipeline.

What you can build with it

Creating Promotional Videos

Use the Media Generation skill to streamline the process of producing promotional videos, ensuring quality through iterative feedback.

Developing Multimedia Applications

Integrate this skill into your development workflow to automate media generation for applications that require dynamic content.

Producing Podcasts

Leverage the audio generation capabilities to create high-quality podcast episodes with structured feedback for continuous improvement.

How to install Media Generation

View source

1. Install with the skills CLI

npx skills add nexu-io/open-design/od-media-generation --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by nexu-io

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.

Frequently asked questions about Media Generation

Similar skills