CtrlK
BlogDocsLog inGet started
Tessl Logo

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

84%

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.

A concrete, executable, well-structured skill body that earns its length with genuinely useful reference data and a complete quick-start example. The main gap is the absence of explicit validation/verification checkpoints in the workflow for the destructive de-identification and header-scrubbing steps.

Suggestions

Add an explicit validation checkpoint after de-identification (e.g., verify openmed.deidentify removed expected PHI classes and that no PNAME/identifier tokens remain in the narrative before passing to analyze_text).

Add a verify step after header scrubbing (e.g., re-scan the de-identified dataset for residual (0010,xxxx) identifier tags and burned-in-pixel PHI) with a fix-and-retry loop before any image export.

Consider moving the DICOM tag table and the PS3.x standard links into a references/ file to keep the SKILL.md overview leaner and enable one-level-deep progressive disclosure.

DimensionReasoningScore

Conciseness

Mostly efficient and assumes Claude's competence (uses pydicom and openmed APIs directly without explaining libraries), with the tag table earning its place as non-obvious reference data; only minor over-explanation in the opening paragraph ('DICOM files carry far more than pixels') and the 'in one minute' framing could be trimmed.

4 / 5

Actionability

Provides a fully executable, copy-paste-ready Python example (dcmread, recursive sr_text extraction, openmed.deidentify and analyze_text calls) plus concrete workflow commands like stop_before_pixels=True that cover the common cases.

5 / 5

Workflow Clarity

The 5-step Workflow is clearly sequenced, but the destructive/batch operations (de-identification and header scrubbing of medical data) lack explicit validation checkpoints or validate->fix->retry feedback loops; per the rubric this caps workflow_clarity at 3 even though the sequence itself is well-ordered.

3 / 5

Progressive Disclosure

Well-organized single-file skill with clear sections (When to use, Quick start, Workflow, Hand-off, Edge cases, Standards & references) and clearly signaled external standard URLs; no bundle files exist, and the ~130-line content is reasonably self-contained, though the tag table and standards links could optionally be split into a reference file.

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, specific description that concretely states what the skill does and when to use it, with a helpful explicit trigger-keyword list. Minor improvement is possible by adding file extensions (.dcm) and a few more natural user phrases to the trigger list.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Reads DICOM file headers', 'pull study/series metadata', 'flags PHI carried in header tags', 'Hand SR/report text to openmed.deidentify and openmed.analyze_text', 'use pydicom to read tags' — giving comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

Clearly answers both 'what' (reads headers, pulls metadata/extracts SR text, flags PHI, hands off to deidentify/analyze) and 'when' via the explicit clause 'Use before OpenMed processing when ingesting imaging data ... and you need the report narrative de-identified and analyzed, plus a list of header tags that must be scrubbed', with concrete trigger phrases appended.

5 / 5

Trigger Term Quality

Provides an explicit trigger list (DICOM, pydicom, DICOM-SR, structured report, PatientName, study metadata, PACS, radiology report, PS3) with good natural-term coverage and synonyms, but omits file extensions like .dcm and a few natural phrases a user might say.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (DICOM/OpenMed ingestion + PHI flagging) with distinct, domain-specific triggers (pydicom, DICOM-SR, PatientName, PACS, PS3) that make triggering for an unrelated skill unlikely.

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
maziyarpanahi/openmed
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.