CtrlK
BlogDocsLog inGet started
Tessl Logo

chembl-database

Query ChEMBL bioactive molecules and drug discovery data. Search compounds by structure/properties, retrieve bioactivity data (IC50, Ki), find inhibitors, perform SAR studies, for medicinal chemistry.

58

Quality

68%

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

Fix and improve this skill with Tessl

tessl review fix ./backend/cli/skills/databases/chembl-database/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 examples, clear workflows, and genuine, accurately-described bundle files one level deep. It is let down by verbosity — duplicated query patterns between sections and reference-file content inlined in the body — and by workflows that lack explicit validation checkpoints.

Suggestions

Cut 'Common Use Cases' or replace it with one-line pointers to scripts/example_queries.py, since its examples repeat 'Core Capabilities' patterns (e.g. kinase inhibitor filtering) almost verbatim.

Move the 'Filter Operators' listing (and ideally 'Performance Optimization') to references/api_reference.md, keeping only the two or three most-used operators inline.

Add cheap validation checkpoints to workflows, e.g. checking that a target-name search returned results before using targets[0], and guarding empty activity lists before exporting to a DataFrame.

DimensionReasoningScore

Conciseness

Most content is API-specific and non-redundant with Claude's prior knowledge, but it could be tightened: 'Common Use Cases' re-demonstrates patterns already shown verbatim in 'Core Capabilities' (e.g. the kinase target filter), and the 'Filter Operators' listing duplicates the reference file, padding the token budget.

3 / 5

Actionability

Mostly executable, copy-paste-ready snippets with real IDs (CHEMBL25, CHEMBL203) and real SMILES, covering the common query cases. Minor gaps: placeholder inputs like smiles='query_smiles' and 'CHEMBL1234', and no guidance on handling empty result sets.

4 / 5

Workflow Clarity

Three workflows are clearly sequenced with concrete code per step. Validation is implicit at best (e.g. targets[0] is indexed without checking the search returned results, and per-compound activity loops lack error handling), which are minor checkpoint gaps rather than absent sequencing.

4 / 5

Progressive Disclosure

The bundle is real and one level deep: both referenced files (scripts/example_queries.py, references/api_reference.md) exist and their in-body descriptions accurately summarize them, and the body's function list matches the script's actual functions. Minor organization gaps: the Filter Operators and Performance sections duplicate content that belongs in the reference, keeping the body long.

4 / 5

Total

15

/

20

Passed

Description

70%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, specific description that names the database and several concrete capabilities with natural domain trigger terms and low conflict risk. Its main weakness is the missing 'Use when...' trigger clause, which caps completeness at 3 despite a clear 'what'.

Suggestions

Append an explicit trigger clause, e.g. 'Use when the user mentions ChEMBL, bioactivity data, finding inhibitors or ligands for a target, or SAR/medicinal chemistry research.'

Add the missing capability keywords to broaden triggering: target lookups, approved-drug information, and similarity/substructure searches.

Mention users asking for compound properties or drug-likeness data (MW, LogP) to cover cheminformatics-style requests.

DimensionReasoningScore

Specificity

Lists several concrete actions ('Search compounds by structure/properties', 'retrieve bioactivity data (IC50, Ki)', 'find inhibitors', 'perform SAR studies') in third person, but omits target queries, drug lookups, and similarity/substructure searches that the skill actually supports, so coverage is not comprehensive.

4 / 5

Completeness

The 'what' is clearly stated, but there is no 'Use when...' clause or equivalent explicit trigger guidance — 'for medicinal chemistry' only weakly implies an audience — so completeness is capped at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Good natural domain terms users would say: 'ChEMBL', 'bioactive molecules', 'IC50', 'Ki', 'inhibitors', 'SAR studies', 'medicinal chemistry', 'drug discovery'. A few common variations are missing, e.g. 'target', 'ligand', 'kinase', 'potency', so it falls short of the comprehensive-synonym anchor.

4 / 5

Distinctiveness Conflict Risk

Names a specific database (ChEMBL) with domain-specific trigger terms (IC50, SAR, medicinal chemistry), giving it a clear niche with minimal overlap risk against generic data or document skills.

5 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
synthetic-sciences/openscience
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.