Installs into .claude/skills of the current project.
Are you the author of Development Extensions?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-development-extensions)
---
name: development-extensions
description: "Guides OpenMM maintainer and extension-author work on C++ core
APIs, Python wrappers, serialization, plugins, platform kernels, CMake builds,
and focused tests."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT, GPL, LGPL
---
# OpenMM Development Extensions
Use this sub-skill when the task is to change or extend OpenMM itself rather than to run ordinary molecular simulations. It is for maintainers and extension authors working on C++ APIs, implementation classes, kernels, plugins, serialization, Python wrapper generation, or build/test triage.
## Route by Task
- For repository layout, ownership boundaries, and the public C++ to implementation to kernel call chain, read `references/repository-architecture.md`.
- For configuring builds, selecting CMake options, wrapper builds, `ctest`, and Python test candidates, read `references/build-test-workflows.md`.
- For adding a C++ Force, Integrator, plugin, platform kernel, serialization proxy, or shared CUDA/OpenCL/HIP implementation, read `references/plugin-and-platform-development.md`.
- For symptoms such as missing platform kernels, plugin load order problems, wrapper build environment variables, serialization compatibility, CMake option mistakes, and ABI/compiler issues, read `references/troubleshooting.md`.
## Boundaries
- Stay here for maintainer workflows: C++ API and implementation edits, platform-specific kernels, plugin registration, serialization proxies, Python wrapper maintenance, CMake build/test layout, and contribution-safe test selection.
- Route normal Python simulation recipes, reporters, checkpoints, and application workflows to `../simulation-workflows/SKILL.md`.
- Route force-field XML, `ForceField`, `Modeller`, PDB/mmCIF, and modeling data workflows to `../force-fields-modeling/SKILL.md`.
- Route user-level custom expression forces and Python `CustomIntegrator` recipes to `../custom-forces-integrators/SKILL.md`; return here only when the user needs a compiled C++ API, kernel, or plugin.
- Route runtime platform choice, precision/performance tuning, and hardware-facing simulation advice to `../platforms-performance/SKILL.md`; return here for implementing or debugging platform code.
## Maintainer Defaults
- Treat C++ build, plugin, wrapper-generation, and native test commands as checkout/build-tree workflows. Do not present them as safe zero-cost verification unless the user has an existing build tree and asks to run them.
- For a new OpenMM feature, check that the API, implementation, serialization, Python exposure, documentation, and tests are all considered; OpenMM’s contribution guidance expects this breadth for nontrivial features.
- Prefer the Reference platform as the first correctness implementation, then add CPU and Common Compute/GPU implementations where the feature requires them.
- If a useful source helper is mentioned, keep it as reference-only unless it can run independent of an OpenMM checkout/build tree. The maintainer helpers for `ctest` selection and wrapper generation are intentionally not bundled as runtime scripts because they depend on generated build products and source-tree state.