CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

batch-processing-clinical-text

Run large-scale batch NER, PII extraction, or de-identification over many clinical notes on-device with OpenMed, with sharding, checkpointing, resumability, and append-only JSONL output. Use when the user needs to process a corpus or folder of notes, de-identify a dataset, run NER over thousands of documents, build a resumable batch pipeline, or stream results to JSONL without holding everything in memory. Covers process_batch / BatchProcessor / BatchItem / BatchResult, the operation= selector (analyze_text | extract_pii | deidentify), iter_process streaming, the PHI-safe on_progress callback, chunking long documents, and no-PHI logging. Produces a resumable batch runner over an OpenMed model.

75

Quality

94%

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

90%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 strong, lean body: executable code throughout, real API signatures, and a well-sequenced batch workflow with resume/reconcile feedback loops. The main gaps are a missing explicit output-validation step after a run and slightly heavy inlining of API reference material that could be split into a reference file.

Suggestions

Add a final validation step to the Workflow (e.g., after the run, verify the JSONL line count against total items and report result.success_rate / failed ids before hand-off), and have the resumable runner perform this check.

Move the bulk API-signature listing ('Real signatures (openmed/processing/batch.py)') into a references file (e.g., references/batch-api.md) and keep only the key entry points inline in SKILL.md.

Define or inline the 'write_jsonl(item)' helper used in the streaming example so the snippet runs as-is.

DimensionReasoningScore

Conciseness

The body is dense with project-specific information (real signatures from 'openmed/processing/batch.py', gotchas like 'Append-only is the checkpoint') and contains no explanations of concepts Claude already knows. Not a 4: every section adds non-obvious information and there is no padding to trim.

5 / 5

Actionability

Quick start, per-operation constructor snippets, the streaming example, and a complete copy-paste 'resumable batch runner' are all fully executable and cover the common cases (NER, PII, de-identify; resume; sharding). The only nit — the undefined 'write_jsonl(item)' helper in the streaming snippet — is resolved by the full runner later, so it does not drop to 4.

5 / 5

Workflow Clarity

The 7-step Workflow is clearly sequenced and, appropriate for a batch operation, includes verification: resume skips ids already in output ('Re-run to resume: skip ids already present'), failures are recorded via 'continue_on_error=True', and step 7 reconciles via 'result.get_failed_results()'. Not a 5: there is no explicit post-run output-integrity or success-rate validation step, leaving a minor validation gap.

4 / 5

Progressive Disclosure

No bundle files exist, and the ~170-line body is well-sectioned with a 'Standards & references' section pointing to real, one-level-deep sources (jsonlines.org, HHS, 'openmed/processing/batch.py'). Not a 5: the inlined API-signature listing and the full runner code could live in reference files to keep SKILL.md a leaner overview.

4 / 5

Total

18

/

20

Passed

Description

96%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 excellent description: concrete, comprehensive action list, explicit 'Use when...' triggers phrased the way users would actually talk, and a clearly stated API surface. Its only weakness is mild trigger overlap with single-document NER/PII/de-identification sibling skills before scale qualifiers disambiguate.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Run large-scale batch NER, PII extraction, or de-identification... with sharding, checkpointing, resumability, and append-only JSONL output' — with comprehensive coverage of the skill's capabilities. A score of 4 would require minor gaps in coverage, but the action list here spans operations, output format, and reliability mechanisms.

5 / 5

Completeness

It clearly answers 'what' ('Run large-scale batch NER, PII extraction, or de-identification... with OpenMed' plus the 'Covers...' sentence naming the API surface) and 'when' via an explicit 'Use when the user needs to...' clause with concrete trigger phrases. Not a 4: both what and when are explicit and specific, matching the anchor-5 example structure.

5 / 5

Trigger Term Quality

'process a corpus or folder of notes, de-identify a dataset, run NER over thousands of documents, build a resumable batch pipeline, or stream results to JSONL' gives comprehensive natural-phrase coverage with synonyms (corpus/dataset/folder/thousands of documents). Not a 4: even common variations like 'de-identify a dataset' and 'resumable pipeline' are present, matching how users would phrase batch-scale needs.

5 / 5

Distinctiveness Conflict Risk

The batch/corpus framing ('large-scale', 'corpus or folder of notes', 'thousands of documents', 'resumable batch pipeline') carves a clear niche distinct from single-note or serving skills. Not a 5: 'NER, PII extraction, or de-identification' mildly overlaps the single-document sibling skills until the scale triggers disambiguate, leaving minor overlap risk with closely related skills.

4 / 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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

maziyarpanahi/openmed

Path

skills/batch-processing-clinical-text/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.