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…
Skill by NVIDIA
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nvidia-cdf-orchestration-write-dag
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, devops, data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cdf-orchestration-write-dag
What's inside
- Skill name
cdf-orchestration-write-dag- Description
- 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.
- License
- CC-BY-4.0 AND Apache-2.0
- Metadata
- owner: NVIDIA · author: NVIDIA · service: cosmos-data-factory · version: 1.0.1 · reviewed: 2026-10-08
- Instructions
- 565 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- body: 565 lines (spec recommends under 500)
Files (8)
- BENCHMARK.md
- SKILL.md
- evals.json · evals/
- component-skills-excerpt.md · references/
- gpu-footprint.md · references/
- trigger-examples.md · references/
- skill-card.md
- skill.oms.sig
SKILL.md (first lines)
# 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/task_groups/`, 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/<dag_name>_dag/configs/<dag_name>_k8s_manifest.yaml` — compute + component manifest 2. `airflow/dags/workflows/<dag_name>_dag/<dag_name>_dag.py` — the DAG builder 3. `airflow/dags/workflows/<dag_name>_dag/models/payload.py` — the payload pydantic model 4. `airflow/dags/workflows/<dag_name>_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(prepare_input_callable=...)`, `CosmosTaskGroup(config_generation_callable=..., output_validation_callable=...)`, `ValidatedOutputTaskGroup(validation_callable=...)`). 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 `output_group_id`/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 (`event_video_generation_dag_osmo`, `video_data_augmentation_dag_osmo`) — see the `cdf-event-video-generation` skill for the pattern. OSMO DAGs are **external-services-only**: their manifests define OSMO batch tasks but no in-cluster VLM/LLM/image-edit/evaluator service components, so an OSMO variant must reject `external_services: false` payloads and cannot use `service_lifecycle` to deploy anything. A user asking for an OSMO variant of a new custom DAG is in scope — replicate the external-services-only contract from an existing OSMO manifest/payload rather than refusing. NVCF is still unsupported — do not offer it unless the user explicitly says their environment supports it, and if so, treat it as new scope requiring its own investigation rather than a flag on this skill. **Not scoped to one workflow.** Task groups are shared across the shipped DAGs; a custom DAG can mix stages from any of them (e.g. `CosmosTaskGroup` + `CosmosEvaluatorTaskGroup` with no auto-labeling stages, or `ImageAttributeAugmentationTaskGroup` with no `CosmosTaskGroup` for a labeling-only pass over already-augmented crops). **These DAGs are not checked in as permanent artifacts.** Unlike the five workflow DAGs that ship with this repository (listed in [Step 0](#step-0-confirm-no-existing-dag-already-covers-this)), a DAG this skill generates is a one-off, user-requested pipeline — it is not added to any workflow skill's DAG-ID table. Because nothing else will ever guide the user through deploying or running it, **this skill owns the full lifecycle, not just authoring** — Step 8 below is not optional follow-through, it's the only place readiness-check/deploy/trigger/monitor for this DAG will ever happen. --- ## Making Use of Component Skills The shared task groups are thin Airflow wrappers around CDF components. Each component owns its config schema, model defaults, prompts, and errors in its own skill; the DAG's `container_args` and generated config files are the contract that skill documents. This skill does not reimplement that contract. **Open the matching component skill before writing manifest task entries, config templates, prompts, or question banks** — never invent config schema, model defaults, or prompt wording from memory. [`references/component-skills-excerpt.md`](references/component-skills-excerpt.md) links every component skill and keeps an offline summary of each. If the component repo is unreachable, use that summary; if what you need isn't in it, say so and ask rather than extrapolating. Use this table to pick the component and to see which shipped DAG already runs that stage — the closest shipped DAG is also the one to copy callables and manifest entries from: | Task group(s) or stage | Component | Component skill | Shipped DAGs that already use it | |---|---|---|---| | `CosmosTaskGroup` | CDF Augmentation | `cdf-augmentation` | IAA (image edit), DIG (image edit), EVG (image-to-video), VDA (Cosmos Transfer); AV subclasses it as workflow-local `AVCosmosTaskGroup` (Cosmos3-Nano with RGB or WSM controls) | | `CosmosEvaluatorTaskGroup` | CDF Augmentation (Cosmos Evaluator) | `cdf-augmentation` | IAA, EVG, VDA; AV subclasses it as workflow-local `AVEvaluatorTaskGroup` (physical plausibility) | | `DetectionAndTrackingTaskGroup`, `CaptioningTaskGroup`, `VisualQATaskGroup` | CDF Auto-Labeling | `cdf-auto-labeling` | EVG, VDA | | `ImageAttributeAugmentationTaskGroup`, `EventAndPersonAttributeSearchTaskGroup` | CDF Auto-Labeling | `cdf-auto-labeling` | IAA, EVG | | `SuperResolutionTaskGroup`, `ReasoningTaskGroup`, `TrainingExportTaskGroup` | CDF Auto-Labeling | `cdf-auto-labeling` | VDA | | Simulation render (manifest task `image_generation`) | CDF Simulation | `cdf-simulation` | DIG | | AnomalyGen defect generation (manifest task `anomaly_generation`) | CDF AnomalyGen | `cdf-anomalygen` | DIG | | Curation and retrieval (manifest tasks `curator_model_download`, `curator`, `media_probe`, `cds_ingest`; endpoints `milvus_service`, `cds_service`) | CDF Curation and Retrieval | `cdf-curation-and-retrieval` | AV | For `CosmosTaskGroup`, the input → output shape decides the model and adapter, not the task-group name: Cosmos Transfer for video scene changes, Cosmos Predict for new or continued video, image edit for still images, and image-to-video to animate a first frame. Simulation, AnomalyGen, and curation and retrieval have no class in `shared/task_groups/`. Each is a manifest task (or a few) wired directly in the DIG or AV DAG with `self.builder.build_task` / `partial_task`, plus workflow-local callables that prepare its inputs and validate its outputs. Reuse them the same way as any workflow-local stage (see **Workflow-local task groups** below): copy the manifest task entries, the wiring, and the callables from that DAG, and adapt the callables to your payload model. - **Simulation and AnomalyGen** — `defect_image_generation_smt_dag.py` with its manifest `configs/smt/defect_image_generation_k8s_manifest.yaml`. The `generate_configs` task (`generate_smt_configs`) builds one simulation config per `golden_generation` variant from `configs/smt/image_generation_config.yaml`, and one AnomalyGen config per `defect_generation` variant from `configs/smt/anomaly_gen_config.yaml`. Simulation (`image_generation`) is mapped over the `image_generation_environments` list, selected by `select_generated_config_list`. AnomalyGen (`anomaly_generation`) is mapped over the `anomaly_package` tasks (`package_anomalygen_inputs`), and the `validate_anomalygen_outputs` task checks its results. Callables live in `callables/smt/`, and the payload model is `SmtDefectImageGenerationPayload` in `callables/smt/models.py`. DIG's image-edit stage between them is a `CosmosTaskGroup` that, in internal mode, also needs the `image_edit_checkpoint_download` task. - **Curation and retrieval** — `autonomous_vehicle_dataset_generation_dag.py` with `configs/autonomous_vehicle_dataset_generation_k8s_manifest.yaml` and `configs/cosmos_curator_config.yaml`. The chain is `generate_configs` (`create_avdg_configs`) and `input_preparation` (`prepare_avdg_input`) → `build_curator_args` → `curator_model_download` (task `download_curator_model`) → `curator` (task `run_curator`) → `prepare_curator_probe` → `media_probe` (task `probe_curator_outputs`) → `reconcile_curator_outputs` → `cds_ingest` (task `ingest_cds`, after the `milvus_service` and `cds_service` endpoints are ready) → `collect_results` → `validate_retrieval`. AV reuses the same `media_probe` task to check WSM controls and generated videos. The pods run scripts from the DAG's `callables/` that `config_generation.py` base64-encodes into the generated configs (`cds_ingest.py`, `msc_credentials.py`, `media_probe.py`, `control_video_probe.py`), and the DAG file injects `cds_vector_pipeline.py` and `cds_vector_components.py` into the `cds_service` deployment. Copy all of them. These scripts use boto3, so inputs and outputs must be on S3 or an S3-compatible store. DIG and AV also run subsets of their chains through payload switches, and those subsets count as payload differences in Step 0:
From NVIDIA/skills, CC-BY-4.0 AND Apache-2.0.
More from NVIDIA/skills
- 0.846score
nemo-fabric-integrate
NVIDIA Corporation and Affiliates
Use this skill when integrating NVIDIA NeMo Fabric into a consumer application, service, evaluation harness, or platform through the typed Python SDK —…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-pipeline
Vinit Bansal <vinitkumarb@nvidia.com>
Use when planning, executing, and independently validating Jetson Video Codec SDK or PyNvVideoCodec encode/decode, transcode, segmentation, container decode…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-pytorch
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing plain or manual PyTorch training code into an NVFLARE federated job using Client API model exchange, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-get-started
NVIDIA Corporation and Affiliates
Use this skill when first-time NeMo Relay users want help selecting and following an appropriate quick-start guide or verifying their first working integration.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-recipe
Vinit Bansal <vinitkumarb@nvidia.com>
Use when turning a Jetson encoder use case into one surface-neutral recipe with native Video Codec SDK and PyNvVideoCodec projections.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvidia-broadcast
NVIDIA Broadcast Team <broadcast-skills-dev@nvidia.com>
Use when controlling NVIDIA Broadcast through MCP to apply effects, process local media, select devices, or change camera resolution, or when Broadcast is…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-setup
Vinit Bansal <vinitkumarb@nvidia.com>
Use when installing, repairing, reusing, inspecting, or verifying readiness of the native NVIDIA Video Codec SDK or PyNvVideoCodec on Jetson, including the…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-diagnose-job
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Use when the user asks why a reported NVFLARE job failure signal occurred: the job failed, stalled, timed out, lost clients, ended with EXECUTION_EXCEPTION…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-lightning
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing PyTorch Lightning training code into an NVFLARE federated job using the Lightning Client API patch, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-install
NVIDIA Corporation and Affiliates
Use this skill when choosing or running NeMo Relay installation for an agent runtime, application language, framework integration, or plugin bundle, or…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-fed-stats
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Compute federated statistics over tabular data (count, sum, mean, stddev, var, histogram, quantile, noise-protected min/max) and image data (count…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-capability
Vinit Bansal <vinitkumarb@nvidia.com>
Use when Jetson codec, profile, chroma, bit-depth, dimension, engine-count, or operational support must be reconciled from live APIs, authenticated NVIDIA…
SkillAFreshness: A★ 3.7KClaude Code +9
Signals
- Stars
- 3,718
- Forks
- 457
- Open issues
- 8
- Last commit (this folder)
- Oct 21, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.1
- License
- CC-BY-4.0 AND Apache-2.0
- Repository
- github.com/NVIDIA/skills
- Website
- docs.nvidia.com/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from NVIDIA
- 0.745score
cdf-video-data-augmentation
NVIDIA
Run the CDF Video Data Augmentation Airflow workflow on Kubernetes or OSMO to create Cosmos video-to-video variants and auto-label both source and generated…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.745score
nvidia-skill-finder
NVIDIA
Use for NVIDIA-related requests where an NVIDIA skill might help, even if the user did not ask for a skill.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.745score
cdf-image-attribute-augmentation
NVIDIA
Run the CDF Orchestration Image Attribute Augmentation DAG on Kubernetes - person-crop clothing augmentation, attribute search, and augmented dataset…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.745score
cdf-orchestration-preflight
NVIDIA
Set up missing Linux prerequisites and audit whether a Cosmos Data Factory (CDF) Orchestration checkout and its Kubernetes or OSMO environment are ready to…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.745score
ethos-write
NVIDIA
Writes an AI agent's ethos.md — a durable snapshot of its purpose, intended behavior, boundaries, and success criteria — from the answers gathered by…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.745score
cdf-autonomous-vehicle-dataset-generation
NVIDIA
Prepare payloads, run and monitor the Autonomous Vehicle Dataset Generation Airflow workflow, and inspect results for driving-clip retrieval and Cosmos3-Nano…
SkillAFreshness: A★ 3.7KClaude Code +9
Cite this page
cdf-orchestration-write-dag skill. Agent Mart. https://agentmart.dev/skills/nvidia-cdf-orchestration-write-dag (last updated 2026-10-24)