CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

extracting-dicom-metadata

Reads DICOM file headers and DICOM-SR (Structured Report) content to pull study/series metadata and embedded report text, and flags PHI carried in header tags. Use before OpenMed processing when ingesting imaging data (CT/MR/CR/US, radiology SR) and you need the report narrative de-identified and analyzed, plus a list of header tags that must be scrubbed. Hand SR/report text to openmed.deidentify and openmed.analyze_text; use pydicom to read tags. Trigger keywords: DICOM, pydicom, DICOM-SR, structured report, PatientName, study metadata, PACS, radiology report, PS3.

69

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

76%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with executable pydicom/openmed code and valuable domain specifics (PHI tags, PS3.15 profiles, burned-in-pixel PHI), but the workflow lacks validation checkpoints for a PHI-sensitive batch pipeline, and a couple of sections re-teach DICOM basics Claude already knows. Well-structured for a single-file skill, with room to trim and to split reference material out.

Suggestions

Add explicit validation checkpoints to the workflow: after de-identification, re-scan the narrative and scrubbed headers for residual PHI (and fail/re-run if found) before any export step — this batch, PHI-sensitive pipeline currently has no verify step.

Trim the introductory paragraph and the tag/VR primer ('DICOM headers in one minute'); keep the PHI tag table itself, which is the genuinely non-obvious content, and drop the explanation of concepts Claude already knows.

Consider moving the PHI tag table and the edge-cases list into a references/ file (e.g. PHI_TAGS.md) so SKILL.md stays a lean overview with a well-signaled, one-level-deep reference.

DimensionReasoningScore

Conciseness

The body is dense with genuinely useful domain knowledge (the PHI tag table, PS3.15 de-identification profile, SR value-type gotchas), but the intro paragraph ('DICOM… carry far more than pixels: a header of tagged attributes') and the VR primer ('Every attribute has a tag… a VR (value representation, e.g. PN person name, DA date, UI UID)') re-explain concepts Claude already knows — minor instances of over-explanation that could be trimmed, so 4 rather than 5.

4 / 5

Actionability

The Quick start is fully executable, copy-paste-ready Python: pydicom header read, a recursive sr_text() walker for the SR content tree, PHI tag presence check, and the openmed.deidentify → openmed.analyze_text hand-off covering the common ingestion case. Workflow steps add concrete flags like stop_before_pixels=True.

5 / 5

Workflow Clarity

The 5-step workflow is clearly sequenced (read → walk SR tree → inventory PHI → de-identify/analyze → scrub header) but this is batch ingestion of PHI-bearing files with no validation checkpoints — no step verifies that de-identified output is free of residual PHI or that the header scrub succeeded before export. Per the batch/destructive cap, this cannot score above 3; the guardrails present ('never echo the values into logs', 'write de-identified copies, never overwrite originals') are safety notes rather than validate→fix→retry feedback loops.

3 / 5

Progressive Disclosure

Well-organized single-file skill with clear section headers and no nested references, but at ~150 lines with no bundle files (no references/ or scripts/ exist), material like the PHI tag table and the edge-case list could arguably live in a reference file to keep SKILL.md a lean overview — good structure with minor organization gaps, and the under-50-line simple-skill exception does not apply.

4 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, explicit what-and-when structure, concrete tool-level actions, and domain-natural trigger keywords. The only gap is a few missing synonyms and the '.dcm' file extension among the trigger terms.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Reads DICOM file headers and DICOM-SR (Structured Report) content to pull study/series metadata and embedded report text', 'flags PHI carried in header tags', 'Hand SR/report text to openmed.deidentify and openmed.analyze_text; use pydicom to read tags' — with named tools and comprehensive coverage, matching the top anchor rather than having minor gaps.

5 / 5

Completeness

It explicitly answers both 'what' (read headers, extract SR report text, flag PHI tags, hand off to openmed.deidentify/analyze_text) and 'when' ('Use before OpenMed processing when ingesting imaging data (CT/MR/CR/US, radiology SR) and you need the report narrative de-identified and analyzed'), matching the top anchor with concrete trigger guidance.

5 / 5

Trigger Term Quality

Trigger keywords 'DICOM, pydicom, DICOM-SR, structured report, PatientName, study metadata, PACS, radiology report, PS3' are natural terms users in this domain would say, but common variations are missing — notably the '.dcm' file extension and synonyms like 'medical imaging' — so it fits 'good keyword coverage; a few natural terms missing' rather than comprehensive.

4 / 5

Distinctiveness Conflict Risk

A clear niche (DICOM metadata/report extraction feeding OpenMed de-identification) with distinct triggers (pydicom, DICOM-SR, PACS, PatientName) that are unlikely to fire for unrelated skills; minimal conflict risk.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

maziyarpanahi/openmed

Path

skills/extracting-dicom-metadata/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.