CtrlK
BlogDocsLog inGet started
Tessl Logo

running-zeroshot-ner

Extract arbitrary, custom entity types from clinical or biomedical text with no fine-tuning using OpenMed's GLiNER / GLiNER2 zero-shot support. Use when the user wants to define their own labels on the fly (e.g. Drug, Symptom, Device, Procedure), has no labelled data or a label set not covered by a fine-tuned model, or asks about openmed zero deps/index/infer, the gliner extra, or GLiNER. Pairs adjacent to extracting-clinical-entities (use that for high-accuracy fixed-schema NER) and loading-openmed-models.

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

Passed

No findings from the security scan

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-structured, highly actionable skill body with executable CLI and Python examples and a clear two-step workflow supported by edge-case guidance. It is slightly verbose in places and, lacking any bundle files, keeps all content inline rather than splitting into one-level-deep references.

Suggestions

Tighten the opening paragraph and 'When to use' section to avoid restating the zero-shot concept already implied by the description, improving conciseness toward the 5 anchor.

Consider extracting the CLI flag reference and Python API field listings into a short reference file (e.g. references/api.md) to better realize progressive disclosure's one-level-deep pattern.

Add an explicit validate→retry note for the index step (e.g. re-run `openmed zero index` after adding checkpoints) to give the workflow a clearer feedback loop.

DimensionReasoningScore

Conciseness

The body is efficient and assumes Claude's competence — it does not explain what NER or a checkpoint is — but has minor trimmable prose such as the restated 'When to use' framing and the opening paragraph that lightly re-explains the zero-shot concept, placing it just below the lean 5 anchor.

4 / 5

Actionability

Provides copy-paste ready, fully executable guidance across both interfaces — install commands, the two-step `openmed zero index` / `zero infer` CLI invocations with all flags, and a complete Python `NerRequest`/`infer` example plus index and label utilities — covering the common cases.

5 / 5

Workflow Clarity

The index-then-infer workflow is clearly numbered and sequenced, with a diagnostic checkpoint (`openmed zero deps`) and an edge-cases section covering failure modes, but there is no explicit validate→fix→retry feedback loop; this is a read-only inference task so the destructive/batch cap does not apply.

4 / 5

Progressive Disclosure

Well-organized into clearly headed sections (When to use, Install, workflow, Python API, labels, hand-off, edge cases, references) with external links clearly signaled and no nested references, but as a single ~146-line file with no bundle files it stops short of the ideal one-level-deep reference split described by the 5 anchor.

4 / 5

Total

17

/

20

Passed

Description

87%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, concrete description that clearly states what the skill does and when to use it, with explicit trigger phrases and good disambiguation from sibling skills. Its only weakness is that it describes one core action rather than a broad set of distinct capabilities.

DimensionReasoningScore

Specificity

Names the domain (clinical/biomedical NER) and a concrete action — 'Extract arbitrary, custom entity types ... with no fine-tuning using OpenMed's GLiNER / GLiNER2 zero-shot support' — with example labels, but the action is essentially singular rather than a list of multiple distinct actions, so it sits just below the 5 anchor.

4 / 5

Completeness

Explicitly answers both what ('Extract arbitrary, custom entity types ... using OpenMed's GLiNER / GLiNER2 zero-shot support') and when via a clear 'Use when the user wants to ...' clause with multiple concrete trigger phrases, matching the 5 anchor.

5 / 5

Trigger Term Quality

Strong natural keyword coverage — 'clinical or biomedical text', 'Drug, Symptom, Device, Procedure', 'labels on the fly', 'no labelled data', 'GLiNER', 'zero-shot', plus CLI terms 'openmed zero deps/index/infer' and 'gliner extra' — but the acronym 'NER' itself is not stated and coverage leans domain-jargon-heavy, keeping it below 5.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (zero-shot custom-label NER) and explicitly disambiguates from adjacent skills — 'Pairs adjacent to extracting-clinical-entities (use that for high-accuracy fixed-schema NER) and loading-openmed-models' — giving minimal conflict risk.

5 / 5

Total

18

/

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.