AGENT SKILL

dicom-metadata-extract

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
最近更新
2026-11-10
Stars
★ 1
Forks
0

01 前言 Front Matter

name
dicom-metadata-extract
license
Apache-2.0
metadata
{ "tags": [ "MedTech", "DICOM", "metadata" ], "author": "NVIDIA MedTech Team" }
description
Used for extracting selected metadata from one DICOM file and flagging standard-tag PHI presence. Not for anonymization or clinical use.
allowed-tools
Bash

02 资源文件 11

03 SKILL.md 正文

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.

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:

python -m eval_engine.run_trusted skills/dicom-metadata-extract \
  --fixture skills/dicom-metadata-extract/fixtures/sample_ct.dcm \
  --out runs/dicom_metadata_trusted

04 同仓库更多 Skills

YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

vercel-sandbox

Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

slack

Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include "check my Slack", "what channels have unreads", "send a message to", "search Slack for", "extract from Slack", "find who said", or any task requiring programmatic Slack interaction.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

electron

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

dogfood

Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

shadcn

Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", "switch to --preset", and for building a design system or applying a DESIGN.md or brand spec to shadcn/ui.

★ 1