# Usd Composed Stage Open

> Use this skill when implementing runtime stage-open orchestration for composed USD stages.

- Skill: `nvidia-omniverse/usd-composed-stage-open` (Agent Skill)
- Install (CLI): `npx skillmds@latest add nvidia-omniverse/usd-composed-stage-open`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nvidia-omniverse/usd-composed-stage-open/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: NVIDIA-Omniverse (https://skillmd.com/u/nvidia-omniverse)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nvidia-omniverse/usd-composed-stage-open

---


# usd-composed-stage-open

Use this skill when implementing runtime stage-open orchestration for composed
USD stages.

Normative references:

- `aousd/specifications-public@v1.0.1:specification/composition/README.md`
- `aousd/specifications-public@v1.0.1:specification/glossary`

Owned contracts:

- `contracts/handles/composed-stage-open.handle.json`
- `contracts/spec-coverage/composed-stage-open.coverage.json`

## Responsibilities

- Open the root layer stack through `usd-layer-stack-open`.
- Discover direct external reference asset identifiers from opened layer specs.
- Support the optional adapter `payloadInclusion` scenario control: open and
  supply direct external payload assets for `include`; omit payload opening and
  the payload opinion source for `omit`.
- Recursively discover reference assets through opened referenced layer stacks
  so bounded recursive reference sources receive their supplied layers.
- When optional payload inclusion is requested, discover and open reference
  assets authored inside loaded payload layer stacks so the payload source can
  expand bounded nested references introduced by a loaded payload.
- Resolve those dependency assets through the graph's bounded local resource
  policy and open them through graph layer-open/layer-stack-open boundaries.
- Build reference, payload, relocates, inherits, specializes, variant, and
  composition-arbitrator sources from opened graph-owned objects.
- Populate the stage through `usd-stage-population`.
- Keep every opened layer and source alive for the lifetime of the stage.

## Non-Responsibilities

- Do not perform LIVERPS arbitration locally; call `usd-composition-arbitrator`.
- Do not build traversal indexes locally; call `usd-stage-population`.
- Do not parse USDA text directly or retain parser-local syntax trees.
- Do not claim full recursive composition until recursive payloads,
  variant-contained arcs, payload load masks/mutation, and asset resolver
  contracts exist.

## Current Bounds

The generated implementation should load direct local reference dependency
assets. As optional support for the AOUSD population-mask payload flag, for
`payloadInclusion=include` it should also load direct local payload dependency
assets that can be discovered from opened layer specs. It should then continue
opening reference dependencies discovered in referenced and loaded payload layer
stacks until a bounded fixed point is reached. For `payloadInclusion=omit`, it
should not open payload assets and should omit the payload opinion source so
`payload_loading=absent`.

It may still report composition as `partial` because recursive payload arcs,
variant body arcs, schema fallbacks, full value resolution, and full
instancing/prototypes are not yet covered.

