CtrlK
BlogDocsLog inGet started
Tessl Logo

building-patient-timelines

Assemble a chronological patient timeline from OpenMed-extracted clinical events, normalizing dates and resolving relative time expressions on-device. Use when the user wants to build a patient timeline, order events from clinical notes, reconstruct a longitudinal history, plot a course of illness, or turn analyze_text/deidentify output into a sorted sequence of dated encounters, diagnoses, medications, and procedures. Covers temporal normalization (absolute and relative), event modeling toward FHIR Encounter/Condition.onsetDateTime, anchoring to a document/admission date, and handling undated or ambiguous events. Consumes OpenMed analyze_text entities plus clinical temporality (resolving-clinical-context); produces a sorted event list ready for charting or FHIR export.

70

Quality

85%

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

78%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.

Well-structured, executable, and concise content with a clear workflow and appropriate edge-case guidance. The main gap is that the worked example leans on a user-supplied resolve_event_date stub rather than providing a complete copy-paste resolver.

Suggestions

Provide a concrete resolve_event_date implementation (or a minimal version handling ISO dates, month-year, and anchor-relative cases) so the worked example is fully copy-paste runnable.

Tighten the Edge cases list by merging closely related items (e.g., time zones and 2-digit years) to reduce token weight without losing guidance.

Add an explicit validation/feedback checkpoint in the Workflow — e.g., after step 4, confirm every event is either dated or routed to the undated bucket before sorting — to strengthen the sequence's error-recovery loop.

DimensionReasoningScore

Conciseness

Lean and assumes Claude's competence — no padding explaining what FHIR, PHI, or ISO 8601 are — with every section earning its place; a few inline reference URLs and a long edge-cases list could be trimmed slightly.

4 / 5

Actionability

Quick start gives real executable openmed.analyze_text code with the actual output shape and a runnable to_timeline worked example, but resolve_event_date is left as 'your resolver' and references an undefined note variable, leaving minor gaps for full copy-paste readiness.

4 / 5

Workflow Clarity

A clearly sequenced 7-step workflow with de-identification first and explicit routing of undated events to an 'undated' bucket rather than silent drops; lacks an explicit validate-then-fix feedback loop, but the operation is analytic rather than destructive so the destructive cap does not apply.

4 / 5

Progressive Disclosure

No bundle files exist and none are needed; the ~130-line body is well-organized into clearly headed sections with external standards linked inline, satisfying the simple-skill exception for a self-contained skill.

5 / 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, specific description that answers both what and when with concrete trigger phrases and a well-scoped niche. Trigger-term coverage is good but could add a few more everyday synonyms to reach the top anchor.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Assemble a chronological patient timeline', 'normalizing dates and resolving relative time expressions', 'event modeling toward FHIR Encounter/Condition.onsetDateTime', 'anchoring to a document/admission date', 'handling undated or ambiguous events' — with comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

Explicitly states both what it does ('Assemble a chronological patient timeline... normalizing dates') and when to use it with concrete trigger phrases in a clear 'Use when the user wants to...' clause.

5 / 5

Trigger Term Quality

Includes natural user phrases ('build a patient timeline', 'order events from clinical notes', 'reconstruct a longitudinal history', 'plot a course of illness') plus technical terms, but lacks broader synonyms or file-extension equivalents typical of a 5.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche — turning extracted entities into a sorted timeline — and explicitly distinguishes itself from sibling skills like extracting-clinical-entities and resolving-clinical-context, minimizing wrong-skill triggers.

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.