CtrlK
BlogDocsLog inGet started
Tessl Logo

sds-msds-risk-scanner

Extract hazard codes and safety info from chemical safety datasheets.

48

Quality

60%

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/Evidence Insight/sds-msds-risk-scanner/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

48%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 reads as a generated template wearing a skill costume: the workflow spine and bundle references are sound, but roughly half the content is boilerplate (meta-sections, duplicated compile checks, generic checklists) that spends tokens without adding executable guidance. The single biggest gap is that the skill never demonstrates its actual purpose — running the SDS scan end-to-end on a real input.

Suggestions

Show a real end-to-end invocation in '## Example Usage' (e.g., 'python scripts/main.py --input acetone_sds.pdf' with a sample of the expected H-code/P-code output) instead of only the py_compile and --help pre-checks, and replace the fabricated 'cd "20260318/scientific-skills/..."' path with one relative to the skill directory.

Cut the template filler: remove or merge Key Features, Dependencies, Implementation Details, Quick Check, and Audit-Ready Commands (the py_compile command is repeated three times), and move the Risk Assessment, Security Checklist, and Evaluation Criteria tables into references/audit-reference.md.

Add a validation checkpoint after script execution, such as verifying extracted H-codes/P-codes against the hazard statements present in the source SDS text, before returning the safety summary card.

DimensionReasoningScore

Conciseness

The body is noticeably padded: 'Key Features' bullets merely restate the description, 'Dependencies' contains meta-commentary like 'not explicitly version-pinned in this skill package. Add pinned versions if this skill needs stricter environment control', and 'python -m py_compile scripts/main.py' appears in three separate sections (Example Usage, Quick Check, Audit-Ready Commands). Generic Risk Assessment, Security Checklist, Evaluation Criteria, and Lifecycle Status sections add template filler, and the 'Next Review Date' of 2026-03-06 is already in the past. Not a 1 because it never explains background concepts Claude already knows; the padding is boilerplate rather than tuition.

2 / 5

Actionability

Concrete commands exist ('python -m py_compile scripts/main.py', 'python scripts/main.py --help') and Parameters/Returns sections name real inputs and outputs ('sds_document', 'chemical_name', 'H-codes (hazard statements)'), but the core invocation — running the scanner on an actual SDS document with sample input and expected output — is never shown, and the example 'cd "20260318/scientific-skills/Evidence Insight/sds-msds-risk-scanner"' path looks fabricated. Not a 4 because the missing primary execution path is a major gap, not a minor one.

3 / 5

Workflow Clarity

The '## Workflow' section lists a clear 8-step sequence from input confirmation through fallback, with explicit pre-run validation checkpoints (py_compile parse check, '--help') and a documented error path ('If scripts/main.py fails, report the failure point... and provide a manual fallback'). Not a 5 because there is no output-correctness validation step (e.g., checking extracted H-codes against the source SDS) and no feedback loop for fixing a failed run. This is not a destructive or batch operation, so the workflow-clarity cap of 3 does not apply.

4 / 5

Progressive Disclosure

The single bundle reference 'references/audit-reference.md' is a real file, one level deep, and clearly signaled via a dedicated '## References' section with a working link, and 'scripts/main.py' exists as claimed. However, the ~185-line body inlines substantial template material (Risk Assessment table, Security Checklist, Evaluation Criteria, Lifecycle Status, Response Template) that belongs in the reference file or nowhere, so the split between SKILL.md and bundle files is not well executed. Not a 4 because the body carries too much content that should live at the reference level.

3 / 5

Total

12

/

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 gets the core what right in a lean, third-person sentence, but stops at the minimum viable level: no when-to-use trigger, no SDS/MSDS/GHS acronyms that users naturally say, and no mention of the concrete outputs (H-codes, P-codes, PPE recommendations) that make this skill distinctive. It reads as an accurate but underspecified one-liner.

Suggestions

Add an explicit trigger clause, e.g., 'Use when the user mentions SDS, MSDS, safety data sheets, GHS hazard codes, or chemical safety compliance.'

Include the domain's natural acronyms and synonyms — SDS, MSDS, GHS, PPE — since those are the terms users actually type.

Name the concrete outputs (H-codes, P-codes, PPE recommendations, safety summary) to sharpen specificity and distinctiveness.

DimensionReasoningScore

Specificity

'Extract hazard codes and safety info from chemical safety datasheets' names the domain clearly and gives two actions, but 'hazard codes' is concrete while 'safety info' is generic, and the richer capabilities documented in the body (H-codes, P-codes, PPE recommendations, safety summary card) never appear. This matches anchor 3 ('names domain and 1-2 concrete actions, but not comprehensive'); not 4 because the action list is neither several in number nor fully concrete.

3 / 5

Completeness

The 'what' is clear (extract hazard codes and safety info from chemical safety datasheets), but there is no 'Use when...' clause or equivalent explicit trigger guidance — a user-facing trigger is at best weakly implied by the domain itself. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Relevant keywords exist ('hazard codes', 'chemical safety datasheets'), but the terms users in this domain actually say — 'SDS', 'MSDS', 'GHS', 'PPE', 'safety data sheet' — are entirely absent. This matches anchor 3 ('some relevant keywords but missing common variations or synonyms'); not 4 because the missing acronyms are the field's canonical natural terms, not just a few stray synonyms.

3 / 5

Distinctiveness Conflict Risk

Chemical safety datasheet hazard-code extraction is a clear niche unlikely to trigger for unrelated skills, matching 'mostly distinct; minor overlap risk'. Not 5 because the vague 'safety info' phrase leaves minor overlap risk with closely related safety/compliance skills, and without the SDS/MSDS acronyms the trigger surface is narrower than the skill's actual scope.

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.