CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

segmenting-clinical-sections

Split a clinical note into canonical sections (Chief Complaint, HPI, PMH, Medications, Allergies, Assessment & Plan, etc.) before running OpenMed NER or de-identification, so section context sharpens downstream precision. Use when the user has a free-text note or discharge summary and wants section-aware processing, header detection, mapping headers to LOINC document-section codes, or per-section NER/de-id. Covers heuristic header detection, normalization to canonical section labels, LOINC/SecTag framing, and why a finding in PMH is historical while the same finding in A&P is active. Hand-off: feed each sectioned chunk into openmed.analyze_text / openmed.deidentify. Pairs before extracting-clinical-entities.

Quality

90%

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

82%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 well-built skill body: fully executable Quick start, a clear numbered workflow, valuable edge-case guidance, and honest external standards links. The main gaps are the absence of any validation/verification step in the workflow, mild duplication between the intro, description, and Quick start, and no separate reference file for the extensible header-synonym/LOINC mapping.

Suggestions

Add an explicit validation checkpoint to the Workflow (e.g., after chunking, verify that the concatenation of chunks covers the full note so preamble/inter-section text is not silently lost).

De-duplicate content: the intro paragraph restates the frontmatter description, and Workflow step 2 repeats the LOINC codes already present in SECTION_MAP — trim one of each.

Move the header-synonym map and LOINC table into a references/ file (e.g. references/section-map.md) so the map can grow data-driven without bloating SKILL.md, matching the skill's own advice to 'keep the synonym map data-driven'.

DimensionReasoningScore

Conciseness

The body is efficient and mostly free of padding — the section-semantics framing is skill-specific, not general knowledge — but the intro paragraph partially duplicates the frontmatter description and Workflow step 2 re-lists the LOINC codes already shown in the Quick start SECTION_MAP.

4 / 5

Actionability

The Quick start is copy-paste-ready executable Python with a concrete synthetic note, a header regex, a SECTION_MAP, and a complete chunking loop; the Hand-off section names the exact downstream APIs (openmed.analyze_text, openmed.deidentify).

5 / 5

Workflow Clarity

The 5-step Workflow (detect → normalize → chunk → process → reassemble) is clearly sequenced, but there is no explicit validation checkpoint (e.g., verifying no note text was dropped or that unknown headers were captured) and no feedback loop, which the top anchor requires.

4 / 5

Progressive Disclosure

No bundle files exist, and the ~125-line body is well-sectioned with a sensible Quick start; however everything is inlined, including the synonym/LOINC map that the skill itself advises keeping 'data-driven', which leaves minor organization headroom that a references file would absorb.

4 / 5

Total

17

/

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: concrete multi-action capability statement, explicit 'Use when...' trigger clause with natural terminology, and explicit sibling-skill disambiguation. The only weakness is slightly incomplete natural-keyword coverage (missing 'progress note', 'H&P', and colloquial phrasings like 'split the note by section').

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — splitting notes into canonical sections, heuristic header detection, normalization to canonical labels, LOINC document-section mapping, per-section NER/de-id, and explicit hand-off into openmed.analyze_text/openmed.deidentify — with no real gaps in coverage.

5 / 5

Completeness

It explicitly answers both 'what' (split into canonical sections, normalize headers, map to LOINC codes, per-section processing) and 'when' ('Use when the user has a free-text note or discharge summary and wants section-aware processing, header detection...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural keywords like 'clinical note', 'free-text note', 'discharge summary', 'header detection', and 'per-section NER/de-id' give good coverage with synonyms, but a few natural phrasings users would say ('progress note', 'H&P', 'split/segment the note') are missing, matching the good-coverage-with-gaps anchor rather than comprehensive.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — section segmentation as a pre-processing step — and explicitly disambiguates from sibling skills ('Pairs before extracting-clinical-entities', hand-off to deidentify), minimizing risk of triggering the wrong skill.

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/segmenting-clinical-sections/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.