Cdf Auto Labeling
NVIDIAOfficialCreated by NVIDIA
- Skill
- Workflow
- Automation and integrations
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
CDF Auto-Labeling is a central routing skill designed to guide users through the lifecycle of automated data labeling tasks within the Cosmos Data Factory ecosystem. It provides a structured approach to onboarding, scenario planning, cookbook authoring, and pipeline execution. By acting as a router, it directs users to specialized documentation for specific tasks—such as migrating pipelines, debugging workflows, or managing containerized stages—while enforcing strict input validation and operational guardrails to ensure reproducible results.
What it does
- Routes users to specific documentation based on their current task or stage in the pipeline.
- Validates critical run inputs like data paths, output directories, and model endpoints.
- Provides a standardized workflow for running, debugging, and customizing annotation cookbooks.
- Facilitates the integration of new stages and the management of prebuilt container images.
- Enforces operational guardrails to prevent common errors like hardcoding secrets or skipping validation steps.
When to use it
- When you are a new user needing to get started with CDF Auto-Labeling.
- When you need to plan a new annotation scenario or adapt an existing cookbook.
- When you are troubleshooting a failed pipeline run or debugging a specific stage.
- When you need to migrate an external annotation repository into the CDF framework.
- When you need to pull or configure prebuilt stage containers from NGC.
Advantages
- Ensures consistent and reproducible pipeline execution through standardized cookbooks.
- Prevents configuration errors by mandating input validation before execution.
- Simplifies complex workflows by breaking them down into manageable, modular tasks.
- Promotes best practices by delegating specialized tasks to dedicated reference guides.
Usage examples
- “I cloned the repo and have my own warehouse-safety video. How do I produce auto-labels for my domain?”
- The agent will guide you to verify your environment, run a shipped example to confirm the stack, plan your scenario, adapt a cookbook, and execute a dry-run.
- “How do I pull the prebuilt stage containers from NGC?”
- The agent will direct you to the ngc-containers reference and provide instructions on using make pull to retrieve the necessary images.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/nvidia/cdf-auto-labeling/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip cdf-auto-labeling.zip -d .agents/skills
Documentation by NVIDIA
CDF Auto-Labeling
Use this skill when a user wants to kick off CDF Auto-Labeling on their own data, domain, or use case, or when the request matches a shipped cookbook, stage, authoring, or migration task. This is a router: sequence the specialized references instead of duplicating their detail.
Routing (Read First)
| Request looks like | Read |
|---|---|
| New user, clean checkout, first validated run, "how do I get started" | This file, then the matching reference below |
| Choose annotation targets / stage subset for a domain | references/scenario-planning.md |
| Create, review, or adapt a cookbook | references/cookbook-authoring.md |
| Write or adapt VLM/LLM prompts or question banks | references/prompt-authoring.md |
| Migrate an existing annotation repo into this one | references/pipeline-migration.md |
| Run the video data augmentation cookbook | references/video-data-augmentation.md |
| Run or choose an EPAS / PAS cookbook | references/event-and-person-attribute-search.md |
| Run event-verification reasoning | references/event-verification-reasoning.md |
| Debug an already-integrated workflow | references/workflow-runner-debugging.md |
Pull prebuilt stage images from NGC, log in to nvcr.io, or fix a missing cdf-* image | references/ngc-containers.md |
| Implement or review a new stage or Dockerized service | references/workflow-stage-integration.md |
| Configure or debug one production stage | The matching file under references/stages/ |
Stage references: super-resolution, detection-and-tracking, captioning, visual-qa, reasoning, person-attribute-search, grounding-2d, referring-expressions, training-export.
Instructions
Confirm the critical run inputs with the user before doing anything else, and ask a concise question whenever one is missing or ambiguous - never guess or silently invent a default. At minimum confirm: input data path, output path, VLM/LLM endpoint URLs and model names, model cache path, GPU ids, and (for reasoning-capable models) the
max_tokenscap. Restate the confirmed values back to the user before the first execution.Verify the environment: repository cloned,
maketargets available, the model cache path exists, the VLM/LLM endpoints are reachable, and a GPU is available. State any missing prerequisite as a blocker instead of assuming it. If the stage images are not present locally, offer to pull the prebuilt images from NGC withmake pullinstead of building them. Use ngc-containers.Run a shipped example first to confirm the stack works end to end before customizing. Pick the closest operator pipeline - video data augmentation, event-and-person-attribute-search, or event-verification-reasoning - and run its committed cookbook. Use the matching operator reference.
Plan the target scenario: define modality, domain, intended consumer, and required annotations, and get a minimal stage subset. Use scenario-planning.
Adapt the closest shipped cookbook to the new domain rather than authoring from scratch. Use cookbook-authoring.
Author the domain prompts and question banks. Use prompt-authoring.
Configure the per-stage settings for the domain (detector classes or SAM3 prompts, endpoints, windowing,
max_tokens). Use the relevant stage reference, starting with detection-and-tracking.Dry-run the adapted cookbook, then execute and validate the outputs. Use workflow-runner-debugging.
Adopting an existing external annotation or dataset-generation repository into CDF instead of starting from a shipped cookbook is a migration task; use pipeline-migration for that path.
Examples
New user, new domain: "I cloned the repo and have my own warehouse-safety video. How do I produce auto-labels for my domain?"
Guided path:
Confirm env (model cache, VLM/LLM endpoints, GPU), then prove the stack on a shipped example before customizing:
make run SCRIPT=workflow-runner:main \
ARGS='--cookbook-file cookbooks/video_data_augmentation/configs/pipeline_video.yaml --container-dry-run'Plan the domain (scenario-planning) -> subset
detection_and_tracking -> captioning -> visual_qa -> reasoning -> training_export(addgrounding_2dfor caption→boxes orreferring_expressionsfor boxes→phrases; use grounding-2d / referring-expressions).Copy the closest cookbook to
cookbooks/warehouse_safety/configs/pipeline.yamland adapt inputs, detector classes/SAM3 prompts, prompts, and question banks.Dry-run the new cookbook, then run for real and validate outputs:
make run SCRIPT=workflow-runner:main \
ARGS='--cookbook-file cookbooks/warehouse_safety/configs/pipeline.yaml --container-dry-run'Guardrails
Do not guess or fabricate the critical inputs enumerated in step 1; if any is missing or ambiguous, ask the user and confirm before executing.
Do not customize a cookbook before a shipped example runs clean; a broken base makes domain debugging ambiguous.
Keep the first custom pipeline minimal - only the stages needed for the requested annotations - and expand later.
Verify that every selected stage's service package and image exist in the current branch before promising an end-to-end run.
Do not put secrets, tokens, or absolute home paths in committed cookbooks; use placeholders such as
<model-cache>and env vars for endpoint keys.For reasoning-capable models (for example Gemini 3 Flash), raise
max_tokenson thevisual_qaandreasoningLLM substages to avoid the thinking-token tax; keep the default cap for non-reasoning models.Do not rely on non-CDF pipelines, commands, or file locations. A first run must be reproducible through
workflow-runner:maininside this repo.
Files
- ATTRIBUTION.mdAdded by AutoGineer909 B
- BENCHMARK.md7.3 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md7.5 KiB
- evals/evals.json5.2 KiB
- references/README.md1.3 KiB
- references/cookbook-authoring.md6.3 KiB
- references/cookbook-authoring/cookbook-schema.md6.3 KiB
- references/cookbook-authoring/scenario-authoring.md2.8 KiB
- references/event-and-person-attribute-search.md5.1 KiB
- references/event-and-person-attribute-search/run-reference.md2.4 KiB
- references/event-verification-reasoning.md1.9 KiB
- references/event-verification-reasoning/run-reference.md1.3 KiB
- references/ngc-containers.md4.2 KiB
- references/pipeline-migration.md7.2 KiB
- references/pipeline-migration/migration-playbook.md3.8 KiB
- references/pipeline-migration/nonlinear-video-pipeline-example.md2.7 KiB
- references/pipeline-migration/service-reuse-matrix.md3.4 KiB
- references/pipeline-migration/sidecar-contracts.md3.0 KiB
- references/prompt-authoring.md3.3 KiB
- references/prompt-authoring/domain-evidence-checklists.md2.2 KiB
- references/prompt-authoring/prompt-patterns.md3.9 KiB
- references/prompt-authoring/question-bank-authoring.md2.0 KiB
- references/scenario-planning.md3.6 KiB
- references/scenario-planning/annotation-recommendations.md5.0 KiB
- references/scenario-planning/intake-and-decisions.md2.6 KiB
- references/scenario-planning/pipeline-composition.md6.0 KiB
- references/stages/captioning.md3.6 KiB
- references/stages/detection-and-tracking.md6.2 KiB
- references/stages/detection-tracking-patterns.md10.3 KiB
- references/stages/grounding-2d-patterns.md1.6 KiB
- references/stages/grounding-2d.md5.1 KiB
- references/stages/guardrails.md532 B
- references/stages/person-attribute-search.md4.5 KiB
- references/stages/reasoning.md5.0 KiB
- references/stages/referring-expressions-patterns.md1.2 KiB
- references/stages/referring-expressions.md5.5 KiB
- references/stages/super-resolution.md4.4 KiB
- references/stages/training-export.md3.7 KiB
- references/stages/visual-qa.md6.2 KiB
- references/video-data-augmentation.md12.2 KiB
- references/video-data-augmentation/run-reference.md3.7 KiB
- references/workflow-runner-debugging.md6.0 KiB
- references/workflow-runner-debugging/data-handoff.md3.5 KiB
- references/workflow-runner-debugging/runner-debugging-patterns.md3.7 KiB
- references/workflow-stage-integration.md7.1 KiB
- references/workflow-stage-integration/stage-service-contract.md3.0 KiB
- references/workflow-stage-integration/validation-checklist.md2.1 KiB
- skill-card.md4.9 KiB
- skill.oms.sig15.6 KiB
references/pipeline-migration.md
CDF Auto-Labeling Pipeline Migration
Use this skill to guide repo-to-UPA migrations. The goal is to make new pipelines arrive as reusable UPA capabilities plus cookbooks, not as piles of pipeline-specific services.
Core Rule
Start with a cookbook. Extend existing services when the missing behavior is a mode, prompt, question bank, detector option, windowing choice, or output format. Add a new service only for a reusable primitive with a stable sidecar contract.
Good service names describe capabilities:
media_chunkingquery_generationanomaly_voteartifact_export(illustrative generic name; the real shipped export stage istraining_export)
Avoid service names that describe one pipeline or repo:
agentic_captioningagentic_trackingwarehouse_pipeline_servicetraffic_query_task
Migration Workflow
Linear planning spine, Step 1 -> 8; it produces a migration plan and does not run anything. Notes so independent readers reconstruct the same graph:
The reference reads in Steps 2-5 are prerequisite reads (Step 5 only when the source is non-linear), not branches.
The per-stage reuse decision (cookbook-only, extend an existing service, or new generic service) happens inside Step 7. It is a per-stage classification, not a control-flow branch or loop: each stage resolves independently to exactly one outcome, and no outcome loops back into the reference-read steps.
Core Rule, Output Shape, and Guardrails are constraints/output content applied while planning, not separate flow steps.
The only loop is the bounded validate-revise loop in Step 8.
Inventory the source repo: scripts, entrypoints, inputs, outputs, models, endpoints, GPU requirements, resume behavior, and output schemas.
Read migration-playbook.md before proposing branch structure, service boundaries, or cookbook scope.
Read service-reuse-matrix.md before suggesting a new service or task package.
Read sidecar-contracts.md before changing UPA service IO,
pipeline_state.json, active-media handoff, or repeated stage behavior.Read nonlinear-video-pipeline-example.md when a source repo has a non-linear video pipeline, such as tracking plus chunking plus VLM annotation plus query generation.
Verify the current branch's available services and workflow-runner stage registry before claiming a cookbook is executable.
Produce a migration plan that separates cookbook-only work, generic service capability work, runner registration work, and validation. Classify each source stage here into exactly one reuse outcome (see Output Shape).
Validate the outline with a runner dry-run and contract tests. On revealed gaps, revise the outline/classification in place and re-validate at most twice (a bounded self-loop on Step 8; do not re-enter Steps 1-7). Then terminate: finalize the plan if it passes, or STOP and record the blocking gap in the MR note as a follow-up capability.
Output Shape
For a migration plan, include:
Source pipeline summary: stages, inputs, outputs, and dependencies.
Reuse decision: cookbook-only, existing service extension, or new generic service for each stage.
Target UPA cookbook outline with
pipeline,runtime,endpoints, stage sections, andworkflow.nodes.<node>.args(stage_argsis compatibility-only), plus the stage shape that fits the source:a linear
stages:list when the source pipeline runs stages in a simple sequence; orworkflow.nodes(withneeds:) to capture dependency intent when the source is non-linear or dependencies matter more than a flat list. The runner currently linearizes and validatesworkflow.nodesrather than parallel-executing the DAG, so use it to express dependency intent - do not claim parallel execution.
Sidecar contract for any new or changed service.
Minimal branch/MR plan; avoid unnecessary follow-up runner branches.
Validation commands: unit tests, service contract tests, runner dry-run, and one tiny end-to-end smoke input when feasible (Step 8 bounds the validate-revise loop and its exit).
Examples
Migrating a source "warehouse anomaly" tracker + VLM captioner + query generator.
Reuse decision (all cookbook-only, no new services):
tracker ->
detection_and_tracking(SAM3 prompts).VLM captioner ->
captioning(--prompt-file).query generator ->
person_attribute_searchLLM query generation.
Target cookbook outline (workflow.nodes with colocated args, adapted from a
shipped example):
pipeline: video
workflow:
nodes:
detection_and_tracking:
stage: detection_and_tracking
args: [--model, sam3, --sam3-prompts, a forklift, a pallet]
captioning:
stage: captioning
needs: [detection_and_tracking]
args: [--input-source, tracking, --prompt-file, ../prompts/warehouse_caption.md]
visual_qa: { stage: visual_qa, needs: [captioning] }
reasoning: { stage: reasoning, needs: [visual_qa] }
training_export: { stage: training_export, needs: [reasoning] }
endpoints:
vlm: { url: <vlm-url>, model: <vlm-model> }
llm: { url: <llm-url>, model: <llm-model> }Validate the outline before proposing the branch/MR:
make run SCRIPT=workflow-runner:main \
ARGS='--cookbook-file cookbooks/warehouse/configs/pipeline.yaml --container-dry-run'Guardrails
Do not create a new task or service only because the source repo has a new project name.
Do not migrate hard-coded experiment paths, secrets, endpoints, or local dataset locations into committed cookbooks.
Do not copy secret values (API keys, tokens, credentials) or user-specific paths into the migration plan, summaries, examples, or MR notes. Reference them by env-var name or placeholder and redact the values, even outside committed cookbooks.
Do not put final DAFT/artifact writing into captioning or VQA unless the product explicitly wants those stages to stop being reusable intermediate representation producers.
Do not claim parallel or non-linear execution if the current runner only validates and topologically flattens
workflow.nodes.Do not allow two stages or two workflow nodes to write the same sidecar path or
pipeline_state.jsonkey.Prefer capability gaps over branch sprawl: one well-scoped generic service or registry improvement is better than several pipeline-specific branches.
Map migrated stages onto the current canonical stages (fixed relative order; cookbooks select a subset):
super_resolution,detection_and_tracking,captioning,visual_qa,reasoning,training_export,person_attribute_search. The singledaft_exportstage is retired: DAFTtask/writing now belongs toreasoning, and training dataset aggregation belongs to the newtraining_exportstage.person_attribute_searchstays the stage key for the Visual Attribute Search product (service image/build target remainsevent-and-person-attribute-search-service).Adapt a shipped example cookbook (
visual_attribute_search,event_verification_reasoning,video_data_augmentation) before inventing a new pipeline layout.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/cdf-auto-labeling · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download cdf-auto-labeling.zip