Skip to content
Back to skills

Openmm

ASecurity

"Use OpenMM for molecular simulation workflows, force-field/model

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
testingpythonc++expressapiperformance

Works with

  • api

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill openmm --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Openmm?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Openmm
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-openmm/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-openmm)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: openmm
description: "Use OpenMM for molecular simulation workflows, force-field/model
  preparation, custom forces/integrators, platform/performance diagnostics, and
  maintainer extension work."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT, GPL, LGPL
---

# OpenMM

Use this repo skill when a task involves OpenMM, the molecular simulation toolkit exposed through `openmm`, `openmm.app`, `openmm.unit`, C++ APIs, runtime platforms, plugins, or the OpenMM source tree.

## Quick Start

- Install OpenMM from the public package channel appropriate for the user's environment; for Python workflows, verify `import openmm, openmm.app, openmm.unit` before writing larger scripts.
- Run `scripts/openmm_reference_smoke.py` for a checkout-independent Reference-platform sanity check that constructs a tiny system, evaluates a `Context`, and reports available platforms.
- Read `references/environment-and-platform-facts.md` for package/version caveats, install extras, platform expectations, and safe verification commands.
- Read `references/openmm-capability-map.md` when routing a broad request across sub-skills.
- Read `references/troubleshooting.md` first for cross-cutting install/import, unit, platform, and workflow failures.

## Route by User Task

- Use `sub-skills/simulation-workflows/SKILL.md` for Python application-layer simulations: loading PDB/mmCIF, Amber, GROMACS, CHARMM, or Tinker inputs; creating `Simulation`; attaching reporters; minimizing; stepping; and checkpoint or XML-state restarts.
- Use `sub-skills/force-fields-modeling/SKILL.md` for `ForceField`, `Modeller`, bundled XML files, `createSystem()`, missing hydrogens, solvent/ions, membranes, residue template errors, parameterized file formats, and ffxml authoring.
- Use `sub-skills/custom-forces-integrators/SKILL.md` for `Custom*Force` classes, expression syntax, runtime parameters, tabulated functions, force groups, `CustomIntegrator`, and serialization-aware custom systems.
- Use `sub-skills/platforms-performance/SKILL.md` for `Reference`, `CPU`, `CUDA`, `OpenCL`, or `HIP` platform selection, `platformProperties`, precision/device/thread choices, plugin availability, benchmark interpretation, and performance diagnostics.
- Use `sub-skills/development-extensions/SKILL.md` for changing OpenMM itself: C++ API/implementation work, kernels, plugins, serialization proxies, Python wrapper generation, CMake builds, and focused native tests.

## Core Concepts

- `openmm.System` stores particles, constraints, forces, virtual sites, and periodic box information; most simulation errors trace back to mismatch among `System`, topology, positions, and force parameters.
- `openmm.Context` binds a `System`, an `Integrator`, and a `Platform`; changes to a `System` after `Context` creation usually require updating parameters in context or reinitializing.
- `openmm.app.Simulation(topology, system, integrator, platform=None, platformProperties=None, state=None)` is the high-level Python workflow object for most application scripts.
- `openmm.app.ForceField(*files)` creates `System` objects from topologies and bundled or custom XML; use `Modeller(topology, positions)` before `createSystem()` when the structure needs hydrogens, solvent, ions, membranes, or extra particles.
- Physical quantities should carry `openmm.unit` units, for example `300*kelvin`, `1/picosecond`, `0.004*picoseconds`, and `1*nanometer`.
- The `Reference` platform is slow but excellent for correctness smokes; `CPU`, `CUDA`, `OpenCL`, and `HIP` need environment-specific package/plugin/runtime support.

## Safe Working Pattern

1. Clarify whether the user is running a simulation, preparing a model, defining custom physics, diagnosing hardware/performance, or modifying OpenMM internals.
2. Route to the narrowest sub-skill and use its nearest references/scripts rather than writing a large one-off script from memory.
3. Start with a bounded smoke: import OpenMM, list platforms, build or load a tiny system, run 0-10 steps or one energy evaluation, and assert finite output.
4. Escalate to production settings only after topology, positions, `System`, integrator, reporter paths, and platform choice are validated.
5. For source-tree development, separate build-required/native tests from package-level Python smokes; do not assume a user has a compiled OpenMM build tree.

## Bundled Runtime Assets

- `references/repo-provenance.md` records the source commit, dirty state, package version facts, and evidence paths used to create this skill.
- `references/openmm-capability-map.md` maps natural OpenMM requests to sub-skill owners, evidence, and validation signals.
- `references/environment-and-platform-facts.md` summarizes install/import/platform facts verified during skill creation without exposing private environment paths.
- `references/troubleshooting.md` covers cross-cutting failures and points to sub-skill-specific troubleshooting files.
- `scripts/openmm_reference_smoke.py` is a safe, checkout-independent Reference-platform smoke test.

## Boundaries

- This skill is self-contained runtime guidance. It does not require the original OpenMM checkout to be available.
- Do not link future agents to original repo docs, examples, tests, scripts, or absolute local paths; use the bundled references and scripts here.
- Treat benchmarks, GPU runs, source builds, `ctest`, and wrapper generation as optional, environment-dependent workflows that require explicit user context.

Files in this skill

  • SKILL.md5.4 KB
  • references/environment-and-platform-facts.md3.1 KB
  • references/openmm-capability-map.md3.9 KB
  • references/repo-provenance.md2.6 KB
  • references/repo-routing-metadata.json320 B
  • references/troubleshooting.md3.5 KB
  • scripts/openmm_reference_smoke.py1.4 KB
  • sub-skills/custom-forces-integrators/SKILL.md2.8 KB
  • sub-skills/custom-forces-integrators/references/custom-force-api.md6.6 KB
  • sub-skills/custom-forces-integrators/references/custom-integrator-recipes.md6.9 KB
  • sub-skills/custom-forces-integrators/references/troubleshooting.md7 KB
  • sub-skills/custom-forces-integrators/scripts/custom_force_smoke.py1.6 KB
  • sub-skills/development-extensions/SKILL.md3.1 KB
  • sub-skills/development-extensions/references/build-test-workflows.md6.9 KB
  • sub-skills/development-extensions/references/plugin-and-platform-development.md8.1 KB
  • sub-skills/development-extensions/references/repository-architecture.md6 KB
  • sub-skills/development-extensions/references/troubleshooting.md7.4 KB
  • sub-skills/force-fields-modeling/SKILL.md3.9 KB
  • sub-skills/force-fields-modeling/references/forcefield-api-and-data.md10.4 KB
  • sub-skills/force-fields-modeling/references/forcefield-xml-authoring.md10.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.