executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
openff-toolkitUse OpenFF Toolkit for molecule processing, SMIRNOFF force fields, topology/system preparation, and optional chemistry backend troubleshooting.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this repo skill when a task involves the Open Force Field Toolkit (openff.toolkit), especially Molecule, Topology, SMIRNOFF .offxml force fields, toolkit wrappers, parameter assignment, molecule/topology conversion, conformers, charges, PDB handling, OpenMM/Interchange handoff, or force-field troubleshooting.
references/package-overview.md summarizes package purpose, install shape, important concepts, and cross-skill workflow order.references/troubleshooting.md covers cross-cutting install/import, optional dependency, backend, force-field discovery, and workflow routing failures.references/repo-provenance.md records the source snapshot and evidence paths used to create this skill; read it before deciding whether the skill is stale.scripts/check_openff_toolkit.py --json checks importability, version, available force fields, core classes, and backend wrapper status in the current Python environment.| Task signal | Use this entry point | Why |
|---|---|---|
| Build a molecule from SMILES, mapped SMILES, SDF/MOL/SMI/PDB, RDKit/OpenEye objects, conformers, partial charges, stereochemistry, tautomers, SMARTS, visualization, or molecule graph checks | sub-skills/molecules-and-io/SKILL.md | Focuses on single-molecule API usage and safe IO/validation recipes. |
| Assemble systems from molecules, load PDB files, handle proteins/HETATM records, manage hierarchy metadata, convert to/from OpenMM/MDTraj, write PDB, add constraints, or prepare topologies for parameterization | sub-skills/topology-and-systems/SKILL.md | Owns multi-molecule Topology workflows and PDB/biopolymer assumptions. |
Load or edit .offxml, discover installed OpenFF force fields, inspect/modify SMIRNOFF handlers, label assigned parameters, serialize force fields, create Interchange/OpenMM systems, or troubleshoot SMIRNOFF errors | sub-skills/smirnoff-force-fields/SKILL.md | Owns ForceField and SMIRNOFF parameter workflows. |
Choose RDKit/OpenEye/AmberTools/NAGL/BuiltIn wrappers, inspect GLOBAL_TOOLKIT_REGISTRY, control registry precedence, diagnose missing optional dependencies, unsupported formats, or charge method failures | sub-skills/toolkit-backends/SKILL.md | Owns optional backend and registry behavior. |
scripts/check_openff_toolkit.py --json if importability, force-field discovery, or optional backend availability is uncertain.Molecule objects with sub-skills/molecules-and-io/SKILL.md.Topology or load a PDB/system with sub-skills/topology-and-systems/SKILL.md.sub-skills/smirnoff-force-fields/SKILL.md.sub-skills/toolkit-backends/SKILL.md when the failure is caused by an unavailable wrapper, unsupported file format, charge method, or registry ordering.Prefer package-manager installation for normal users because OpenFF Toolkit depends on compiled chemistry/simulation packages:
mamba create -n openff-toolkit -c conda-forge openff-toolkit
Minimal import check:
from openff.toolkit import ForceField, Molecule, Topology
from openff.toolkit.utils.toolkits import GLOBAL_TOOLKIT_REGISTRY
molecule = Molecule.from_smiles("CCO")
topology = Topology.from_molecules([molecule])
force_field = ForceField("openff-2.3.0.offxml")
print(molecule.n_atoms, topology.n_molecules, force_field.registered_parameter_handlers)
print(GLOBAL_TOOLKIT_REGISTRY.registered_toolkit_versions)
If ForceField("openff-2.3.0.offxml") fails, inspect available force fields and package installation before changing molecule/topology code.
>=3.12.toolkit_registry= or a wrapper when behavior must match RDKit, OpenEye, AmberTools, or BuiltIn paths..offxml files as SMIRNOFF force-field sources; preserve originals when troubleshooting version, handler, or parameter errors.openff.toolkit imports.unique_molecules when loading PDB systems.GLOBAL_TOOLKIT_REGISTRY globally unless the task explicitly needs process-wide behavior; prefer temporary context managers or explicit arguments.