CtrlK
BlogDocsLog inGet started
Tessl Logo

parsing-trial-eligibility

Parses free-text clinical-trial eligibility criteria into structured inclusion and exclusion logic, then matches them against patient facts that OpenMed extracted. Use when the user wants to turn a ClinicalTrials.gov eligibility block into machine-readable rules, screen a synthetic patient for trial fit, or explain why a patient does or does not meet criteria. Trigger keywords: eligibility criteria, inclusion, exclusion, trial matching, patient screening, criteria parsing, eligibilityModule, age/sex gates. Pairs after OpenMed and after searching-clinicaltrials: consume the eligibilityModule text from a study, structure it, and match against conditions, medications, labs, and demographics from openmed.analyze_text. Decision-support only — never autonomous enrollment.

72

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

75%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-structured, actionable skill body with executable code, a clear sequenced workflow, and strong domain-specific edge-case guidance. It is efficient and well-organized, with only minor gaps in code coverage and an implicit rather than explicit feedback loop.

Suggestions

Extend the evaluate() function to handle age and medication criteria in code, so all Criterion kinds shown in the dataclass are covered by executable logic rather than prose.

Add an explicit feedback loop in the Workflow (e.g., 'if unknown facts block a criterion, request/derive the missing data and re-evaluate') to turn the implicit unknown-surfacing into a retry checkpoint.

Tighten the opening paragraph and a few framing sentences (e.g., 'The typed gates are deterministic — apply them first') to reduce token overhead without losing the domain specifics.

DimensionReasoningScore

Conciseness

The body is efficient and assumes competence — domain-specific prose (three-valued logic, negation/temporality, units) earns its place — but a few framing sentences and the restated opening could be trimmed slightly. It sits above the 'mostly efficient' anchor but is not maximally lean.

4 / 5

Actionability

Provides concrete, executable Python (split_criteria, the Criterion dataclass, and the evaluate function) that is copy-paste ready, but the evaluate function omits age and medication handling shown only in prose, leaving minor gaps versus full coverage.

4 / 5

Workflow Clarity

A clear five-step Workflow (typed gates → split → structure → evaluate → report) with explicit surfacing of unknowns as a verification checkpoint, but no explicit re-evaluation feedback loop for resolving unknown facts. Not a destructive/batch operation, so no cap applies.

4 / 5

Progressive Disclosure

Well-organized into clear sections (When to use, Quick start, Matching, Workflow, Hand-off, Edge cases, Standards & references) with no nested references and easy navigation; no bundle files exist so everything is appropriately inline, though the medium-length single file does not exercise splitting to deeper materials.

4 / 5

Total

16

/

20

Passed

Description

100%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, third-person description that concretely states both capability and trigger conditions, with an explicit keyword list and clear pairing guidance. Voice is correctly third person and there is no fluff or over-claiming.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Parses free-text clinical-trial eligibility criteria into structured inclusion and exclusion logic', 'matches them against patient facts', 'screen a synthetic patient for trial fit', 'explain why a patient does or does not meet criteria' — giving comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

Clearly states what the skill does (parse eligibility into structured logic and match against patient facts) and explicitly when to use it ('Use when the user wants to turn a ClinicalTrials.gov eligibility block into machine-readable rules, screen a synthetic patient... or explain why...'), with concrete trigger phrases.

5 / 5

Trigger Term Quality

Provides an explicit, comprehensive trigger-keyword list ('eligibility criteria, inclusion, exclusion, trial matching, patient screening, criteria parsing, eligibilityModule, age/sex gates') covering natural phrases a user would actually say alongside domain synonyms.

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (clinical-trial eligibility parsing/matching), explicitly pairs 'after OpenMed and after searching-clinicaltrials', and uses domain-specific triggers, minimizing overlap with other skills.

5 / 5

Total

20

/

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.