chemical-structure-converter
Convert between IUPAC names, SMILES strings, molecular formulas, and common names for chemical compounds. Supports SMILES validation, batch processing, structure standardization, and cheminformatics database preparation for drug discovery workflows.
Install / Use
npx skills add aipoch/medical-research-skills --skill chemical-structure-converterInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Our assessment of chemical-structure-converter
chemical-structure-converter scores 92/100 on our quality scale, 861st of 3,055 Automation skills we index (top 29%).
Its SKILL.md is 6.7 KB long, well organised into 21 sections with 5 code examples: a thorough specification that gives an agent plenty to work with.
With 1,916 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 15 days ago, so chemical-structure-converter is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
chemical-structure-converter compared with similar skills
All 4 of these similar skills score higher than chemical-structure-converter; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| chemical-structure-converter (this skill)by aipoch | 92 | 1.9k | 15d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 88.1k | 17d ago | CLAUDE.md |
| rufloby ruvnet | 100 | 73.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 85.2k | 1d ago | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 10d ago | SKILL.md |
Frequently asked questions
- How do I install chemical-structure-converter?
- Run
npx skills add aipoch/medical-research-skills --skill chemical-structure-converter. The install tabs above show the steps for each supported agent. - Which AI agents does chemical-structure-converter work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is chemical-structure-converter safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is chemical-structure-converter still maintained?
- The repository was last updated 15 days ago, so chemical-structure-converter is actively maintained.
Skill content
View source on GitHubname: chemical-structure-converter description: Convert between IUPAC names, SMILES strings, molecular formulas, and common names for chemical compounds. Supports SMILES validation, batch processing, structure standardization, and cheminformatics database preparation for drug discovery workflows. license: MIT author: AIPOCH
Chemical Structure Converter
Interconvert between different chemical structure representations including IUPAC names, SMILES strings, molecular formulas, and common names. Essential for cheminformatics workflows, database standardization, and compound registration in drug discovery and chemical research.
Key Capabilities:
- Multi-Format Conversion: IUPAC names, SMILES, InChI, molecular formulas
- SMILES Validation: Validate SMILES syntax for structural correctness
- Batch Processing: Process multiple compounds for database standardization
- Identifier Lookup: Retrieve all available identifiers for known compounds
- Structure Standardization: Normalize chemical representations for consistency
Input Validation
This skill accepts: compound names (common or IUPAC), SMILES strings, or InChI identifiers. Batch input via CSV or plain text list is also supported.
If the request does not involve converting or validating chemical structure identifiers — for example, asking to predict biological activity, perform docking, or interpret spectra — do not proceed. Instead respond:
"Chemical Structure Converter is designed to interconvert chemical identifiers (names, SMILES, formulas). Please provide a compound name or SMILES string. For other cheminformatics tasks, use a more appropriate tool."
Quick Check
python -m py_compile scripts/main.py
python scripts/main.py --help
Workflow
- Confirm the input identifier type (name, SMILES, IUPAC) and desired output format.
- Validate that the request matches the documented scope; stop if the task requires unsupported assumptions.
- Run the script or apply the documented conversion path with only the inputs available.
- Return a structured result separating assumptions, deliverables, risks, and unresolved items.
- If execution fails or inputs are incomplete, switch to the fallback path and state exactly what blocked full completion.
Fallback: If no identifier is provided, respond: "No chemical identifier provided. Please supply a compound name (--name), SMILES string (--smiles), or IUPAC name (--iupac). Cannot convert without an input identifier."
Core Capabilities
1. Multi-Format Conversion
from scripts.main import ChemicalStructureConverter
converter = ChemicalStructureConverter()
data = converter.name_to_identifiers("aspirin")
# → IUPAC: 2-acetoxybenzoic acid, SMILES: CC(=O)Oc1ccccc1C(=O)O, Formula: C9H8O4, MW: 180.16
| From → To | Use Case | |-----------|----------| | Name → SMILES | Literature to database | | SMILES → IUPAC | Machine to human readable | | IUPAC → SMILES | Chemical registration | | SMILES → Formula | Quick MW calculation |
2. SMILES Validation
is_valid, message = converter.validate_smiles("CC(=O)Oc1ccccc1C(=O)O")
# → True, "Valid SMILES syntax"
| Check | Example Error |
|-------|---------------|
| Parentheses | C(=O — missing closing |
| Ring closures | C1CC — ring not closed |
| Atom validity | @ — invalid character |
3. Batch Processing
for compound in compound_list:
data = converter.name_to_identifiers(compound)
if not data:
print(f"Warning: '{compound}' not found in database")
CLI Usage
# Convert by compound name
python scripts/main.py --name aspirin
# Convert SMILES to IUPAC
python scripts/main.py --smiles "CC(=O)Oc1ccccc1C(=O)O"
# Validate SMILES
python scripts/main.py --smiles "CCO" --validate
# List all compounds
python scripts/main.py --list
Parameters
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| --name, -n | string | No | Compound name |
| --smiles, -s | string | No | SMILES string |
| --iupac, -i | string | No | IUPAC name |
| --validate | flag | No | Validate SMILES syntax |
| --list, -l | flag | No | List available compounds |
Output Requirements
Every final response must make these explicit:
- Objective or requested deliverable
- Inputs used (identifier type and value) and assumptions introduced
- Conversion method applied
- Core result: all available identifiers (SMILES, IUPAC, formula, MW)
- Constraints and risks (local database limited; novel compounds may not be found)
- Unresolved items and next-step checks (validate against PubChem for critical work)
Error Handling
- If no identifier is provided, list the required input options and request clarification.
- If a compound is not found in the local database, flag it and provide direct lookup URLs:
https://pubchem.ncbi.nlm.nih.gov/compound/{compound_name}andhttps://www.chemspider.com/Search.aspx?q={compound_name}. For programmatic lookup, query the PubChem REST API:https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/{name}/JSON. The script should automatically query this endpoint when a compound is not found locally. - If
scripts/main.pyfails, report the failure point and provide manual fallback guidance. - Do not fabricate SMILES strings, molecular weights, or identifiers.
- Batch mode: Include a summary line:
X/N compounds converted successfully, Y failed (list failed compound names). - Database versioning: The local compound database version is tracked in
DB_VERSIONinscripts/main.py. To add compounds, update theCOMPOUND_DBdict and incrementDB_VERSION.
Common Pitfalls
- Ambiguous names: Use CAS numbers or specific synonyms for unambiguous lookup
- Stereochemistry omitted: Specify @/@@ in SMILES for chiral compounds
- Hydrates vs anhydrous: Always specify form (e.g., "caffeine anhydrous")
- Duplicate entries: Deduplicate by canonical SMILES when building databases
- Character encoding: Use UTF-8 for IUPAC names with special characters
SMILES Quick Reference
C= aliphatic carbon,c= aromatic carbon== double bond,#= triple bond()= branching,[]= explicit valence/charge@= anticlockwise (S),@@= clockwise (R)
References
- PubChem: https://pubchem.ncbi.nlm.nih.gov
- ChemSpider: http://www.chemspider.com
- SMILES Specification: http://opensmiles.org
- RDKit Documentation: https://www.rdkit.org/docs/
Known Limitation: Local database contains common compounds only. Integrate PubChem API for production use.
Related Skills
Agent-Reach
88.1kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
73.7k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Scrapling
85.2k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
