Agent skill · nvidia
cdf-orchestration-write-dag
Use when a user describes a custom CDF Orchestration pipeline — a specific ordered combination of stages such as augmentation only, auto-labeling only, detection+captioning only, or image attribute augmentation without full auto-labeling — that no existing DAG in airflow/dags/workflows/ covers, and asks for a new Kubernetes DAG. Also use to check that a generated or existing DAG's model/container/prompt choices match an external spec document (e.g. a CDF `launchable.md`). Not for requests that an existing DAG already covers, including payload-only changes such as different inputs, endpoints, models, or variant counts — route those to the matching workflow skill, unless the user still wants a separate DAG after being pointed to it.
What it needs
About 10k tokens when loaded.
What this skill does
Write DAG What This Skill Does Composes a new Kubernetes-only Airflow DAG from the existing task groups and stages that the shipped DAGs are built from: the shared task groups in airflow/dags/shared/taskgroups/, plus the workflow-local stages the shipped DAGs define for themselves (for example DIG's simulation and AnomalyGen tasks, AV's curation and retrieval tasks). It does not invent new task-group logic. Output is: 1. airflow/dags/workflows/<dagname>dag/configs/<dagname>k8smanifest.yaml — compute + component manifest 2. airflow/dags/workflows/<dagname>dag/<dagname>dag.py — the DAG builder 3. airflow/dags/workflows/<dagname>dag/models/payload.py — the payload pydantic model 4. airflow/dags/workflows/<dagname>dag/callables/ — required workflow-local glue, not optional. Every TaskGroup used here takes one or more Callable constructor args with no default (e.g. InputPreparationTaskGroup(prepareinputcallable=...), CosmosTaskGroup(configgenerationcallable=..., outputvalidationcallable=...), ValidatedOutputTaskGroup(validationcallable=...)). These callables are genuinely new, per-DAG code — they are what turns generic container-arg building into this pipeline's actual input listing / config generation / output validation. Do not skip writing them, and do not treat "don't invent task logic" as license to invent them freely either: for each task group you use, find the closest existing DAG that uses the same task group, read its equivalent callable, and adapt it — trim the parts that don't apply (e.g. dropping an outputgroupid/downstream-XCom concern when there is no next stage) rather than writing from a blank page. Kubernetes, and OSMO for workflows that support it. This repository checks in K8s manifests for every workflow, and additionally checks in OSMO manifests for Event Video Generation and Video Data Augmentation (eventvideogenerationdagosmo, videodataaugmentationdagosmo) — see the cdf-event-video-generation skill for the pattern. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills nvidia/cdf-orchestration-write-dag