CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

eqtl-catalogue-skill

Submit compact eQTL Catalogue API requests for association retrieval and documented metadata endpoints. Use when a user wants concise public eQTL Catalogue summaries

68

Quality

86%

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

100%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 a lean, fully executable instruction sheet: exact base URL, a copy-paste invocation, three complete request patterns, an explicit I/O contract, and practical guidance for a fragile upstream API, all verified against the actual bundled script. It is a strong example of a compact, single-purpose skill with no padding.

DimensionReasoningScore

Conciseness

The ~37-line body is all operational guidance — base URL, endpoint preferences, stdin JSON contract, output fields, one runnable command — with no explanation of concepts Claude already knows (no "what is a REST API" padding). Every bullet carries non-inferable, fragile-upstream knowledge; anchor 5 fits, and anchor 4's "minor instances of over-explanation" don't apply.

5 / 5

Actionability

The Execution section gives a copy-paste-ready bash command and the Input section lists three complete, executable JSON request objects covering the common cases (list studies, association by gene+rsid, legacy per-gene associations), plus an explicit required/optional field contract. This matches anchor 5; nothing is pseudocode or high-level.

5 / 5

Workflow Clarity

This is a simple single-purpose skill (one action: echo a JSON request into scripts/rest_request.py) and that action is unambiguous with the exact command shown, so the simple-skill exception applies. Checkpoints are also present for the fragile upstream: "surface upstream 400/500 errors verbatim when they occur", "Failure returns ok=false with error.code and error.message", and "Re-run requests in long conversations" as a retry loop. The destructive/batch cap does not apply — the operation is read-only retrieval bounded by max_items.

5 / 5

Progressive Disclosure

Under 50 lines with well-organized sections (Operating rules, Execution behavior, Input, Output, Execution, References) and a single one-level reference to scripts/rest_request.py, which exists in the bundle and whose interface matches the body's claims (variant_id→snp mirroring, filter backfills, save_raw/record_path). The References section explicitly bounds the import package, so the structure guideline for short skills with no external references is fully met.

5 / 5

Total

20

/

20

Passed

Description

66%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 is concise, in third person, and names a distinct niche with both a what and a when clause. Its weakness is thin keyword coverage and only two named capabilities, leaving gaps in natural trigger phrases users would use for eQTL lookups.

Suggestions

Add one or two more concrete capabilities to the what-clause (e.g., fetching associations by gene or variant, listing studies) to move specificity beyond two actions.

Include natural trigger synonyms users would actually say — e.g., "eQTL", "QTL", "gene-expression associations", "variant", or "SNP" — to broaden trigger-term coverage.

Expand the when-clause to cover the dominant use case, e.g., "Use when a user asks for eQTL associations for a gene or variant, or wants eQTL Catalogue study or metadata summaries."

DimensionReasoningScore

Specificity

"Submit compact eQTL Catalogue API requests for association retrieval and documented metadata endpoints" names the domain and two concrete actions (association retrieval, metadata endpoints), but stops there — matching anchor 3 rather than 4, which requires several specific actions with only minor coverage gaps.

3 / 5

Completeness

Both parts are present: the "what" ("Submit compact eQTL Catalogue API requests for association retrieval and documented metadata endpoints") and the "when" ("Use when a user wants concise public eQTL Catalogue summaries"). The "when" is explicit but narrow — it doesn't mention retrieving associations by gene or variant, the most common use — so it matches anchor 4 (when could be more specific) rather than 5's concrete multi-phrase triggers, and clearly not 3 since the when-clause is explicit, not weakly implied.

4 / 5

Trigger Term Quality

Relevant keywords like "eQTL Catalogue", "association", and "summaries" are present, but common variations users would naturally say are missing — "eQTL", "QTL", "gene expression", "variant/SNP", "genotype". This fits anchor 3 (some relevant keywords, missing common variations and synonyms) better than 4's "a few natural terms missing", since the omission is broad.

3 / 5

Distinctiveness Conflict Risk

"eQTL Catalogue" names a specific EBI resource with a distinct niche (public eQTL association data); no other plausible skill shares these triggers, matching anchor 5 (clear niche, distinct triggers, minimal conflict risk).

5 / 5

Total

15

/

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

openai/plugins

Path

plugins/life-science-research/skills/eqtl-catalogue-skill/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.