dicom-metadata-extract — Claude Code skill: what it does
Runs a pydicom script on a single DICOM file to extract metadata and detect standard PHI tags. Useful for quick agent inspections of medical imaging files.
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a claude-codeWhat dicom-metadata-extract does
Created by NVIDIA MedTech Team, this skill acts as an entrypoint for parsing single DICOM files. It invokes scripts/extract_metadata.py with an input dicom_path and prints JSON to stdout or writes it via --output. The resulting schema contains transfer_syntax, modality, study, series, and image structures, along with a phi_present flag and phi_tags_found.
The host agent can call the wrapper using run_script or execute it directly in Bash. Output verification relies on medagent.verifiers.dicom_metadata_quality_v1. You can also generate trusted runs using eval_engine.run_trusted against sample fixtures. Required Python dependencies are listed in skill_manifest.yaml.
Do not deploy this wrapper for clinical tasks or regulatory de-identification. Its inspection logic covers only a narrow subset of PS3.15 standard tags. Private tags and burnt-in pixel text remain unchecked.
What it helps with
- extract metadata from a single DICOM file into JSON
- inspect transfer syntax and modality attributes
- flag standard PHI tags from a PS3.15 subset
- verify run output with medagent.verifiers.dicom_metadata_quality_v1
Example prompts for the agent
- Run
scripts/extract_metadata.pyonsample_ct.dcmand write the output toresult.json. - Inspect
study.dcmfor PHI tags and show the extracted metadata JSON. - Execute
python -m eval_engine.run_trustedon skills/dicom-metadata-extract with the CT fixture.
How to install dicom-metadata-extract
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a claude-code2Manually: put the files in place
~/.claude/skills/dicom-metadata-extract/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/dicom-metadata-extract/
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a codex2Manually: put the files in place
.agents/skills/dicom-metadata-extract/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a cursor2Manually: put the files in place
.cursor/skills/dicom-metadata-extract/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install NVIDIA/skills dicom-metadata-extract2Manually: put the files in place
.github/skills/dicom-metadata-extract/SKILL.md1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a gemini-cli2Platform CLI
gemini skills install https://github.com/NVIDIA/skills --path skills/dicom-metadata-extractManually: put the files in place
.devin/skills/dicom-metadata-extract/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about dicom-metadata-extract
How do I install dicom-metadata-extract in Claude Code?
Run npx skills add NVIDIA/skills --skill dicom-metadata-extract -a claude-code. The file will be placed in ~/.claude/skills/dicom-metadata-extract/SKILL.md.
What does dicom-metadata-extract do?
It executes a Python script with pydicom to extract study, series, and modality attributes from one DICOM file while flagging basic PHI tags.
Can this skill be used for regulatory de-identification?
No. It inspects only a small subset of standard PS3.15 tags and does not check private tags or burnt-in pixel PHI.
Source text
SKILL.md · Apache-2.0
---
name: dicom-metadata-extract
description: Used for extracting selected metadata from one DICOM file and flagging standard-tag PHI presence. Not for anonymization or clinical use.
license: Apache-2.0
allowed-tools: Bash
permissions: [file_read, file_write, shell]
metadata:
author: 'NVIDIA MedTech Team'
tags:
- MedTech
- DICOM
- metadata
---
# DICOM Metadata Extract
## Purpose
- Used for extracting selected metadata from one DICOM file and flagging standard-tag PHI presence. Not for anonymization or clinical use.
- Use the wrapper exactly as documented; do not replace the upstream entrypoint with a handwritten implementation.
- Manifest I/O: inputs are `dicom_path`; outputs are `metadata_json`.
## Instructions
- Read `skill_manifest.yaml` before changing arguments, side effects, or validation gates.
- Run `scripts/extract_metadata.py` through the documented command below; keep outputs under a caller-provided run directory.
- If a host agent exposes `run_script`, use `run_script("scripts/extract_metadata.py", args=[...])`; otherwise run the Bash/Python command shown below.
- Check the emitted JSON and run `medagent.verifiers.dicom_metadata_quality_v1` on evidence packs before treating the run as reviewed evidence.
## Available Scripts
| Script | Purpose | Arguments |
|---|---|---|
| `scripts/extract_metadata.py` | Primary entrypoint declared by skill_manifest.yaml. | `PATH_TO_DICOM [--output OUT.json]` |
## Prerequisites
- Runtime requirements: Python packages listed in `runtime.side_effects.pip_packages`.
- Run commands from the repository root unless an existing section below says otherwise.
## Limitations
- Small PS3.15-inspired standard-tag subset only; not a complete Basic Application Confidentiality Profile implementation.
- Private tags not checked
- Burnt-in pixel PHI not detected
- Multi-frame handling minimal
- Not for clinical deployment, regulatory de-identification, autonomous diagnosis, patient-facing use.
## Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| Missing dependency or import error | Runtime package drift from `skill_manifest.yaml`. | Install the packages declared in the manifest or use the documented setup command. |
| Empty or schema-invalid output | Wrong input path, unsupported modality, or upstream failure. | Re-run with a known fixture and inspect the wrapper JSON plus stderr. |
| Validation gate failure | Output violated a declared engineering invariant. | Keep the failed evidence pack and use the gate message to repair inputs or wrapper code. |
Reads one DICOM file with pydicom and emits JSON on stdout.
```bash
python scripts/extract_metadata.py PATH_TO_DICOM
python scripts/extract_metadata.py PATH_TO_DICOM --output result.json
```
Output includes `transfer_syntax`, `modality`, grouped study/series/image
metadata, `phi_present`, and `phi_tags_found`.
Use this as the smallest end-to-end example of a Medical AI Skills skill. Do not use
it for anonymization, private-tag review, pixel PHI detection, or clinical
interpretation.
For second-pass evidence review, generate a trusted run:
```bash
python -m eval_engine.run_trusted skills/dicom-metadata-extract \
--fixture skills/dicom-metadata-extract/fixtures/sample_ct.dcm \
--out runs/dicom_metadata_trusted
```
© NVIDIA MedTech Team · Apache-2.0 · NVIDIA/skills