CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

defining-cohort-phenotypes

Authors computable phenotype and cohort definitions in the OHDSI ATLAS / CIRCE style over the OMOP CDM, combining standard concept sets with NLP-derived features that OpenMed extracts. Use when the user wants to define a patient cohort, write a computable phenotype, reuse PheKB or OHDSI Phenotype Library logic, build concept sets, or augment code-based criteria with text features. Trigger keywords: phenotype, cohort definition, OHDSI, ATLAS, CIRCE, OMOP CDM, concept set, PheKB, Phenotype Library, eMERGE, computable phenotype. Pairs adjacent to OpenMed: NLP features from openmed.analyze_text augment code-based phenotypes for entities that are poorly captured by structured codes. OMOP CDM and OHDSI tools are open source; restricted vocabularies (SNOMED, CPT) are user-supplied.

72

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

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-crafted, expert-level skill body: tight edge-case guidance, a realistic abridged CIRCE example, and a sequenced workflow with a validation step. The main gaps are executability of the NLP-feature materialization step and of the validation tooling, plus mild repetition of frontmatter context.

Suggestions

Replace the comment placeholders in the NLP augmentation example with executable code or a concrete SQL insert showing how an extracted entity (e.g. 'Current smoker' -> SNOMED concept) becomes an OBSERVATION row that a CIRCE ConceptSet can reference.

Make the validation step concrete: name the actual command or path (e.g. ATLAS/WebAPI endpoint or circe-be invocation) for generating SQL and running PheValuator-style checks, instead of 'generate SQL, run on a database'.

Trim the opening computable-phenotype definition and the open-source/licensing paragraph (already stated in the frontmatter description), and consider moving a fuller CIRCE JSON schema or validation detail into a references/ file.

DimensionReasoningScore

Conciseness

The body is dense and assumes domain competence (the CIRCE JSON is 'abridged', edge cases are stated as terse imperatives), but a few tokens could be trimmed: the opening definition of 'computable phenotype', the eMERGE/PheKB historical comparison ("This mirrors how eMERGE and PheKB phenotypes mix..."), and the open-source/licensing paragraph repeat frontmatter statements. Anchor 4 ('minor instances of over-explanation that could be trimmed') fits better than 5, where every token would earn its place.

4 / 5

Actionability

Concrete, realistic CIRCE JSON with real concept IDs and an executable `openmed.analyze_text` call anchor the guidance, but the NLP-to-OMOP materialization steps are comment placeholders rather than code ("# 2) Write a derived OBSERVATION ... e.g. Observation: ..."), and SQL generation/validation is described only at command-less, high level ("generate SQL, run on a (synthetic/de-identified) database"). That is 'mostly executable with minor gaps' (anchor 4), not fully copy-paste ready (anchor 5) nor pseudocode-dominant (anchor 3).

4 / 5

Workflow Clarity

The six-step workflow has a clear sequence and an explicit validate step with an iterate loop ("Validate against OMOP CDM: generate SQL, run on a (synthetic/de-identified) database, review cohort counts; iterate with PheValuator-style checks"), and this is analytics (non-destructive) so the batch/destruction cap does not apply. However, the validation checkpoints lack executable commands (no WebAPI endpoint, script, or tool invocation), matching anchor 4 ('most checkpoints present; minor validation gaps') rather than anchor 5's fully explicit validate->fix->retry loop.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and the ~137-line body is well-sectioned with an appropriately abridged inline JSON example and a one-level 'Standards & references' list of external URLs. Structure is good (anchor 4), but everything lives inline in SKILL.md — bulkier material (a fuller CIRCE schema reference, validation/PheValuator detail) could be split into a references/ file, so it falls short of anchor 5's 'content appropriately split' with well-signaled file references.

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.

An exemplary description: third-person, concrete action list, explicit 'Use when...' clause, and a comprehensive natural-keyword list including synonyms. The only nit is mild trailing context (open-source/licensing notes) that adds length without triggering value, but it does not obscure the capability statement.

DimensionReasoningScore

Specificity

The description lists multiple concrete, third-person actions — "Authors computable phenotype and cohort definitions", "combining standard concept sets with NLP-derived features", "reuse PheKB or OHDSI Phenotype Library logic", "build concept sets", "augment code-based criteria with text features" — with comprehensive coverage of the skill's capabilities. Anti-drift check: it does not merely name the domain (anchor 3) or leave minor gaps (anchor 4); the action list is complete and specific.

5 / 5

Completeness

It clearly answers 'what' (first sentence: authors computable phenotype/cohort definitions combining concept sets with NLP features) and 'when' ("Use when the user wants to define a patient cohort, write a computable phenotype, reuse PheKB or OHDSI Phenotype Library logic, build concept sets, or augment code-based criteria with text features") with concrete trigger phrases. Anti-drift check: both parts are explicit, matching the anchor-5 example's structure; the 'when' clause is not merely present but specific.

5 / 5

Trigger Term Quality

An explicit, natural keyword list ("phenotype, cohort definition, OHDSI, ATLAS, CIRCE, OMOP CDM, concept set, PheKB, Phenotype Library, eMERGE, computable phenotype") covers the terms a user working in this domain would actually say, including synonyms (PheKB / Phenotype Library / eMERGE, cohort definition / computable phenotype). Anti-drift check: coverage goes beyond 'good with a few missing' (anchor 4); no natural variation is obviously absent for this domain.

5 / 5

Distinctiveness Conflict Risk

The niche is clear (OHDSI/OMOP cohort phenotyping) and triggers like ATLAS, CIRCE, PheKB, and eMERGE are essentially unique to this domain, minimizing wrong-skill triggering. It even delimits its boundary against the adjacent OpenMed NLP skill ("Pairs adjacent to OpenMed"). Anti-drift check: minor overlap with generic NLP/coding skills exists but is explicitly fenced, keeping this above anchor 4.

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

maziyarpanahi/openmed

Path

skills/defining-cohort-phenotypes/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.