Skip to main content

content-workflow-asset-task-processing

Plan and execute one or more domain tasks over finalized decomposed scene assets, with an immutable eligible work matrix, independent per-item results, agent-chosen ordering, durable decision memory, and a sealed Workflow 2 handoff. Use after scene decomposition for material, physics, articulation, geometry, labeling, or mixed asset processing.

Source facts

Repository
NVIDIA-Omniverse/usd-content-agents
Last source activity
September 7, 2026 at 09:49
Detected SKILL.md language
English
Stars
223
Forks
25

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
content-workflow-asset-task-processing
description
Plan and execute one or more domain tasks over finalized decomposed scene assets, with an immutable eligible work matrix, independent per-item results, agent-chosen ordering, durable decision memory, and a sealed Workflow 2 handoff. Use after scene decomposition for material, physics, articulation, geometry, labeling, or mixed asset processing.
metadata
{"author":"NVIDIA Omniverse"}
# content-workflow-asset-task-processing > **Workflow-owned processing:** Immutable inventory, plan revisions, > per-item failure isolation, decision memory, commit gates, and the Workflow 2 > handoff remain in > `content-workflow-cli scene process`. Use the scene > tool frozen in the large-scene request only for per-asset inspection, > rendering, and accepted authoring. Existing > usd-cli material-task adapters remain supported where selected; changing a > low-level backend must not remove batch orchestration or resume. Run Workflow 2 over qualified `(manifest_id, asset_id, task_id)` work items. Let the driving agent choose its plan; do not bake domain archetypes, task ordering, or automatic result propagation into the runtime. ## Prepare 1. Load `manifest_catalog.json` and every selected finalized manifest. 2. Load every requested domain skill and write `task_catalog.json` using `TaskCatalog` from `content_agent_workflows.asset_task_processing.contracts`. Write one task request per catalog entry. Put user guidance in the request's `additional_instructions` field, copying scene-level instructions exactly from `large_scene_run.json` when present. Keep this guidance task-wide; do not duplicate it per asset or prim. 3. Mechanically expand each task over processable assets in its selected view: ```bash content-workflow-cli scene process prepare \ --manifest-catalog MANIFEST_CATALOG.json \ --task-catalog TASK_CATALOG.json \ --output-dir RUN/02-asset-tasks \ --input-digest PHASE_INPUT_DIGEST ``` This writes immutable `asset_task_inventory.json` and separate mutable `asset_task_run_state.json`. Do not edit either manually. 4. Survey the complete work matrix and available evidence before committing the first result. Read every task request, summarize the applicable user guidance in the plan, and cite its frozen SHA-256. Write a plan draft, then preserve it as an immutable revision: ```bash content-workflow-cli scene process record-plan \ --output-dir RUN/02-asset-tasks \ --plan-file PLAN_DRAFT.md ``` ## Process 1. Choose asset-major, task-major, mixed, or concurrent progression from the evidence and resource limits. Revise the plan when new evidence warrants it. 2. Process only eligible representatives. Do per-item scene inspection, OVRTX rendering, and accepted material/physics authoring through the workflow-owned usd-cli session. Serialize scene loads and GPU renders where resources are constrained. Copy the parent scene task's frozen `scene_backend` and `scene_session_scope` into each domain task request's `processing_policy`. With `scene_session_scope: per_asset`, create an independent usd-cli named session and checkpoint lineage for every work item. Close that state before moving to the next item; a retry starts fresh state for only the failed/deferred item and never reopens a completed item's sealed artifacts. 3. Consult prior results as explicit evidence when useful. Record fully qualified citations in `informed_by_results`; never copy an earlier result merely because an asset looks similar. 4. Write one independent `AssetTaskResult` per completed work item, including original-path mapping, domain payload paths, plan revision, validation, and warnings. 5. Commit the result, validator report, and matching `DecisionLedgerEntry` in one `commit-item` call. Do not write the ledger and result index as separate manual steps; partial commits intentionally fail the handoff gate. 6. Keep each domain's preview layer separate and provisional. Preserve failed or deferred items for explicit retry. Use an `AcceptedWaiver` for any required item intentionally omitted. Use the phase module's `status`, `show-item`, `begin-item`, `commit-item`, `fail-item`, and `waive-item` operations for state transitions. These are a thin script over the package runtime, not another product-level CLI. ## Material Tasks Before processing material work, read [`references/material_tasks.md`](references/material_tasks.md). It defines the survey and batch commands, authored-appearance evidence policy, display-color matching route, visual review gates, and frozen task-request digest contract. Run those steps through usd-cli for low-level scene operations, then commit through the pure-Python `asset_task_processing` state machine: ```bash content-workflow-cli scene material-task \ match-display-color \ --processing-dir RUN/02-asset-tasks \ --work-item-id TASK_ID:MANIFEST_ID:ASSET_ID \ --scope /EXACT/SOURCE/ROOT \ --top-k 5 content-workflow-cli scene material-task run-batch \ --processing-dir RUN/02-asset-tasks \ --batch-plan MATERIAL_BATCH_PLAN.json ``` ## Complete Finalize and seal the phase only after required work is completed or waived: ```bash content-workflow-cli scene process finalize \ --output-dir RUN/02-asset-tasks ``` The runtime computes `processing_result.json` and its output digest from the catalogs, referenced manifests, immutable inventory, mutable state, plan revisions, ledger, index, completed results, validator reports, and domain outputs. Return that result to the umbrella handoff validator. Do not author durable opinions onto the original scene here. Workflow 3 owns collection and harmonization. When changing processing behavior, preserve immutable inventory semantics, task-request digests, per-item result independence, decision ledger integrity, and deterministic handoff validation.
View on GitHub