cdf-simulation
Component-owned guidance for CDF Simulation requests submitted directly or through Airflow-triggered DIG Flow Catalog prompts — golden THT board, THT…
Skill by NVIDIA CDF <cdf@nvidia.com>
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-simulation
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: frontend, agent-building, image-generation
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-simulation
What's inside
- Skill name
cdf-simulation- Description
- Component-owned guidance for CDF Simulation requests submitted directly or through Airflow-triggered DIG Flow Catalog prompts — golden THT board, THT pin-geometry variation, good/clean SMT images, structural pose defects, and solder texture defects, from a board USD. Turns one matched prompt into one validated `cdf.CDFJob` build and its compiled JobOrder payload; it never executes a render itself. Requires a caller-supplied board USD and output root, asks for either when missing from an interactive request, and resolves optional details with fixed, documented defaults.
- License
- Apache-2.0
- Metadata
- author: NVIDIA CDF <cdf@nvidia.com> · version: 1.0.0
- Instructions
- 567 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: 567 lines (spec recommends under 500)
Files (9)
- BENCHMARK.md
- SKILL.md
- evals.json · evals/
- class-filter-taxonomy.md · references/
- fixed-defaults.md · references/
- payload-contract.md · references/
- reference-flows.md · references/
- skill-card.md
- skill.oms.sig
SKILL.md (first lines)
# cdf-simulation
Turns DIG Flow Catalog prompt templates and equivalent direct requests into
`cdf` jobs through the declarative Python API. This skill is the
**component-owned guidance** for `cdf-simulation`: a caller supplies a board
USD and output root, this skill builds and compiles the job, and the caller
can pass the payload to its own executor. Airflow may inject those required
inputs, or the caller may provide them directly. If either is missing and
interaction is possible, ask once. All optional ambiguity is resolved with
fixed, documented defaults. If a request truly cannot be served (an
unsupported defect type, a non-USD input), say so rather than guessing at a
fake capability or silently doing nothing.
**This skill does not execute.** It produces a validated `CDFJob` build and
its compiled JobOrder payload, then stops. An Airflow DAG or another executor
chosen by the caller performs rendering.
## Catalog coverage
This skill implements five DIG Flow Catalog rows, all taking a board USD as
input:
| # | Row | Status |
|---|---|---|
| 1 | Golden board (THT) | Implemented |
| 2 | Variation type (THT pin geometry) | Implemented |
| 3 | Good images (SMT) | Implemented |
| 4 | Structural defects (SMT) | Implemented |
| 5 | Texture defects (SMT solder) | Implemented, except `bridge` (unsupported — see below) |
### Reference flows
Beside the catalog rows, the skill serves the five **reference flows** in
[`references/reference-flows.md`](references/reference-flows.md): complete
inspection jobs, each phrased as one prompt whose compiled plan must equal
the equivalent YAML config. A prompt carrying a flow marker -- a scan grid
and "stitched", a defect on a **named refdes** ("shift on C33",
"insufficient solder on J17", "missing-component defect on LS1"),
"component-focus" or "pin-focus" crops -- is a flow, not a catalog row, and
takes its fixed values from that file (they differ from the catalog
defaults: shift is `translate_range=0.5, rotate_z_range=5.0` with no
`variant_index`, crops are ROI captures rather than `postprocess.crop`).
| Flow | Prompt marker |
|---|---|
| G golden scan | "golden board dataset ... NxM scan ... stitched" (single board or panel) |
| C component defects | "shift/tombstone/sideflip/reverse polarity on <refdes>" + "component-focus crops" |
| S SMT solder defects | "insufficient/excess/interrupted/missing solder on <refdes>" + "component-focus crops" |
| M missing component | "missing-component defect on <refdes>" |
| T THT solder defects | six THT solder defects on refdes + "pin-focus crops from the bottom" (single board or panel) |
## Fixed defaults
Every unspecified optional detail resolves to a documented default rather
than a question. The full table -- board identity and paths, the rule that a
named component must resolve on the attachment, THT board requirements,
pin-variation magnitude ranges, **the required structural-defect magnitudes**
(`translate_range`, `rotate_z_range`, `angle_range` -- the API has no
defaults for these and a catalog prompt never states them), the coverage
ratio, how multiple defect types combine, and the solder texture-defect
mapping -- is in
[`references/fixed-defaults.md`](references/fixed-defaults.md).
**Read it before building any script.** The values are not obvious and
several of them are load-bearing: the coverage ratio applies to structural
*and* solder defects, and the crop `class_filter` taxonomy is not the same as
`component_types`.
## Payload contract
What this skill returns to its caller, what it accepts, and how each value is
validated is in
[`references/payload-contract.md`](references/payload-contract.md). The short
version: the output is a `CDFJob` build plus the compiled `JobOrderPlan` from
`job.compile_orders(...)`, serialized with `JobOrderCodec.dumps(plan)` (a
bare `plan.model_dump()` is not JSON-serializable), together with a
resolved-inputs summary naming every default that applied. The caller supplies
the board USD and output root -- both **required**, with no fallback. This
skill supplies everything else from the catalog row and fixed defaults, and
marks each variant for an independent process.
## Instructions
Four steps, in order. Step 1 decides everything downstream, so do not start
writing a script before the row is settled.
1. **Match the prompt to exactly one catalog row or one reference flow.**
Check the flow markers first (`references/reference-flows.md`, "Routing"):
a named refdes target, a scan grid with "stitched", "component-focus" /
"pin-focus" crops. With a marker present the prompt is that flow; without
one it is a catalog row. A prompt matching **no row and no flow**
explains the supported request shapes and asks the caller to choose one;
it never assembles a best-effort substitute out of the pieces that do
exist.
2. **Resolve every input from the precedence order in [Inputs](#inputs).**
Anything still unset takes its documented default from
[`references/fixed-defaults.md`](references/fixed-defaults.md).
3. **Build one `cdf.CDFJob` script**, following the row's shape in
[Workflow](#workflow). One job per variant: the executing side must launch
each variant as its own process, because sequential
`job.capture.render(...)` calls in one process crash the second Kit
subprocess -- so the payload says one variant, never a loop.
4. **Validate, then return** -- compile the job with
`job.compile_orders(...)`, read the result, and return the build plus the
compiled plan to the caller. Do not call `render()` here. Report what was
assumed alongside the payload.
## Inputs
Each value is resolved from the first source that supplies it:
**state file -> explicit prompt arguments -> agent context -> user prompt text**
| Input | Required | Where it comes from if unset |
|---|---|---|
| Catalog row | yes | Matched from the prompt shape; no default. No match asks the caller to choose a supported shape |
| Board USD (attachment path) | yes, caller-provided | **No fallback.** Ask for a missing path when interaction is possible; for non-interactive automation, stop with refusal case 3. Never substitute a sample board |
| Output root | yes, caller-provided | **No fallback.** Ask for a missing path when interaction is possible; for non-interactive automation, stop with refusal case 3. Never synthesize a directory |
| Component sidecar | optional legacy input | Prefer embedded USD metadata with `source="usd"`. Attach a matching `<stem>.components.json` only when a legacy standalone board relies on it or the caller explicitly selects that source; file presence alone does not select it. Instanced panels require embedded metadata |From NVIDIA/skills, 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 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- 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
Cite this page
cdf-simulation skill. Agent Mart. https://agentmart.dev/skills/nvidia-cdf-simulation (last updated 2026-10-24)