nexu-io/open-design

od-media-generation

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.

73Collecting
See how to use itView GitHub source
npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/scenarios/od-media-generation"
Automated source guideGeneral workflowStandard source

Source checked Jul 28, 2026·Refresh due Oct 26, 2026

Reorganized from the pinned upstream SKILL.md

Source-grounded usage guide: od-media-generation

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…

npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/scenarios/od-media-generation"
Check the pinned source

The pinned source supports a structured brief, but not an expanded tutorial. Only detected inputs, outputs, and sections are shown.

344 source words · 4 usable sections

Source workflow

Read od-media-generation through these 4 source sections

Sections are extracted automatically from the pinned SKILL.md and link back to the source.

01

Default pipeline

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:

SKILL.md · Default pipeline
metadata.kind === 'image' → media-imagemetadata.kind === 'video' → media-videometadata.kind === 'audio' → media-audio
02

Atom call shape

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

SKILL.md · Atom call shape
prompt — the rendered useCase.query after input substitution.aspect — one of 1:1 / 16:9 / 9:16 / 4:3 / 3:4. Defaultprovider — left blank by default so the daemon picks the user's
03

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…

SKILL.md · 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 cri…
04

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.

SKILL.md · 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.

Source checklist

Verify each item before delivery

The source section “Default pipeline” has been checked.

The source section “Atom call shape” has been checked.

The source section “Critique loop” has been checked.

The source section “Replace, do not extend” has been checked.

FAQ

What does the od-media-generation source document cover?

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…

How do I install od-media-generation?

The source record exposes this install command: npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/scenarios/od-media-generation". Inspect the command and pinned source before running it.

Repository stars
82,073
Repository forks
9,485
Quality
73/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

73/100
Documentation18/30
Specificity18/25
Maintenance20/20
Trust signals17/25
View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 2 min

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.

Skill path
plugins/_official/scenarios/od-media-generation/SKILL.md
Commit SHA
89d6d4ef21ba
Repository license
Apache-2.0
Data collected