CtrlK
BlogDocsLog inGet started
Tessl Logo

search-pubmed

An intelligent tool for precision medical literature search using PubMed's E-utilities API.

43

Quality

54%

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

Fix and improve this skill with Tessl

tessl review fix ./scientific-skills/Other/search-pubmed/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

35%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.

The body is dominated by generic one-size-fits-all template sections that carry almost no skill-specific information, and its few concrete claims are wrong for the bundled script (no `--help` flag, no result file — the script prints JSON with a count and titles). The structural skeleton is passable, but the content neither teaches the actual usage nor survives verification against `scripts/search_pubmed.py`.

Suggestions

Replace the templated sections (When to Use, Required Inputs, Output Contract, Validation and Safety Rules, etc.) with skill-specific guidance: show the real invocation `python scripts/search_pubmed.py "your search query"` and document that it prints `{"total": <count>, "text": <titles>}` and silently returns `{"total": 0, "text": ""}` on network failure.

Fix the Quick Validation section: the script has no `--help` flag (no argparse) and writes no `search_pubmed_result.md` file, so the current command and expected-output format are both incorrect.

Fix the broken reference in "## scripts" ("see [scripts/search_pubmed.py].") to a proper markdown link like `see [scripts/search_pubmed.py](scripts/search_pubmed.py)`, and remove the "Description" section that duplicates the frontmatter.

DimensionReasoningScore

Conciseness

Roughly two-thirds of the body is generic template boilerplate that applies to any skill ("Use this skill when the request matches its documented task boundary", "Validate the request against the skill boundary and confirm all required inputs are present"), plus a "Description" section that duplicates the frontmatter. It is not score 1 because it never explains domain concepts Claude already knows; it is not score 3 because the padding is pervasive across nine sections, not a minor instance.

2 / 5

Actionability

Concrete elements exist (script path `scripts/search_pubmed.py`, `python -m py_compile scripts/search_pubmed.py`), but the actual execution step is never shown — no example like `python scripts/search_pubmed.py "aspirin AND stroke"`, no documentation that the query is passed as argv[1]. Worse, the documented `python scripts/search_pubmed.py --help` is wrong (the script has no argparse and would treat `--help` as a search query), and the "Expected output format" ("Result file: search_pubmed_result.md...") is fabricated — the script prints `{"total": ..., "text": ...}` to stdout and writes no file. It is not score 3 because the key specifics to execute are missing and the documented commands contradict the script; it is not score 1 because real file paths and one working command are given.

2 / 5

Workflow Clarity

A sequenced "Recommended Workflow" (4 steps) and a "Quick Validation" section provide a sequence and an attempted checkpoint, but the steps are generic template text and the validation checkpoint is factually wrong for this script (no `--help` flag, no result file — it prints JSON). It is not score 4 because the checkpoints are not concrete, correct commands tied to steps; it is not score 2 because a sequence is clearly present and validation is attempted rather than absent.

3 / 5

Progressive Disclosure

The body is organized into sections and points to the real bundle file `scripts/search_pubmed.py` (verified to exist), but the pointer in "## scripts" is a bare bracket reference ("see [scripts/search_pubmed.py].") with no link target, the "Description" section duplicates the frontmatter, and the "## scripts" heading is lowercase and disorganized. It is not score 4 because references are not clearly signaled and organization gaps are visible; it is not score 2 because the structure is reasonable and the bundle file is genuinely referenced.

3 / 5

Total

10

/

20

Passed

Description

53%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.

The description identifies a concrete, distinct niche (PubMed via E-utilities) but relies on buzzwords ("intelligent", "precision"), names only one action, and completely lacks a "Use when..." trigger clause. It functions adequately as a domain label but underperforms as a routing description.

Suggestions

Add an explicit trigger clause, e.g., "Use when the user needs article counts or references from PubMed, e.g., for systematic reviews, meta-analyses, or evidence-based research."

Replace buzzwords ("intelligent", "precision") with concrete actions and outputs, e.g., "Returns total counts of matching articles and their titles/IDs via the E-utilities esearch/esummary endpoints."

Include natural synonyms users would say — "biomedical papers", "articles", "abstracts", "medical citations" — to improve trigger term coverage.

DimensionReasoningScore

Specificity

The description names a concrete domain ("medical literature search using PubMed's E-utilities API") and one concrete action (search), but adds buzzwords like "An intelligent tool" and "precision" instead of more specific capabilities. It is not score 2 because PubMed's E-utilities is a concrete, specific surface rather than generic language; it is not score 4 because only a single action is named with no coverage of what the search returns or how it is used.

3 / 5

Completeness

It has a clear "what" (search medical literature via PubMed's E-utilities API) but no "Use when..." or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. It is not score 4 because the "when" is entirely absent rather than merely under-specified; it is not score 2 because the "what" is clear, not vague.

3 / 5

Trigger Term Quality

"PubMed" and "medical literature search" are natural terms a user would say, but common variations and synonyms are missing (e.g., "articles", "papers", "biomedical references", "systematic review", "abstracts"). It is not score 4 because keyword coverage is thin beyond the single term "PubMed"; it is not score 2 because PubMed is a strong, naturally-spoken trigger rather than generic filler.

3 / 5

Distinctiveness Conflict Risk

PubMed's E-utilities API is a clear niche with minimal conflict risk against unrelated skills. It is not score 5 because without any trigger guidance it could still overlap with other literature-search or general research skills; it is not score 3 because the named API and domain are specific enough to mostly distinguish it.

4 / 5

Total

13

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
aipoch/medical-research-skills
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.