dicom-metadata-extract — скилл для Claude Code: что делает
Скилл запускает скрипт на pydicom для чтения одного DICOM-файла и проверки стандартных тегов PHI. Пригодится при первичной проверке медицинских метаданных в агенте.
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a claude-codeЧто делает dicom-metadata-extract
Скилл разработан NVIDIA MedTech Team для разбора одного медицинского файла. Внутри вызывается скрипт scripts/extract_metadata.py. Он читает входной dicom_path через pydicom и возвращает JSON в stdout или файл через --output. На выходе формируются transfer_syntax, modality, сгруппированные метаданные исследования, серии и снимка, а также флаг phi_present и список найденных тегов phi_tags_found.
Перед утверждением результатов применяется верификатор medagent.verifiers.dicom_metadata_quality_v1. Тестовые запуски можно выполнять через eval_engine.run_trusted с готовыми фикстурами вроде sample_ct.dcm. Список зависимостей Python задаётся в манифесте skill_manifest.yaml.
Инструмент строго ограничен исследовательской разработкой. Для деобезличивания по регуляторным стандартам или клинической практики он не годится. Проверка персональных данных опирается на урезанный профиль стандарта PS3.15: приватные теги и впечённый в пиксели текст скрипт пропускает.
Какие задачи решает
- извлечь метаданные одного DICOM-файла в JSON
- определить модальность и синтаксис передачи снимка
- выявить присутствие стандартных тегов PHI
- проверить корректность запуска через medagent.verifiers.dicom_metadata_quality_v1
Примеры запросов агенту
- Запусти
scripts/extract_metadata.pyдля файлаstudy.dcmи сохрани результат вmeta.json. - Проверь DICOM-файл
sample_ct.dcmна наличие тегов PHI и выведи JSON. - Выполни доверенный запуск для dicom-metadata-extract через
eval_engine.run_trustedс фикстурой CT.
Как установить dicom-metadata-extract
1Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a claude-code2Вручную: положить файлы
~/.claude/skills/dicom-metadata-extract/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/dicom-metadata-extract/
1Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a codex2Вручную: положить файлы
.agents/skills/dicom-metadata-extract/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a cursor2Вручную: положить файлы
.cursor/skills/dicom-metadata-extract/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install NVIDIA/skills dicom-metadata-extract2Вручную: положить файлы
.github/skills/dicom-metadata-extract/SKILL.md1Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a gemini-cli2Командой платформы
gemini skills install https://github.com/NVIDIA/skills --path skills/dicom-metadata-extractВручную: положить файлы
.devin/skills/dicom-metadata-extract/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill dicom-metadata-extract -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о dicom-metadata-extract
Как установить dicom-metadata-extract в Claude Code?
Выполните команду npx skills add NVIDIA/skills --skill dicom-metadata-extract -a claude-code. Скилл загрузится в путь ~/.claude/skills/dicom-metadata-extract/SKILL.md.
Что делает dicom-metadata-extract?
Он запускает Python-скрипт с библиотекой pydicom, извлекает модальность и атрибуты исследования из одного DICOM-файла, а также отмечает обнаруженные стандартные теги PHI.
Можно ли использовать этот скилл для клинической анонимизации данных?
Нет. Скрипт проверяет только ограниченную выборку стандартных тегов PS3.15, игнорируя приватные теги и текст в самих пикселях.
Исходный текст
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