CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pubchem-database

Query PubChem via PUG-REST API/PubChemPy (110M+ compounds). Search by name/CID/SMILES, retrieve properties, similarity/substructure searches, bioactivity, for cheminformatics.

60

Quality

76%

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/pubchem-database/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 reference for a database-query skill: executable code throughout, genuine one-level-deep bundle usage, and solid error-handling/troubleshooting guidance. The main cost is redundancy — the Common Workflows and rate-limit advice duplicate earlier sections, and the body is longer than the overview-plus-pointers pattern rewards.

Suggestions

Consolidate the duplicate similarity/substructure/property examples: fold 'Common Workflows' 3 and 5 into their Core Capabilities counterparts, or move the workflow catalog to a references file and keep one representative example each.

State the rate-limit and delay guidance once (e.g. in Best Practices) and reference it from Troubleshooting rather than repeating the 0.2-0.3 second delay advice in three places.

Add an explicit validate step to batch operations (check response status / empty results before appending, and retry with backoff on rate-limit errors) to lift workflow clarity toward the checkpoint pattern.

Surface the references/api_reference.md pointer earlier (e.g. right after Core Capabilities) so the detailed documentation is discoverable without scrolling to the end of the body.

DimensionReasoningScore

Conciseness

The body is mostly lean code examples with little concept-explanation padding, but it could be tightened: the five 'Common Workflows' substantially repeat the Core Capabilities sections (similarity search, substructure search, and property retrieval each appear twice with near-identical pcp.get_compounds calls), and multiple sections restate the same rate-limit/delay advice. This matches the level-3 anchor ('mostly efficient but some content could be tightened') — clearly better than the verbose level-2 examples, but not the 'every token earns its place' of level 5.

3 / 5

Actionability

Nearly every section gives copy-paste-ready executable code using real APIs — pcp.get_compounds with correct namespaces and searchtype/Threshold/MaxRecords kwargs, get_properties with concrete property lists, direct PUG-REST URLs with status-code handling, and working script imports ('from scripts.compound_search import search_by_name'). It fits the level-5 anchor: fully executable, common cases covered; the only blemish is the truncated 'InChI=1S/C9H8O4/...' placeholder, which is too minor to drop it to level 4.

5 / 5

Workflow Clarity

Workflows are clearly sequenced with concrete steps, and error handling appears where it matters (try/except in the batch workflow, a dedicated error-handling section with specific exception types, troubleshooting with per-failure remediations, and rate-limit guidance with explicit delay values). It falls short of level 5 because validation is implicit rather than a checkpoint (e.g. batch loops don't verify responses before accumulating, and no validate-then-retry loop is shown for rate-limit errors), matching the level-4 anchor 'clear sequence with most checkpoints present'.

4 / 5

Progressive Disclosure

The bundle is used well and verified real: references/api_reference.md exists and holds the full endpoint/property documentation while the body keeps only key examples inline and signals it clearly ('see references/api_reference.md for complete list'), and both scripts exist with their key functions enumerated in the body. It matches the level-4 anchor (good structure, appropriate placement, references mostly clear); level 5 is not earned because the ~560-line body itself carries material (several workflows, full URL-based endpoint snippets) that could be pushed to the reference, and the API-reference pointer appears only near the end rather than in an obvious top-level 'further detail' map.

4 / 5

Total

16

/

20

Passed

Description

71%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 concrete, domain-grounded description that names the tool (PubChem, PUG-REST, PubChemPy) and enumerates specific capabilities in third person without padding. Its main weakness is the absence of any 'Use when...' trigger clause, which both caps completeness and slightly blurs when it should fire versus other chemistry-database skills.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user mentions PubChem, chemical compounds, CIDs, SMILES/InChI strings, or needs molecular properties, similarity/substructure searches, or bioactivity data.'

Include a few more natural synonyms users would say, such as 'chemical database', 'compound lookup', 'InChI', and 'molecular formula', to broaden trigger coverage and reduce overlap ambiguity with other chemistry skills.

Keep the compound-count parenthetical (110M+) — it is informative — but consider trimming 'for cheminformatics' in favor of the explicit use-when clause, which does more trigger work per token.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Search by name/CID/SMILES, retrieve properties, similarity/substructure searches, bioactivity' — plus the access mechanism ('Query PubChem via PUG-REST API/PubChemPy'), giving comprehensive coverage of the skill's capabilities in concrete terms. It exceeds the level-4 anchor ('several specific actions; minor gaps') because nothing major from the body is missing.

5 / 5

Completeness

The 'what' is clear and specific, but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description, which caps completeness at 3 per the judging guidelines. It is not level 2 because the 'what' is fully concrete rather than vague.

3 / 5

Trigger Term Quality

Good keyword coverage with natural domain terms users would say: 'PubChem', 'SMILES', 'CID', 'similarity', 'substructure', 'bioactivity', 'cheminformatics'. A few natural terms and synonyms are missing — e.g. 'InChI', 'molecular formula', 'compound lookup', 'chemical database' — so it falls short of the level-5 anchor's comprehensive synonym/variation coverage, but it is clearly above level 3.

4 / 5

Distinctiveness Conflict Risk

'PubChem' is named explicitly, making the niche mostly distinct with clear triggers, but generic terms like 'similarity/substructure searches', 'retrieve properties', and 'bioactivity' overlap with other cheminformatics/chemistry-database skills (e.g. ChEMBL, RDKit-based skills). This matches the level-4 anchor ('minor overlap risk with closely related skills') better than level 5.

4 / 5

Total

16

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (580 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository

synthetic-sciences/openscience

Path

backend/cli/skills/databases/pubchem-database/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.