nexu-io/open-design/plugins/_official/scenarios/od-media-generation/SKILL.md
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.
- Source repository stars
- 82,073
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-07-28
- Source checked
- 2026-07-28
Decision brief
What it does—and where it fits
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…
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/scenarios/od-media-generation"Inspect the Agent Skill "od-media-generation" from https://github.com/nexu-io/open-design/blob/89d6d4ef21baf80f871595abdf6f7de6e941dd44/plugins/_official/scenarios/od-media-generation/SKILL.md at commit 89d6d4ef21baf80f871595abdf6f7de6e941dd44. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 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:
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:
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…
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.
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.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 73/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 82,073 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- nexu-io/open-design
- Skill path
- plugins/_official/scenarios/od-media-generation/SKILL.md
- Commit
- 89d6d4ef21baf80f871595abdf6f7de6e941dd44
- License
- Apache-2.0
- Collected
- 2026-07-28
- Default branch
- main
View the original SKILL.md
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-imagemetadata.kind === 'video'→media-videometadata.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 rendereduseCase.queryafter input substitution.aspect— one of1:1/16:9/9:16/4:3/3:4. Default16:9. The contractsMediaAspectunion 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:
- Save the binary into
<cwd>/media/<timestamp>.<ext>. - Call
live-artifactto 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.