Agent skill

Molecular Dynamics

by LeonChaoX in LeonChaoX/qinyan-academic-skills

Run and analyze molecular dynamics simulations with OpenMM and MDAnalysis.

MITAuto-check passedResearch & Science

Install Molecular Dynamics

skills CLI
$ npx skills add LeonChaoX/qinyan-academic-skills --skill molecular-dynamics -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeonChaoX/qinyan-academic-skills molecular-dynamics --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeonChaoX/qinyan-academic-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'skills/06-化学信息与药物发现/molecular-dynamics' .claude/skills/molecular-dynamics && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
molecular-dynamics
GitHub stars
944
Used in
2 other repos
Token cost
~3.7k tokens
SKILL.md length
362 words
Files
2 (incl. references)
Skills in repo
31
Repo updated
First seen
Licence
MIT

At a glance

Run and analyze molecular dynamics simulations with OpenMM and MDAnalysis.

  • Works in 8 steps: System Preparation → Energy Minimization → NVT Equilibration → …
  • Tasks that involve Physical and earth sciences
  • SKILL.md covers Overview, When to Use This Skill, Core Workflow: OpenMM Simulation and Trajectory Analysis with…, plus 4 more sections
  • Calls conda and pip

What it does

Molecular Dynamics is an agent skill from LeonChaoX/qinyan-academic-skills. Run and analyze molecular dynamics simulations with OpenMM and MDAnalysis. Set up protein/small molecule systems, define force fields, run energy minimization and production MD, analyze trajectories (RMSD, RMSF, contact maps, free energy surfaces). For structural biology, drug binding, and biophysics.

Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/mdanalysis_analysis.md`).

It sits in Research & Science, covering Physical and earth sciences and Protein structure and design. The repository describes itself as: A curated, multilingual library of 182 installable AI agent skills for end-to-end academic research—spanning literature discovery, scientific writing, grant development… The licence is MIT.

When your agent uses it

  • Tasks that involve Physical and earth sciences
  • Tasks that involve Protein structure and design

Example prompts

  • “/molecular-dynamics”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. System Preparation
  2. Energy Minimization
  3. NVT Equilibration
  4. NPT Equilibration and Production
  5. Load Trajectory
  6. RMSD Analysis
  7. RMSF Analysis (Per-Residue Flexibility)
  8. Protein-Ligand Contacts

What it can do on your machine

Read from SKILL.md and the folder at commit df5a498. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • conda
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • openmm.org
    • mdanalysis.org
    • docs.mdanalysis.org
    • manual.gromacs.org
    • ks.uiuc.edu
    • charmm-gui.org
    • ambermd.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Molecular Dynamics loads about 3.7k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 80 tokens; SKILL.md has 362 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~3.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeonChaoX/qinyan-academic-skills at commit df5a498, republished under its MIT licence (© LeonChaoX). 362 words, ~3,671 tokens.

Download SKILL.mdSave it as .claude/skills/molecular-dynamics/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
molecular-dynamics
description
Run and analyze molecular dynamics simulations with OpenMM and MDAnalysis. Set up protein/small molecule systems, define force fields, run energy minimization and production MD, analyze trajectories (RMSD, RMSF, contact maps, free energy surfaces). For structural biology, drug binding, and biophysics.
license
MIT
metadata.skill-author
Kuan-lin Huang

Molecular Dynamics

Overview

Molecular dynamics (MD) simulation computationally models the time evolution of molecular systems by integrating Newton's equations of motion. This skill covers two complementary tools:

  • OpenMM (https://openmm.org/): High-performance MD simulation engine with GPU support, Python API, and flexible force field support
  • MDAnalysis (https://mdanalysis.org/): Python library for reading, writing, and analyzing MD trajectories from all major simulation packages

Installation:

bash
conda install -c conda-forge openmm mdanalysis nglview
# or
pip install openmm mdanalysis

When to Use This Skill

Use molecular dynamics when:

  • Protein stability analysis: How does a mutation affect protein dynamics?
  • Drug binding simulations: Characterize binding mode and residence time of a ligand
  • Conformational sampling: Explore protein flexibility and conformational changes
  • Protein-protein interaction: Model interface dynamics and binding energetics
  • RMSD/RMSF analysis: Quantify structural fluctuations from a reference structure
  • Free energy estimation: Compute binding free energy or conformational free energy
  • Membrane simulations: Model proteins in lipid bilayers
  • Intrinsically disordered proteins: Study IDR conformational ensembles

Core Workflow: OpenMM Simulation

1. System Preparation
python
from openmm.app import *
from openmm import *
from openmm.unit import *
import sys

def prepare_system_from_pdb(pdb_file, forcefield_name="amber14-all.xml",
                              water_model="amber14/tip3pfb.xml"):
    """
    Prepare an OpenMM system from a PDB file.

    Args:
        pdb_file: Path to cleaned PDB file (use PDBFixer for raw PDB files)
        forcefield_name: Force field XML file
        water_model: Water model XML file

    Returns:
        pdb, forcefield, system, topology
    """
    # Load PDB
    pdb = PDBFile(pdb_file)

    # Load force field
    forcefield = ForceField(forcefield_name, water_model)

    # Add hydrogens and solvate
    modeller = Modeller(pdb.topology, pdb.positions)
    modeller.addHydrogens(forcefield)

    # Add solvent box (10 Å padding, 150 mM NaCl)
    modeller.addSolvent(
        forcefield,
        model='tip3p',
        padding=10*angstroms,
        ionicStrength=0.15*molar
    )

    print(f"System: {modeller.topology.getNumAtoms()} atoms, "
          f"{modeller.topology.getNumResidues()} residues")

    # Create system
    system = forcefield.createSystem(
        modeller.topology,
        nonbondedMethod=PME,         # Particle Mesh Ewald for long-range electrostatics
        nonbondedCutoff=1.0*nanometer,
        constraints=HBonds,           # Constrain hydrogen bonds (allows 2 fs timestep)
        rigidWater=True,
        ewaldErrorTolerance=0.0005
    )

    return modeller, system
2. Energy Minimization
python
from openmm.app import *
from openmm import *
from openmm.unit import *

def minimize_energy(modeller, system, output_pdb="minimized.pdb",
                     max_iterations=1000, tolerance=10.0):
    """
    Energy minimize the system to remove steric clashes.

    Args:
        modeller: Modeller object with topology and positions
        system: OpenMM System
        output_pdb: Path to save minimized structure
        max_iterations: Maximum minimization steps
        tolerance: Convergence criterion in kJ/mol/nm

    Returns:
        simulation object with minimized positions
    """
    # Set up integrator (doesn't matter for minimization)
    integrator = LangevinMiddleIntegrator(300*kelvin, 1/picosecond, 0.004*picoseconds)

    # Create simulation
    # Use GPU if available (CUDA or OpenCL), fall back to CPU
    try:
        platform = Platform.getPlatformByName('CUDA')
        properties = {'DeviceIndex': '0', 'Precision': 'mixed'}
    except Exception:
        try:
            platform = Platform.getPlatformByName('OpenCL')
            properties = {}
        except Exception:
            platform = Platform.getPlatformByName('CPU')
            properties = {}

    simulation = Simulation(
        modeller.topology, system, integrator,
        platform, properties
    )
    simulation.context.setPositions(modeller.positions)

    # Check initial energy
    state = simulation.context.getState(getEnergy=True)
    print(f"Initial energy: {state.getPotentialEnergy()}")

    # Minimize
    simulation.minimizeEnergy(
        tolerance=tolerance*kilojoules_per_mole/nanometer,
        maxIterations=max_iterations
    )

    state = simulation.context.getState(getEnergy=True, getPositions=True)
    print(f"Minimized energy: {state.getPotentialEnergy()}")

    # Save minimized structure
    with open(output_pdb, 'w') as f:
        PDBFile.writeFile(simulation.topology, state.getPositions(), f)

    return simulation
3. NVT Equilibration
python
from openmm.app import *
from openmm import *
from openmm.unit import *

def run_nvt_equilibration(simulation, n_steps=50000, temperature=300,
                            report_interval=1000, output_prefix="nvt"):
    """
    NVT equilibration: constant N, V, T.
    Equilibrate velocities to target temperature.

    Args:
        simulation: OpenMM Simulation (after minimization)
        n_steps: Number of MD steps (50000 × 2fs = 100 ps)
        temperature: Temperature in Kelvin
        report_interval: Steps between data reports
        output_prefix: File prefix for trajectory and log
    """
    # Add position restraints for backbone during NVT
    # (Optional: restraint heavy atoms)

    # Set temperature
    simulation.context.setVelocitiesToTemperature(temperature*kelvin)

    # Add reporters
    simulation.reporters = []

    # Log file
    simulation.reporters.append(
        StateDataReporter(
            f"{output_prefix}_log.txt",
            report_interval,
            step=True,
            potentialEnergy=True,
            kineticEnergy=True,
            temperature=True,
            volume=True,
            speed=True
        )
    )

    # DCD trajectory (compact binary format)
    simulation.reporters.append(
        DCDReporter(f"{output_prefix}_traj.dcd", report_interval)
    )

    print(f"Running NVT equilibration: {n_steps} steps ({n_steps*2/1000:.1f} ps)")
    simulation.step(n_steps)
    print("NVT equilibration complete")

    return simulation
4. NPT Equilibration and Production
python
def run_npt_production(simulation, n_steps=500000, temperature=300, pressure=1.0,
                        report_interval=5000, output_prefix="npt"):
    """
    NPT production run: constant N, P, T.

    Args:
        n_steps: Production steps (500000 × 2fs = 1 ns)
        temperature: Temperature in Kelvin
        pressure: Pressure in bar
        report_interval: Steps between reports
    """
    # Add Monte Carlo barostat for pressure control
    system = simulation.context.getSystem()
    system.addForce(MonteCarloBarostat(pressure*bar, temperature*kelvin, 25))
    simulation.context.reinitialize(preserveState=True)

    # Update reporters
    simulation.reporters = []
    simulation.reporters.append(
        StateDataReporter(
            f"{output_prefix}_log.txt",
            report_interval,
            step=True,
            potentialEnergy=True,
            temperature=True,
            density=True,
            speed=True
        )
    )
    simulation.reporters.append(
        DCDReporter(f"{output_prefix}_traj.dcd", report_interval)
    )

    # Save checkpoints
    simulation.reporters.append(
        CheckpointReporter(f"{output_prefix}_checkpoint.chk", 50000)
    )

    print(f"Running NPT production: {n_steps} steps ({n_steps*2/1000000:.2f} ns)")
    simulation.step(n_steps)
    print("Production MD complete")
    return simulation

Trajectory Analysis with MDAnalysis

1. Load Trajectory
python
import MDAnalysis as mda
from MDAnalysis.analysis import rms, align, contacts
import numpy as np
import matplotlib.pyplot as plt

def load_trajectory(topology_file, trajectory_file):
    """
    Load an MD trajectory with MDAnalysis.

    Args:
        topology_file: PDB, PSF, or other topology file
        trajectory_file: DCD, XTC, TRR, or other trajectory
    """
    u = mda.Universe(topology_file, trajectory_file)
    print(f"Universe: {u.atoms.n_atoms} atoms, {u.trajectory.n_frames} frames")
    print(f"Time range: 0 to {u.trajectory.totaltime:.0f} ps")
    return u
2. RMSD Analysis
python
def compute_rmsd(u, selection="backbone", reference_frame=0):
    """
    Compute RMSD of selected atoms relative to reference frame.

    Args:
        u: MDAnalysis Universe
        selection: Atom selection string (MDAnalysis syntax)
        reference_frame: Frame index for reference structure

    Returns:
        numpy array of (time, rmsd) values
    """
    # Align trajectory to minimize RMSD
    aligner = align.AlignTraj(u, u, select=selection, in_memory=True)
    aligner.run()

    # Compute RMSD
    R = rms.RMSD(u, select=selection, ref_frame=reference_frame)
    R.run()

    rmsd_data = R.results.rmsd  # columns: frame, time, RMSD
    return rmsd_data

def plot_rmsd(rmsd_data, title="RMSD over time", output_file="rmsd.png"):
    """Plot RMSD over simulation time."""
    fig, ax = plt.subplots(figsize=(10, 4))
    ax.plot(rmsd_data[:, 1] / 1000, rmsd_data[:, 2], 'b-', linewidth=0.5)
    ax.set_xlabel("Time (ns)")
    ax.set_ylabel("RMSD (Å)")
    ax.set_title(title)
    ax.axhline(rmsd_data[:, 2].mean(), color='r', linestyle='--',
               label=f'Mean: {rmsd_data[:, 2].mean():.2f} Å')
    ax.legend()
    plt.tight_layout()
    plt.savefig(output_file, dpi=150)
    return fig
3. RMSF Analysis (Per-Residue Flexibility)
python
def compute_rmsf(u, selection="backbone", start_frame=0):
    """
    Compute per-residue RMSF (flexibility).

    Returns:
        resids, rmsf_values arrays
    """
    # Select atoms
    atoms = u.select_atoms(selection)

    # Compute RMSF
    R = rms.RMSF(atoms)
    R.run(start=start_frame)

    # Average by residue
    resids = []
    rmsf_per_res = []
    for res in u.select_atoms(selection).residues:
        res_atoms = res.atoms.intersection(atoms)
        if len(res_atoms) > 0:
            resids.append(res.resid)
            rmsf_per_res.append(R.results.rmsf[res_atoms.indices].mean())

    return np.array(resids), np.array(rmsf_per_res)
4. Protein-Ligand Contacts
python
def analyze_contacts(u, protein_sel="protein", ligand_sel="resname LIG",
                      radius=4.5, start_frame=0):
    """
    Track protein-ligand contacts over trajectory.

    Args:
        radius: Contact distance cutoff in Angstroms
    """
    protein = u.select_atoms(protein_sel)
    ligand = u.select_atoms(ligand_sel)

    contact_frames = []
    for ts in u.trajectory[start_frame:]:
        # Find protein atoms within radius of ligand
        distances = contacts.contact_matrix(
            protein.positions, ligand.positions, radius
        )
        contact_residues = set()
        for i in range(distances.shape[0]):
            if distances[i].any():
                contact_residues.add(protein.atoms[i].resid)
        contact_frames.append(contact_residues)

    return contact_frames

Force Field Selection Guide

SystemRecommended Force FieldWater Model
Standard proteinsAMBER14 (amber14-all.xml)TIP3P-FB
Proteins + small moleculesAMBER14 + GAFF2TIP3P-FB
Membrane proteinsCHARMM36mTIP3P
Nucleic acidsAMBER99-bsc1 or AMBER14TIP3P
Disordered proteinsff19SB or CHARMM36mTIP3P

System Preparation Tools

Show full SKILL.md (145 more words)Show less
PDBFixer (for raw PDB files)
python
from pdbfixer import PDBFixer
from openmm.app import PDBFile

def fix_pdb(input_pdb, output_pdb, ph=7.0):
    """Fix common PDB issues: missing residues, atoms, add H, standardize."""
    fixer = PDBFixer(filename=input_pdb)
    fixer.findMissingResidues()
    fixer.findNonstandardResidues()
    fixer.replaceNonstandardResidues()
    fixer.removeHeterogens(True)    # Remove water/ligands
    fixer.findMissingAtoms()
    fixer.addMissingAtoms()
    fixer.addMissingHydrogens(ph)

    with open(output_pdb, 'w') as f:
        PDBFile.writeFile(fixer.topology, fixer.positions, f)

    return output_pdb
GAFF2 for Small Molecules (via OpenFF Toolkit)
python
# For ligand parameterization, use OpenFF toolkit or ACPYPE
# pip install openff-toolkit
from openff.toolkit import Molecule, ForceField as OFFForceField
from openff.interchange import Interchange

def parameterize_ligand(smiles, ff_name="openff-2.0.0.offxml"):
    """Generate GAFF2/OpenFF parameters for a small molecule."""
    mol = Molecule.from_smiles(smiles)
    mol.generate_conformers(n_conformers=1)

    off_ff = OFFForceField(ff_name)
    interchange = off_ff.create_interchange(mol.to_topology())
    return interchange

Best Practices

  • Always minimize before MD: Raw PDB structures have steric clashes
  • Equilibrate before production: NVT (50–100 ps) → NPT (100–500 ps) → Production
  • Use GPU: Simulations are 10–100× faster on GPU (CUDA/OpenCL)
  • 2 fs timestep with HBonds constraints: Standard; use 4 fs with HMR (hydrogen mass repartitioning)
  • Analyze only equilibrated trajectory: Discard first 20–50% as equilibration
  • Save checkpoints: MD runs can fail; checkpoints allow restart
  • Periodic boundary conditions: Required for solvated systems
  • PME for electrostatics: More accurate than cutoff methods for charged systems

Additional Resources

© LeonChaoX, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/06-化学信息与药物发现/molecular-dynamics of LeonChaoX/qinyan-academic-skills.

  • SKILL.md
  • references/mdanalysis_analysis.md

Open the folder on GitHubat commit df5a498

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in LeonChaoX/qinyan-academic-skills, which our catalogue first saw on October 9, 2026.

Compare with similar skills

Molecular Dynamics next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Molecular Dynamics compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Molecular Dynamics this skillLeonChaoX/qinyan-academic-skills9442 repos~3.7kAutomated safety check: PassMIT
Pymol VisualizationChatMol/ChatMol373—~1.2kAutomated safety check: PassMIT
Pymolgoogle-deepmind/science-skills3.2k2 repos~1.6kAutomated safety check: PassApache-2.0
Hugging ScienceK-Dense-AI/scientific-agent-skills48k1 repos~2.9kAutomated safety check: NotesMIT
TamarindK-Dense-AI/scientific-agent-skills48k1 repos~3.4kAutomated safety check: PassMIT
Molecular DynamicsK-Dense-AI/scientific-agent-skills48k1 repos~4.7kAutomated safety check: PassMIT

Similar skills

  • Pymol Visualization

    ChatMol/ChatMol

    Generate publication-quality molecular visualization images using PyMOL.

    373 GitHub stars~1.2k tokensUpdated 6 mo ago
    Research & ScienceAuto-check passed
  • Pymol

    google-deepmind/science-skills

    Visualize, analyze, and render protein and molecular structures using PyMOL.

    3.2k GitHub starsUsed in 2 repos~1.6k tokens
    Research & ScienceAuto-check passed
  • Hugging Science

    K-Dense-AI/scientific-agent-skills

    Discovers and evaluates scientific datasets, models, methodology posts, and Spaces through the Hugging Science catalog.

    48k GitHub starsUsed in 1 repo~2.9k tokens
    Research & ScienceAuto-check: notes
  • Tamarind

    K-Dense-AI/scientific-agent-skills

    Provides access to a collection of open-source molecular design and structural biology tools on the Tamarind Bio platform, via its REST API or MCP server — no local GPUs required.

    48k GitHub starsUsed in 1 repo~3.4k tokens
    Research & ScienceAuto-check passed
  • Molecular Dynamics

    K-Dense-AI/scientific-agent-skills

    Runs and analyzes molecular dynamics simulations with OpenMM and MDAnalysis.

    48k GitHub starsUsed in 1 repo~4.7k tokens
    Research & ScienceAuto-check passed
  • Prepares a deposited or predicted structure for docking, molecular dynamics, or electrostatics by adding hydrogens, assigning protonation and tautomer states, and filling missing atoms and short…

    1.2k GitHub starsUsed in 1 repo~4.9k tokens
    Research & ScienceAuto-check passed

More from LeonChaoX/qinyan-academic-skills

All 31 skills in this repo
  • Paper Slide Deck

    LeonChaoX/qinyan-academic-skills

    Generate professional slide deck images from academic papers and content.

    944 GitHub starsUsed in 2 repos~4.6k tokens
    Auto-check passed
  • Parallel Web

    LeonChaoX/qinyan-academic-skills

    Search the web, extract URL content, and run deep research using the Parallel Chat API and Extract API.

    944 GitHub starsUsed in 1 repo~2.9k tokens
    Auto-check: notes
  • Research Proposal

    LeonChaoX/qinyan-academic-skills

    Generate academic research proposals for PhD applications. An agent skill from LeonChaoX/qinyan-academic-skills.

    944 GitHub starsUsed in 2 repos~4.8k tokens
    Auto-check passed
  • Medical Imaging Review

    LeonChaoX/qinyan-academic-skills

    Write comprehensive literature reviews for medical imaging AI research.

    944 GitHub starsUsed in 3 repos~1.1k tokens
    Auto-check: notes
  • Depmap

    LeonChaoX/qinyan-academic-skills

    Query the Cancer Dependency Map (DepMap) for cancer cell line gene dependency scores (CRISPR Chronos), drug sensitivity data, and gene effect profiles.

    944 GitHub starsUsed in 2 repos~2.8k tokens
    Auto-check passed
  • Phylogenetics

    LeonChaoX/qinyan-academic-skills

    Build and analyze phylogenetic trees using MAFFT (multiple alignment), IQ-TREE 2 (maximum likelihood), and FastTree (fast NJ/ML).

    944 GitHub starsUsed in 2 repos~3.5k tokens
    Auto-check passed

Questions about Molecular Dynamics

What does Molecular Dynamics do?

Run and analyze molecular dynamics simulations with OpenMM and MDAnalysis. Molecular Dynamics is an agent skill from LeonChaoX/qinyan-academic-skills. Run and analyze molecular dynamics simulations with OpenMM and MDAnalysis.

When should I use Molecular Dynamics?

Molecular Dynamics fits situations like: tasks that involve Physical and earth sciences; tasks that involve Protein structure and design.

How do I install Molecular Dynamics in Claude Code?

Run `npx skills add LeonChaoX/qinyan-academic-skills --skill molecular-dynamics -a claude-code`. Or copy the skill folder (skills/06-化学信息与药物发现/molecular-dynamics in LeonChaoX/qinyan-academic-skills) into .claude/skills/molecular-dynamics in your project. Claude Code loads it when a task matches its description.

How do I install Molecular Dynamics in Codex?

Run `npx skills add LeonChaoX/qinyan-academic-skills --skill molecular-dynamics -a codex`. Or copy the skill folder (skills/06-化学信息与药物发现/molecular-dynamics in LeonChaoX/qinyan-academic-skills) into .agents/skills/molecular-dynamics in your project. Codex loads it when a task matches its description.

Can I use Molecular Dynamics in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeonChaoX/qinyan-academic-skills --skill molecular-dynamics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/molecular-dynamics, .gemini/skills/molecular-dynamics, .github/skills/molecular-dynamics and .opencode/skills/molecular-dynamics in your project.

What does Molecular Dynamics need to run?

Going by SKILL.md and its folder, Molecular Dynamics needs the command-line tools its instructions call (conda and pip). Our summary lists: Python 3.

Does Molecular Dynamics access the network?

SKILL.md names 7 domains. As links in the text: openmm.org, mdanalysis.org, docs.mdanalysis.org, manual.gromacs.org, ks.uiuc.edu, charmm-gui.org and ambermd.org. This is read from the text; nothing was executed.

Is Molecular Dynamics safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Molecular Dynamics use?

Molecular Dynamics is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Molecular Dynamics use?

About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.

What are the alternatives to Molecular Dynamics?

Skills that share tags, products or a category with Molecular Dynamics: Pymol Visualization (ChatMol/ChatMol, 373 stars), Pymol (google-deepmind/science-skills, 3.2k stars), Hugging Science (K-Dense-AI/scientific-agent-skills, 48k stars) and Tamarind (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Molecular Dynamics?

LeonChaoX (a GitHub user) maintains it in LeonChaoX/qinyan-academic-skills, which has 944 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeonChaoX/qinyan-academic-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.