Generated banner for Digital Health Clinical Asr Eval
Generated logo for Digital Health Clinical Asr Eval

Digital Health Clinical Asr Eval

NVIDIAOfficialCreated by Ben RandoingDistributed by NVIDIA

  • Skill
  • Workflow
  • Software development
  • Apache-2.0
  • Medium risk

From the author

Stage 3 of Clinical ASR Flywheel. Score a NeMo manifest, produce the five-section KER leaderboard (by-ipa_source diagnostic). Not for ASR auth (/riva-asr).
— the description by Ben Randoing

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill serves as the third stage of the Clinical ASR Flywheel, designed to score clinical ASR model performance. It processes a NeMo-format manifest, transcribes audio using specified NVIDIA NIMs, and computes four key metrics: WER, CER, KER, and SER. The skill produces a comprehensive five-section leaderboard and provides a decision-tree-based recommendation on whether to proceed to fine-tuning, refine the build, or finalize the evaluation.

What it does

  • Transcribes audio from a NeMo manifest using hosted or self-hosted ASR NIMs.
  • Computes WER, CER, KER, and SER metrics using standardized normalization.
  • Generates a five-section markdown leaderboard including KER breakdowns by entity and noise level.
  • Provides actionable routing recommendations based on evaluation results.
  • Identifies pronunciation-coverage gaps by comparing IPA sources.
  • Exports per-sample results and aggregate scores for further analysis.

When to use it

  • When you need to score a clinical ASR manifest for accuracy.
  • To compare the performance of different ASR models on clinical benchmarks.
  • When you need to determine if a model is ready for deployment or requires fine-tuning.
  • To diagnose whether poor performance is due to model limitations or pronunciation-hint gaps.

Advantages

  • Provides a specialized Keyword Error Rate (KER) metric critical for clinical safety.
  • Includes a built-in decision tree to prevent premature or unnecessary fine-tuning.
  • Automates the generation of a structured, multi-faceted performance leaderboard.
  • Distinguishes between model-level gaps and pronunciation-coverage issues.

Usage examples

“Score my ASR manifest.jsonl using the default Parakeet model.”
The agent will validate the manifest, transcribe the audio, compute the four metrics, and output the five-section leaderboard with routing advice.
“Why is my KER 0.4 when my WER is 0.07?”
The agent will explain that KER is a strict, contiguous match metric for clinical terms, whereas WER is a broader word-level error rate, and point to the leaderboard for details.
“Should I fine-tune my model based on these results?”
The agent will analyze the priority category KER and the IPA source delta to recommend either fine-tuning, expanding the term list, or hardening the current baseline.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/nvidia/digital-health-clinical-asr-eval/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip digital-health-clinical-asr-eval.zip -d .agents/skills

Documentation by Ben Randoing

<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 -->

Clinical ASR Flywheel — Stage 3 (Eval)

⚠ Agent: read the Critical Workflow Rules section below before answering. This SKILL.md is self-contained — evals/, references/, and assets/ are pointers, not load-bearing. Answer methodology questions from this file directly; only invoke tools when the user explicitly asks to execute against a real manifest.

You are the score-and-route stage. The user arrives with a NeMo-format manifest.jsonl (either from /digital-health-clinical-asr-build or carried in from elsewhere). You transcribe it via the chosen ASR NIM, score four metrics, produce a five-section leaderboard, and read the decision tree to decide whether the user should advance to /digital-health-clinical-asr-finetune, loop back to /digital-health-clinical-asr-build, or stop and harden the eval.

This skill does not generate audio. If the manifest is missing or empty, send the user back to /digital-health-clinical-asr-build.

Audio leaves your environment — disclose this to the user before any clip is sent

This stage transmits each manifest row's WAV file plus its reference text to an external NVIDIA service. Surface this before invoking the first ASR call:

ServiceWhat gets sentWhen
NVIDIA NVCF Parakeet/Nemotron ASR (grpc.nvcf.nvidia.com)Every audio clip referenced by the manifest (raw PCM bytes), plus the reference transcript and the clinical-extension metadata for scoringStep 3b, one call per manifest row

The clips should be synthetic audio generated by Stage 2 (Magpie TTS over a user-curated term list) — not real patient audio. Do not pass real ASR recordings, real patient encounters, or any PHI through this skill. Scoring then runs locally (pure-Python WER/CER/KER/SER, or jiwer if installed). The scoring step itself does not transmit anything; only the ASR step does.

Critical workflow rules (apply on every activation)

For methodology questions (leaderboard structure, KER definition, decision tree), answer from this file. Don't invoke tools, call other skills, or run scripts unless the user explicitly asks to execute against a real manifest. Surface these facts in any response:

  1. Off-ramp first. If the user is asking about something outside scoring, route and stop without running any workflow:

    • ASR model-catalog selection / comparison / alternative NIMs → /riva-asr

    • ASR auth (API keys, bearer tokens, function IDs) → /riva-asr

    • ASR gRPC protocol, streaming, batching, chunking, retries → /riva-asr

    • NIM deploy / riva-build / riva-deploy → /riva-asr-custom

    • NGC / Docker / NVIDIA Container Toolkit → /riva-nim-setup

    • No manifest yet → /digital-health-clinical-asr-build

    • Wants to fine-tune now with a known KER → /digital-health-clinical-asr-finetune

  2. Default ASR NIM is nvidia/parakeet-tdt-0.6b-v2 (NVCF function-id d3fe9151-442b-4204-a70d-5fcc597fd610, offline gRPC). Env-var overrides: ASR_MODEL_NAME (leaderboard display name), ASR_NVCF_FUNCTION_ID (swap to a different hosted NIM — e.g. Whisper Large v3 b702f636-… while the Parakeet backend is faulting, or a fine-tuned NIM), ASR_ENDPOINT (self-hosted gRPC; takes precedence). Echo the chosen NIM and the resolved function-id back before spending API credits.

  3. ASR transcription is inlined in Step 3b (NVCF gRPC + riva.client.ASRService.offline_recognize, same auth pattern as Stage 1). For deeper protocol/auth questions, alternative NIM catalogs, or self-hosted Riva NIM configuration, defer to /riva-asr.

  4. KER is the headline. Per-row check: the flagged term words must appear in order, contiguous, adjacent in the normalized hypothesis. cefazolin → cefa zolin is a miss. Aggregate WER hides clinically dangerous failures; both are reported, KER is the gate.

  5. The by-ipa_source split is the most informative single number in the leaderboard. The merriam-webster vs magpie_g2p delta proves the SSML override pipeline is doing real work. Read it aloud to the user.

  6. Special-case routing. merriam-webster rows good, magpie_g2p rows bad → pronunciation-coverage gap, not a model gap. Route back to /digital-health-clinical-asr-build Step 2d. Do NOT recommend /digital-health-clinical-asr-finetune as a first response.

  7. Five-section leaderboard order. Headline (WER/CER/KER/SER) → KER by entity_category → KER by ipa_source → KER by noise_level → Per-term KER worst-first. The by-ipa_source section is mandatory; it is the proof the SSML pipeline works.

Purpose

Score a clinical-ASR manifest, produce a five-section KER leaderboard, and route the user via the post-eval decision tree. Methodology details (metric definitions, normalization, leaderboard order, special-case routing) live in Critical Workflow Rules above and Instructions below.

When to use this skill

Activate on user phrases like:

  • "Score my ASR manifest"

  • "What's the KER on Parakeet TDT v2?"

  • "Run the eval on cycle-N"

  • "Compare two ASR models on the clinical benchmark"

  • "Generate the leaderboard"

  • "I have a manifest.jsonl, how do I score it?"

  • "Why is KER 0.4 when WER is 0.07?"

  • "Should we fine-tune?" (this is the eval-side question — the post-eval decision tree lives in this skill)

Literal-keyword non-activation check — if the user's message contains any of authenticate, API key, bearer, function ID, gRPC, streaming, chunking, batching, transcription retry, riva-build, riva-deploy, NIM deploy, NGC, Docker, Container Toolkit, or asks "which ASR model is best" / "compare models" / "vendor differences" — do NOT activate the scoring workflow. Apply Critical Workflow Rule #1 above to route to the right sibling skill and stop. This applies even if the user mentions "KER" or "eval" alongside the keyword.

Prerequisites

  • A NeMo-format manifest with the clinical extension fields (term, entity_category, ipa_source, voice_id, noise_level, context_type). The schema is documented in the build skill's references/manifest-schema.md.

  • NVIDIA_API_KEY exported (Stage 1 prerequisite still applies).

  • nvidia-riva-client + soundfile installed (Stage 1 prerequisite). For self-hosted Riva NIM details, see /riva-asr Option B.

  • Audio files actually present on disk — run the audio-existence pre-flight from the manifest-schema reference before spending API credits.

Instructions

3a. Pick the ASR NIM

Default: nvidia/parakeet-tdt-0.6b-v2 via NVCF gRPC (offline), function-id d3fe9151-442b-4204-a70d-5fcc597fd610. NVIDIA's current English ASR recommendation — fastest/cheapest in the catalog, and supported in NeMo's stock SFT recipe so the Stage 3 baseline and a Stage 4 fine-tune ride the same model family.

Three runtime env-var override knobs (ASR_MODEL_NAME for leaderboard display, ASR_NVCF_FUNCTION_ID to swap to a different hosted NIM, ASR_ENDPOINT for self-hosted gRPC) plus the full alternate-NIM catalog (Parakeet TDT 1.1B, Parakeet CTC 1.1B, Whisper Large v3, Nemotron streaming) with function IDs and call-shape notes: references/offline-asr-recipe.md.

Echo the chosen NIM, the resolved function-id, and any env-var overrides to the user before spending API credits. A 200-row manifest on hosted Parakeet TDT v2 is cheap; an accidental run against the wrong model on a 1,000-row manifest is not.

3b. Transcribe

For each row in manifest.jsonl, transcribe audio_filepath and write per_sample.json (one JSON object per row, JSONL or a JSON array — caller's choice):

{
  "audio_filepath": "...",
  "ref": "<row.text>",
  "hyp": "<asr output>",
  "term": "<row.term>",
  "entity_category": "<row.entity_category>",
  "ipa_source": "<row.ipa_source>",
  "voice_id": "<row.voice_id>",
  "noise_level": "<row.noise_level>",
  "context_type": "<row.context_type>"
}

Recipe (full Python in references/offline-asr-recipe.md): transcribe_manifest(api_key, manifest_path, out_path, language_code="en-US") opens an offline gRPC stream to NVCF (or to ASR_ENDPOINT if set for self-hosted Riva), calls riva.client.ASRService.offline_recognize per row — sentences in a clinical manifest are ≤ 30 s so no streaming/batching needed — and writes the JSONL above. Same auth_for shape as the Stage 1 setup smoke test. The agent harness passes api_key explicitly; the recipe reads the three env-var overrides (ASR_NVCF_FUNCTION_ID, ASR_MODEL_NAME, ASR_ENDPOINT) at the top so auditors see the knobs in one place.

Whisper fallback (when Parakeet's NVCF backend faults with CUDA illegal-memory-access from Triton) and self-hosted Riva NIM (ASR_ENDPOINT=localhost:50051) env-var patterns: see references/offline-asr-recipe.md (§Whisper fallback, §Self-hosted Riva NIM).

Resilience knobs deferred to the user. If NVCF returns RESOURCE_EXHAUSTED mid-batch, the loop raises on that row; re-run from the failing row. Streaming/batching/retry-with-backoff are out of scope — see /riva-asr.

3c. Score four metrics

For every row, compute:

MetricWhat it measuresWhy we keep it
WERWord error rate (Levenshtein on tokens, after normalization)Industry standard; blunt instrument for clinical
CERCharacter error rateCatches near-misses on long compound names
KER ★Keyword error rate — did the flagged term appear in the hypothesis (normalized, contiguous match)?Headline clinical signal
SERSentence error rate (1 if any wrong, 0 if perfect)Sanity bound; what the doctor experiences

Normalization (apply to both ref and hyp before all four metrics):

  1. Lowercase.

  2. NFKD-normalize (smart quotes → ASCII, etc.).

  3. Strip punctuation except hyphen.

  4. Collapse whitespace runs to a single space.

Inline scoring recipes — normalize / edit_distance / wer / cer / ker / ser (pure-Python, no jiwer dependency): see references/scoring-recipes.md. Aggregate across rows by taking mean(per-row score) for each metric.

Strict KER — term words must appear in order, adjacent in the normalized hypothesis. This is conservative: cefazolin → cefa zolin counts as a miss. That's the right call clinically — a downstream pharmacy lookup will fail on the misspelled token.

KER does not punish surrounding errors. A row where the term is correct and the rest of the sentence is garbage still scores KER=0; the WER on that row will surface the broader problem separately.

3d. Breakdowns + leaderboard

Write a five-section markdown leaderboard, in this order:

  1. Headline — overall WER, CER, KER, SER for the chosen model.

  2. KER by entity_category — drug vs procedure vs anatomy vs ... This is what the user actually cares about for deployment.

  3. KER by ipa_source — the most informative single number in the leaderboard. The delta between merriam-webster and magpie_g2p rows is the proof the SSML override pipeline is doing real work. Read this section aloud to the user.

  4. KER by noise_level — clinical environments are loud. snr_5db rows are closer to reality than clean.

  5. Per-term KER (worst first) — these are your Stage 4 fine-tune targets.

A representative ipa_source split with the merriam-webster vs magpie_g2p delta interpretation: references/scoring-recipes.md §Representative ipa_source split. The delta tells the deployment story — if the user sees a wide gap and asks "should we fine-tune?", the answer is not yet; route them back to /digital-health-clinical-asr-build's IPA QA pipeline (Stage 2d). See the decision tree below.

Decision tree (after eval)

Read the priority-category KER (drug KER for most clinical workflows, procedure KER for surgical workflows) and route:

KER on priority categoryRecommend
> 0.3/digital-health-clinical-asr-finetune. Manifest is already NeMo-format-ready. Note: rows ≥ 100 is the minimum for a believable fine-tune signal; if the manifest is smaller, grow it first via /digital-health-clinical-asr-build.
0.1 – 0.3Either expand the term list (back to /digital-health-clinical-asr-build with new domain terms — usually surfaces more failures cheaper than tuning) or fine-tune. On a first eval, expand. On a later eval where you've already grown the manifest, tune.
< 0.1Strong baseline. Don't tune yet — you'd be optimizing against a saturated metric. Push the eval harder: add voices, noise levels, contexts, adversarial terms. Loop back to /digital-health-clinical-asr-build.

Special case — merriam-webster rows score well but magpie_g2p rows are bad. That's a pronunciation-hint coverage gap, not a model gap. Route back to /digital-health-clinical-asr-build Step 2d (IPA QA review), not to /digital-health-clinical-asr-finetune. Fine-tuning over a TTS-pronunciation gap teaches the model to mis-recognize the model's own mistakes — the wrong fix.

Examples

Scenario A — first eval on a fresh cycle-1 manifest. User: "I have manifest.jsonl with 200 clinical audio rows already, with term and entity_category fields. How do I score it?" → Skip Stage 2 entirely. Run the audio-existence pre-flight. Pick parakeet-tdt-0.6b-v2 (default) and echo the choice + resolved function-id. Run the inlined Step 3b recipe (transcribe_manifest(...)). Score the four metrics. Produce the five-section leaderboard. Read the by-ipa_source split to the user. Apply the decision tree against drug KER.

Scenario B — interpreting a mixed result. User: "Eval shows KER 0.05 on rows tagged merriam-webster but 0.40 on rows tagged magpie_g2p. Should I fine-tune?" → No — this is the special case. The model is fine; the pronunciation hints aren't covering the long-tail terms. Route the user back to /digital-health-clinical-asr-build Step 2d to audition the magpie_g2p rows and append verified IPA to pronunciation_overrides.csv. Re-run Stage 3 after the rebuild before reconsidering Stage 4.

Artifacts produced

  • per_sample.json — per-row transcription results with all clinical-extension fields preserved (the ASR hyp joined to the manifest's ref and metadata)

  • results.csv — per-row WER/CER/KER/SER scores

  • leaderboard_cycle<N>.md — five-section markdown report

(File names are user-chosen; the names above are conventions the rest of this skill assumes.)

Troubleshooting

  • "No manifest found" → user skipped Stage 2. Route to /digital-health-clinical-asr-build or confirm $MANIFEST_PATH.

  • All rows KER=1 → normalization mismatch between ref and hyp. Apply the four normalization steps to both sides.

  • All rows KER=0 but WER high → likely misaligned manifest (audio row mismatch). Spot-check a few (ref, hyp) pairs by hand.

  • merriam-webster low, magpie_g2p high → pronunciation-coverage gap. Route to /digital-health-clinical-asr-build Step 2d. Don't fine-tune — model isn't the problem.

  • Both merriam-webster and magpie_g2p high → real model gap. Stage 4 is the right route (manifest ≥ 100 rows).

  • clean rows fine, snr_5db balloons → robustness gap; expand noise diversity via /digital-health-clinical-asr-build.

  • Riva-NIM and offline NeMo results diverge → Riva preprocessing / riva-build flags. Route to /riva-asr-custom.

  • RESOURCE_EXHAUSTED on large manifests → retry after 30 s; slice + re-run dropped rows. Built-in backoff: /riva-asr.

  • Auth.__init__() got 'ssl_cert' / CUDA illegal-memory-access on Parakeet function ID: see references/offline-asr-recipe.md (ssl_root_cert rename + §Whisper fallback).

Anything else: identify the upstream owner. ASR protocol / NIM deploy → /riva-asr. Scoring → here.

Limitations

  • English-only by default. Tokenization + normalization assume Latin script and en-US lexicon.

  • Strict-contiguous KER is conservative. A near-miss like cefa zolin counts as a miss. That's intentional — pharmacy lookups fail on near-misses. Users wanting "soft" matching can switch to phoneme-level edit distance, which is a methodology extension, not a config tweak.

  • One model per eval run. Comparing two models means running the eval twice and diffing the two leaderboard_cycle<N>.md files (or extending the recipe to write multi-model rows yourself).

  • Hosted-only paths assumed. Self-hosted NIMs work but require /riva-nim-setup first.

Next steps

  • Forward (KER > 0.3, manifest ≥ 100 rows): /digital-health-clinical-asr-finetune.

  • Back to build (KER 0.1–0.3 on first eval, or magpie_g2p gap): /digital-health-clinical-asr-build.

  • Stop (KER < 0.1): the eval is saturated. Harden it before declaring victory.

  • Lateral for ASR protocol / auth / streaming / self-hosted NIM details: /riva-asr.

References

  • references/offline-asr-recipe.md — full Step 3b Python recipe (transcribe_manifest, resolve_asr_config, build_asr_auth), function-ID catalog with call-shape notes, Whisper fallback, self-hosted Riva NIM setup

  • references/scoring-recipes.md — pure-Python WER/CER/KER/SER scoring functions with the canonical 4-step normalization

Files

LICENSE

Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.


                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

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.

Needs: Needs an API key

The author says: NVIDIA_API_KEY (required) for hosted ASR NIMs via NVCF. A NeMo-format manifest produced by /digital-health-clinical-asr-build (or an externally-provided manifest carrying the clinical-extension fields). All ASR call shapes and WER/CER/KER/SER scoring recipes are inlined — no sibling agent skill required.

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
Ben Randoing
Publisher
NVIDIA (Official)
Distributed by
NVIDIA
Source
NVIDIA/skills · skills/digital-health-clinical-asr-eval · 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 Ben Randoing or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download digital-health-clinical-asr-eval.zip