CtrlK
BlogDocsLog inGet started
Tessl Logo

smiles-de-salter

Analyze data with `smiles-de-salter` using a reproducible workflow, explicit validation, and structured outputs for review-ready interpretation.

40

Quality

39%

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 ./scientific-skills/Data Analysis/smiles-de-salter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%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 contains solid, actionable domain guidance (parameters, examples, I/O formats, a real packaged script) but is weighed down by large amounts of generic boilerplate that inflate the context without adding skill-specific value. Workflow steps exist but lack the explicit validation feedback loop expected for a batch operation.

Suggestions

Remove the generic template boilerplate sections (Risk Assessment, Security Checklist, Lifecycle Status, Evaluation Criteria, Output Requirements, Input Validation, Response Template, Inputs to Collect, Output Contract, Validation and Safety Rules) — most duplicate the core Workflow and Error Handling sections and pad the context window.

Fix the nonsensical "Audit-Ready Commands" example that passes a clinical narrative string to `--input`, and delete the dangling "See `## Usage` above" / "See `## Workflow` above" cross-references that point to the wrong location.

Add an explicit output-validation feedback loop to the batch workflow (run -> inspect the `status` column / invalid_smiles rows -> correct inputs -> re-run), and resolve the contradiction between "Prerequisites: No additional Python packages required" and "Dependencies: rdkit, pandas".

DimensionReasoningScore

Conciseness

The body carries many padded generic template sections (Risk Assessment, Security Checklist, Lifecycle Status, Evaluation Criteria, Output Requirements, Input Validation, Response Template, Inputs to Collect, Output Contract, Validation and Safety Rules) that duplicate the core Workflow and Error Handling sections and explain process concepts Claude already knows. It is above a 1 because there is genuine domain content, but noticeably verbose with several unnecessary sections.

2 / 5

Actionability

There is concrete, mostly copy-paste-ready guidance: a parameter table, a real single-SMILES example ("python scripts/main.py -s ..."), input/output CSV formats, and a packaged main.py with --help. It is not a 5 because of the nonsensical `--input "Audit validation sample with explicit symptoms..."` command and commented/dangling cross-references ("See ## Usage above").

4 / 5

Workflow Clarity

A sequenced Workflow and Processing Logic are present with a py_compile smoke check and status/error reporting, but this is a batch operation and there is no explicit output-validation feedback loop (run -> validate results -> fix -> re-run), so the batch cap at 3 applies. It is above a 2 because steps are clearly listed, but cannot exceed 3 without an explicit validation checkpoint.

3 / 5

Progressive Disclosure

Bundle files exist and are real (references/runtime_checklist.md, scripts/main.py) and referenced one level deep, but the references are only generically signaled ("Reference material available in references/") rather than linked to the specific file, and substantial generic boilerplate is inlined that could live elsewhere or be trimmed. It is not a 4 because the reference signaling is unclear and the body is bloated with inlined template content.

3 / 5

Total

12

/

20

Passed

Description

28%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 reads as generic process boilerplate rather than a statement of the skill's actual chemical-structure de-salting capability, and it omits any "when to use" trigger guidance. It is parseable and third-person but weak on specificity and trigger terms.

Suggestions

Lead with the concrete capability, e.g. "Remove salt ions and counterions from chemical SMILES strings, retaining only the active core (e.g. Na+, Cl-, citrate)." instead of the generic "Analyze data with smiles-de-salter".

Add a "Use when..." clause with natural trigger phrases users actually say: "Use when you need to desalt SMILES, remove counterions, or isolate the active pharmaceutical ingredient from a salt form."

Replace generic process buzzwords ("reproducible workflow", "structured outputs", "review-ready interpretation") with domain-specific verbs and file types (CSV/TSV/.smi inputs, a SMILES column, a desalted output column).

DimensionReasoningScore

Specificity

The description says "Analyze data ... using a reproducible workflow, explicit validation, and structured outputs" — it names a domain but the actions are generic process buzzwords, and the actual capability (removing salt ions from SMILES strings) is never stated. It is above a 1 because it does name a domain and several actions, but below a 3 because none of the actions are concrete to this skill.

2 / 5

Completeness

There is a vague "what" ("Analyze data with smiles-de-salter ...") and no "when" / "Use when..." clause at all. This matches the anchor for a vague what with no when, and the missing trigger clause caps it well below a 4.

2 / 5

Trigger Term Quality

Only generic terms appear ("analyze data", "validation", "structured outputs"); the natural phrases a user would say ("desalt SMILES", "remove counterions", "extract the active core", ".smi") are absent. It is not a 1 because "analyze data" is at least a recognizable keyword, but it misses the natural phrasing users actually use.

2 / 5

Distinctiveness Conflict Risk

Naming the tool `smiles-de-salter` gives it some distinctiveness, but the surrounding "Analyze data ... reproducible workflow ... structured outputs" framing is generic boilerplate that could apply to almost any data-analysis skill. It is not a 4 because the language creates real overlap risk with other data skills, and not a 2 because the explicit tool name does narrow it.

3 / 5

Total

9

/

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.

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