digital-health-clinical-asr-build
Stage 2 of the Clinical ASR Flywheel. Use when curating clinical terms, tagging IPA, and synthesizing a NeMo manifest. NOT for scoring (use /digital-health-clinical-asr-eval).
git clone --depth 1 https://github.com/NVIDIA/skills /tmp/digital-health-clinical-asr-build && cp -r /tmp/digital-health-clinical-asr-build/skills/digital-health-clinical-asr-build ~/.claude/skills/digital-health-clinical-asr-buildSKILL.md
<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 --> # Clinical ASR Flywheel — Stage 2 (Build the benchmark) > **⚠ Agent: read this entire SKILL.md before answering.** This stage is conversational and gated. Specifically: ask the user 1–2 specialty-aware clarifying questions **before** proposing terms (Step 2a), walk them through the two-tier IPA pipeline (override → merriam-webster → magpie_g2p) in Step 2c, hit the explicit QA-mode audition gate in Step 2d before full Cartesian synthesis, and name **KER** as the headline metric they'll see in Stage 3. Skipping any of these defeats the methodology. You are the **curate-and-synthesize** stage. The user arrives from `/digital-health-clinical-asr-setup` and leaves with a NeMo-format `manifest.jsonl` plus the audio it references — both ready for scoring at `/digital-health-clinical-asr-eval`. Be conversational. This is the warmest, most domain-aware step in the flywheel: you're asking a clinician (or someone who works with them) which terms hurt today and shaping a benchmark around their reality. Ask short, focused questions. Show the user what's being added. Don't lecture. ## Data leaves your environment — disclose this to the user before any term is sent This stage transmits user-curated content to two external services. Surface this to the user before invoking either call: | Service | What gets sent | When | |---|---|---| | **Merriam-Webster** (`dictionaryapi.com` API or `merriam-webster.com` public site) | One HTTP request per term in the seed list — term goes in URL path | Step 2c — see MW path bullets below | | **NVIDIA NVCF Magpie TTS** (`grpc.nvcf.nvidia.com`) | Each generated clinical sentence (text, plus any SSML IPA wrappers) | Steps 2d and 2e, every synthesis call | Both endpoints expect **non-PHI synthetic content** — the term list you curate, the sentences `/data-designer` (or your fallback templates) generates from it. **Do not pass real patient records, real ASR transcripts, or any PHI through this skill.** If the term list itself is sensitive (proprietary drug codenames, unreleased product names, customer-confidential indications), confirm with the user that external-API transmission is acceptable under their organization's data-governance policy before proceeding. If no MW transmission is acceptable: take Path C below (skip MW; pipeline falls through to Magpie G2P with reduced coverage on long-tail terms). ## Purpose Curate a clinical-specialty term list, generate eval audio for it through Magpie TTS with a two-tier IPA pipeline, and write a NeMo-format manifest tagged with the clinical-extension fields (`term`, `entity_category`, `ipa_source`, `voice_id`, `noise_level`, `context_type`). The output is the input to Stage 3. By the end the user has: ``` $EVAL_DIR/cycle<N>/ ├── audio/<slug>.wav synthesized clips ├── manifest.jsonl NeMo format + clinical extension ├── term_seed.csv the curated input └── pronunciation_overrides.csv appendable across cycles ``` (`$EVAL_DIR` is the user's own choice — this skill does not impose a layout. The structure above is a recommendation, not a requirement.) ## When to use this skill Activate on user phrases like: - "Build a clinical ASR benchmark" - "Curate drug names / procedure names for ASR eval" - "Generate eval audio for medical terms" - "Create a NeMo manifest from clinical terms" - "Add oncology / cardiology / ortho terms to my benchmark" - "Audition the TTS pronunciation for these drug names" - "Make me a cycle-N manifest" Do **not** activate when (also: if the message mentions `auth`, `API key`, `gRPC`, `streaming`, `riva-build`, `NIM deploy`, `NGC`, or `Docker`, route per the bullets below and stop): - The user already has a manifest and wants to score it → `/digital-health-clinical-asr-eval` - The user wants to fine-tune on an existing manifest → `/digital-health-clinical-asr-finetune` - The user is asking generic TTS / SSML / voice-cloning / voice-catalog questions → `/read-aloud` (or `/riva-tts`) - TTS/ASR **auth / API keys / gRPC / streaming** → `/riva-tts` or `/riva-asr` - **NIM deploy** or `riva-build` / `riva-deploy` flags → `/riva-asr-custom` or `/riva-tts-custom` - **NGC / Docker / NVIDIA Container Toolkit** → `/riva-nim-setup` - The user is asking generic synthetic-data questions → `/data-designer` ## Prerequisites - **`/digital-health-clinical-asr-setup` completed** — `NVIDIA_API_KEY` exported, Python deps installed, the six upstream skills confirmed. - **`/read-aloud`** (or `/riva-tts`) reachable. Hosted Magpie via NVCF is the default. Self-hosted Magpie NIM works but adds `/riva-nim-setup` to the prerequisite chain. - **`/data-designer`** reachable. Template fallback is acceptable for a first cycle if `/data-designer` is unavailable, but tag those rows so future cycles can re-generate. - **A working directory** the user owns. The skill recommends `$EVAL_DIR/cycle<N>/` but does not enforce it. ## Instructions ### 2a. Specialty interview → `term_seed.csv` Ask **one question at a time**. The goal is to surface 4–10 candidate terms with the right `entity_category`, not to write a textbook. Questions, in order: 1. *What specialty / workflow is this for?* (oncology dictation, ICU handoff, psych intake, ortho post-op, …) 2. *What ASR failure modes have you seen?* — drug names, multi-word procedures, abbreviations, compound conditions. 3. *Which terms come up daily vs which are the hard ones?* — daily-common terms become the sanity baseline; daily-hard terms become the signal. Propose 4–10 candidate terms with `entity_category`. Confirm with the user before writing. Then write `term_seed.csv`: ```csv term,entity_category cefazolin,drug acetabular reamer,procedure tibial plateau,anatomy femoroacetabular impingement,condition hemoglobin a1c,lab respiratory therapist,role ``` **The category vocabulary is fixed.** KER keys off it. Allo
>-
Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
|
|
Calibrate a new dataset from live RTSP camera streams via the AutoMagicCalib REST API. Use when the user provides RTSP URLs or asks to calibrate live cameras; VIOS records clips, AMC ingests them, then runs calibration.
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP/live streams, use amc-run-rtsp-calibration instead.
Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.