CtrlK
BlogDocsLog inGet started
Tessl Logo

querying-terminology-service

Call a user-supplied FHIR terminology server ($validate-code, $expand, $lookup, $translate) to validate and expand clinical codes without bundling restricted vocabulary (SNOMED CT, RxNorm, LOINC, ICD-10) into OpenMed. Covers a thin local client, ValueSet $expand with filters/ECL, CodeSystem $lookup, ConceptMap $translate, and pointing at Ontoserver / HAPI / tx.fhir.org. Use as the grounding step for OpenMed coding skills — turn an OpenMed entity span into a validated coded CodeableConcept — when the user mentions terminology server, $validate-code, $expand, ValueSet, ECL, SNOMED/RxNorm/LOINC lookups, or code validation. Pairs adjacent.

76

Quality

95%

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

88%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 dense, executable skill body with an explicit validation gate and failure path, excellent domain-specific gotchas, and no filler. Its weaknesses are confined to the shorthand $lookup/$translate examples, a client class covering only one of the four operations, and an all-inline structure with no reference files.

Suggestions

Replace the shorthand "$lookup and $translate" block with full executable curl commands in the same style as the $validate-code and $expand examples.

Extend TxClient (or reference a bundled scripts/ client) with expand, lookup, and translate methods so all four advertised operations are copy-paste ready.

Consider moving the edge-case/detail material (e.g., ECL syntax, licensing constraints, server comparison) into a references/ file to keep SKILL.md as a lean overview.

DimensionReasoningScore

Conciseness

The body is lean throughout: it never explains what FHIR or terminology servers are, and every section (four operations, thin client, hand-off, edge cases) adds non-obvious domain knowledge such as ECL implicit value sets, pagination with count/offset, version pinning, and PHI/licensing constraints. Not 4: there is no identifiable passage that could be trimmed without losing operational value.

5 / 5

Actionability

The $validate-code and $expand curl examples and the TxClient.validate_code path are concrete and executable, but the "$lookup and $translate" section is shorthand ("POST [tx]/CodeSystem/$lookup { url=http://loinc.org, code=4548-4 }") rather than runnable code, and TxClient implements only validate_code despite the skill covering four operations. Mostly executable with minor gaps — anchor 4, not 5.

4 / 5

Workflow Clarity

The span-to-coded-concept flow is clearly sequenced (entity span + candidate code -> $validate-code -> only-if-valid coding/codeable_concept -> export) with an explicit validation gate in code ("Ground an OpenMed span only if the code validates") and a defined error-recovery path (emit text-only CodeableConcept and flag via OperationOutcomeIssue severity=warning). Validation checkpoint and failure handling are both explicit, matching the top anchor.

5 / 5

Progressive Disclosure

Sections are well-organized and clearly signaled (When to use, the four operations, hand-off, edge cases, standards links), but the entire ~160-line skill is inlined in SKILL.md with no bundle files (references/, scripts/, assets/ are absent). That is acceptable for a thin-client skill yet leaves bulk material like the full client or operation details inline rather than split out — good structure with minor organization gaps, anchor 4 rather than 5.

4 / 5

Total

18

/

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: concrete third-person capabilities, named server options, an explicit 'use when' clause with natural trigger terms, and a clearly differentiated FHIR-terminology niche. Nothing in it is vague, padded, or over-claimed.

DimensionReasoningScore

Specificity

"Call a user-supplied FHIR terminology server ($validate-code, $expand, $lookup, $translate) to validate and expand clinical codes" plus "ValueSet $expand with filters/ECL, CodeSystem $lookup, ConceptMap $translate" lists multiple specific concrete actions with comprehensive coverage of the four FHIR operations. It stays in third person ("Call", "Covers") and adds no padding.

5 / 5

Completeness

Both "what" (call a user-supplied terminology server; validate and expand clinical codes; thin local client; specific servers) and "when" ("Use as the grounding step ... when the user mentions terminology server, $validate-code, ...") are explicit with concrete trigger phrases. The 'when' clause is explicit and specific, matching the top anchor.

5 / 5

Trigger Term Quality

"terminology server, $validate-code, $expand, ValueSet, ECL, SNOMED/RxNorm/LOINC lookups, or code validation" covers the natural terms a user would say in this domain, including operation names, resource names, vocabulary names, and the plain-English phrase "code validation". Not below 5: no relevant synonym family is missing for this niche.

5 / 5

Distinctiveness Conflict Risk

The FHIR terminology niche ($validate-code/$expand/$lookup/$translate, Ontoserver/HAPI/tx.fhir.org, OpenMed grounding step) is highly distinctive with operation-name triggers unlikely to appear in other skills. Only "code validation" is mildly generic, but it is anchored in a strongly differentiated context — minimal conflict risk, so 5 rather than 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
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.