Sort laboratory chemicals into safe storage groups by hazard classification (acids, bases, oxidizers, flammables, toxics). Identifies incompatible pairs, generates storage plans with warnings, and supports OSHA/NFPA compliance for lab safety.
60
71%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./scientific-skills/Other/chemical-storage-sorter/SKILL.mdOrganize laboratory chemicals into safe storage groups based on chemical compatibility and hazard classification. Prevents dangerous reactions by identifying incompatible pairs and providing segregation guidelines compliant with OSHA, NFPA, and institutional safety standards.
Key Capabilities:
This skill accepts: a list of chemical names (comma-separated or one per line), or a single chemical name for compatibility checking. Chemical names should be standard IUPAC or common names; CAS numbers are also accepted.
If the request does not involve sorting or checking laboratory chemicals for safe storage — for example, asking to synthesize chemicals, interpret SDS documents, or provide medical advice about chemical exposure — do not proceed. Instead respond:
"Chemical Storage Sorter is designed to classify and sort laboratory chemicals for safe storage. Please provide a list of chemical names. For other chemical safety tasks, use a more appropriate tool."
python -m py_compile scripts/main.py
python scripts/main.py --helpFallback: If no chemicals are provided, respond: "No chemical list provided. Please supply chemical names via --chemicals or as a text list. Cannot sort without input chemicals."
from scripts.main import ChemicalStorageSorter
sorter = ChemicalStorageSorter()
group = sorter.classify_chemical("Hydrochloric acid") # → "acids"| Group | Examples | Storage Requirements |
|---|---|---|
| Acids | HCl, H₂SO₄, HNO₃ | Acid cabinet, secondary containment |
| Bases | NaOH, KOH, ammonia | Base cabinet, separate from acids |
| Oxidizers | H₂O₂, KMnO₄, nitrates | Cool, dry, away from organics |
| Flammables | Ethanol, acetone, hexane | Flammable storage cabinet |
| Toxics | Cyanides, mercury, arsenic | Locked cabinet, limited access |
| General | NaCl, PBS, sucrose | Standard storage |
compatible, message = sorter.check_compatibility("Hydrochloric acid", "Sodium hydroxide")
# → False, "INCOMPATIBLE: acids cannot be stored with bases"| Chemical Group | Incompatible With | Reaction Risk |
|---|---|---|
| Acids | Bases, oxidizers, cyanides | Violent neutralization, toxic gas |
| Oxidizers | Flammables, acids, bases | Fire, explosion |
| Flammables | Oxidizers, acids | Fire, combustion |
groups = sorter.sort_chemicals(inventory)
sorter.print_storage_plan(groups)# Sort list of chemicals
python scripts/main.py --chemicals "HCl,NaOH,ethanol,H2O2"
# Check compatibility between two chemicals
python scripts/main.py --chemicals "HCl" --check "NaOH"
# List all storage groups
python scripts/main.py --list-groups| Parameter | Type | Required | Description |
|---|---|---|---|
--chemicals, -c | string | No | Comma-separated chemical list |
--check | string | No | Check compatibility with another chemical |
--list-groups, -l | flag | No | List all storage groups |
Every final response must make these explicit:
scripts/main.py fails, report the failure point and provide manual classification fallback using the hazard group table above.| Group | Cabinet Type | Special Requirements |
|---|---|---|
| Acids | Acid cabinet | Secondary containment, corrosion-resistant |
| Bases | Base cabinet | Minimum 3 feet from acids |
| Oxidizers | Standard/oxidizer | Away from ignition sources |
| Flammables | Flammable cabinet | Bonding/grounding for dispensing |
| Toxics | Locked cabinet | Access log, limited quantities |
f5ef65b
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.