Calculate vibrational frequencies, normal modes, zero-point energy, and IR spectra of molecules and clusters using MLIPs.

MITAuto-check passed

Install Chem Vibration

skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill chem-vibration -a claude-code

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

GitHub CLI
$ gh skill install learningmatter-mit/AtomisticSkills chem-vibration --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/learningmatter-mit/AtomisticSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/chem-vibration .claude/skills/chem-vibration && 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
chem-vibration
GitHub stars
176
Token cost
~1.3k tokens
SKILL.md length
457 words
Files
4 (incl. scripts)
Skills in repo
129
Repo updated
First seen
Licence
MIT

At a glance

Calculate vibrational frequencies, normal modes, zero-point energy, and IR spectra of molecules and clusters using MLIPs.

  • Works in 6 steps: Prerequisites → Choosing a Foundation Potential → Calculation Workflow → …
  • SKILL.md covers Goal, Background, 1. Prerequisites and 2. Choosing a Foundation…, plus 4 more sections
  • Runs Python scripts from its folder

What it does

Chem Vibration is an agent skill from learningmatter-mit/AtomisticSkills. Calculate vibrational frequencies, normal modes, zero-point energy, and IR spectra of molecules and clusters using MLIPs.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `examples/H2O/README.md`, `examples/H2O/vibration_results.json` and `scripts/calculate_vibrations.py`).

The repository describes itself as: Integrating AtomisticSkills into Agentic IDEs (Cursor, Claude Code, Codex, Google Antigravity, Hermes Agent, etc). The licence is MIT.

Example prompts

  • “/chem-vibration”

Requirements

  • Python 3

Workflow steps

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

  1. Prerequisites
  2. Choosing a Foundation Potential
  3. Calculation Workflow
  4. Output Files
  5. Examples
  6. Constraints

What it can do on your machine

Read from SKILL.md and the folder at commit 6257444. 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

    Ships 1 file in scripts/ (Python), which the agent can run.

    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):

    • github.com

    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

Chem Vibration loads about 1.3k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 457 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~34
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from learningmatter-mit/AtomisticSkills at commit 6257444, republished under its MIT licence (© learningmatter-mit). 457 words, ~1,265 tokens.

Download SKILL.mdSave it as .claude/skills/chem-vibration/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
chem-vibration
description
Calculate vibrational frequencies, normal modes, zero-point energy, and IR spectra of molecules and clusters using MLIPs.
metadata.category
chemistry
metadata.venv
mlip

Molecular Vibration Analysis Skill

Goal

Calculate the vibrational frequencies ($\nu$), normal modes, and zero-point energy (ZPE) of non-periodic (finite) systems — molecules, clusters, and adsorbates — within the harmonic approximation using Machine Learning Interatomic Potentials (MLIPs).

[!IMPORTANT] This skill is for molecules and finite systems only. For periodic crystals, use the phonon skill instead.

Background

In the harmonic approximation, the potential energy surface near a local minimum is approximated as $V \approx V_0 + \frac{1}{2} \sum_{ij} H_{ij} \Delta r_i \Delta r_j$, where $H_{ij} = \frac{\partial^2 V}{\partial r_i \partial r_j}$ is the Hessian (force constant) matrix. Diagonalizing the mass-weighted Hessian yields $3N$ eigenvalues: for a nonlinear molecule, $3N-6$ are real vibrational modes (and $3N-5$ for linear molecules), while the remaining eigenvalues correspond to translational and rotational degrees of freedom (near zero).

1. Prerequisites

  • An MLIP wrapper must be available (MACEWrapper, MatGLWrapper, or FAIRCHEMWrapper).
  • ASE is included in the mlip and fairchem environments.
  • The input structure must be a molecule or cluster (non-periodic). Periodic systems should use mat-phonon.

2. Choosing a Foundation Potential

[!IMPORTANT]

  • Use OMAT or MatPES trained models (e.g., MACE-OMAT-0-small). These are optimized for forces and give reliable Hessians.
  • The harmonic approximation requires a well-converged equilibrium geometry. Always relax with tight force tolerance (fmax ≤ 0.001 eV/Å) before computing vibrations.

Refer to the foundation-potentials skill for details.

3. Calculation Workflow

Step 1: Prepare a molecule

Use ASE's built-in molecule database or provide a structure file:

bash
# Built-in molecules: H2O, CO2, CH4, NH3, CH3OH, C2H6, etc.
# Or provide a .xyz / .cif / POSCAR file
Step 2: Run vibration analysis
bash
${CLAUDE_SKILL_DIR}/../../venv/run mlip python ${CLAUDE_SKILL_DIR}/scripts/calculate_vibrations.py \
    --molecule H2O \
    --model_type mace \
    --model_name MACE-OMAT-0-small \
    --output_dir research/my_folder/vibrations

With a structure file instead:

bash
${CLAUDE_SKILL_DIR}/../../venv/run mlip python ${CLAUDE_SKILL_DIR}/scripts/calculate_vibrations.py \
    --structure path/to/molecule.xyz \
    --model_type mace \
    --model_name MACE-OMAT-0-small \
    --no_relax \
    --output_dir research/my_folder/vibrations

Key Parameters:

  • --molecule: ASE built-in molecule name (e.g., H2O, CO2, CH4)
  • --structure: Path to structure file (alternative to --molecule)
  • --delta: Finite-difference displacement in Å (default: 0.01)
  • --nfree: Number of displacements per degree of freedom, 2 or 4 (default: 2)
  • --relax / --no_relax: Whether to relax before vibration analysis (default: relax)
  • --fmax: Force convergence for relaxation (default: 0.001 eV/Å)
Show full SKILL.md (160 more words)Show less

4. Output Files

  • vibration_results.json: Summary including:
    • frequencies_cm1: All frequencies in cm⁻¹
    • frequencies_meV: All frequencies in meV
    • real_modes: Indices and frequencies of real vibrational modes
    • imaginary_modes: Indices and frequencies of imaginary modes (should be near zero)
    • zero_point_energy_eV: Zero-point energy in eV
    • n_atoms, formula, is_linear
  • vib.N.traj: Trajectory files for each vibrational mode (for visualization)

5. Examples

See examples/H2O/ for a water molecule vibration analysis.

bash
${CLAUDE_SKILL_DIR}/../../venv/run mlip python ${CLAUDE_SKILL_DIR}/scripts/calculate_vibrations.py \
    --molecule H2O \
    --model_type mace \
    --model_name MACE-OMAT-0-small \
    --output_dir ${CLAUDE_SKILL_DIR}/examples/H2O

Expected H2O vibrational modes (experimental reference):

ModeTypeExperimental (cm⁻¹)
Bendingν₂~1595
Symmetric stretchν₁~3657
Asymmetric stretchν₃~3756

6. Constraints

  • Molecule/cluster only: This skill applies the harmonic approximation to finite systems. For periodic crystals, use mat-phonon.
  • Equilibrium required: The structure MUST be at a local minimum (forces ≈ 0). Large residual forces invalidate the harmonic approximation.
  • Harmonic approximation: Only valid near equilibrium. Accuracy degrades for large-amplitude motions and near dissociation.
  • Environments: Scripts require an environment with MLIP packages (venv/run <venv> ...):
    • mlip for MACE and MatGL/CHGNet models
    • fairchem for FairChem/UMA models

Author: Bowen Deng Contact: GitHub @learningmatter-mit

© learningmatter-mit, 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 3 other files (scripts) in skills/chem-vibration of learningmatter-mit/AtomisticSkills.

  • SKILL.md
  • examples/H2O/README.md
  • examples/H2O/vibration_results.json
  • scripts/calculate_vibrations.py

Open the folder on GitHubat commit 6257444

Compare with similar skills

Chem Vibration 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.

Chem Vibration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Chem Vibration this skilllearningmatter-mit/AtomisticSkills176—~1.3kAutomated safety check: PassMIT
Energy Calculatorbenchflow-ai/skillsbench1.8k—~437Automated safety check: PassApache-2.0
Bio Free Energy CalculationsGPTomics/bioSkills1.2k1 repos~4.5kAutomated safety check: PassMIT
Dynamic Workflow Modeaffaan-m/ECC275k1 repos~1.3kAutomated safety check: PassMIT
Agent GitHub Modesruvnet/ruflo74k2 repos~1.7kAutomated safety check: PassMIT
Consent Modethedaviddias/Front-End-Checklist74k—~425Automated safety check: PassMIT

Similar skills

  • Energy Calculator

    benchflow-ai/skillsbench

    Calculate per-second RMS energy from audio files. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~437 tokensUpdated 2 mo ago
    Auto-check passed
  • Performs alchemical free-energy calculations including relative binding free energy (RBFE / FEP+) and absolute binding free energy (ABFE) via OpenFE, FEP+, GROMACS, AMBER pmemd, and OpenMM with…

    1.2k GitHub starsUsed in 1 repo~4.5k tokens
    Research & ScienceAuto-check passed
  • Design task-local harnesses, eval gates, and reusable skill extraction for Claude dynamic workflow mode and other adaptive agent harnesses.

    275k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Agent GitHub Modes

    ruvnet/ruflo

    Agent skill for github-modes - invoke with $agent-github-modes

    74k GitHub starsUsed in 2 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Consent Mode

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Implement Google Consent Mode v2.

    74k GitHub stars~425 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Studio Mode

    remotion-dev/remotion

    Official

    Understand the capabilities and restrictions of each Remotion Studio mode.

    62k GitHub stars~313 tokensUpdated today
    Media & CreativeAuto-check passed

More from learningmatter-mit/AtomisticSkills

All 129 skills in this repo
  • Drug Binding Site Definition

    learningmatter-mit/AtomisticSkills

    Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification.

    176 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Drug Complex System Builder

    learningmatter-mit/AtomisticSkills

    Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation.

    176 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Drug Pocket Detection

    learningmatter-mit/AtomisticSkills

    Identify and rank ligandable pockets on a protein structure or model using geometry (fpocket) or an ML predictor (P2Rank).

    176 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Chem Bond Dissociation

    learningmatter-mit/AtomisticSkills

    Calculate homolytic and heterolytic bond dissociation energies (BDEs) for all single bonds in a molecule using MLIPs with RDKit fragmentation.

    176 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Chem Conformer Search

    learningmatter-mit/AtomisticSkills

    Generate molecular conformers with RDKit ETKDG, relax with MLIPs, and rank by energy with Boltzmann weighting.

    176 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Chem DB Mof

    learningmatter-mit/AtomisticSkills

    Query multiple MOF databases (QMOF via MPContribs; ARC-MOF DB7/Majumdar et al.

    176 GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Questions about Chem Vibration

What does Chem Vibration do?

Calculate vibrational frequencies, normal modes, zero-point energy, and IR spectra of molecules and clusters using MLIPs. Chem Vibration is an agent skill from learningmatter-mit/AtomisticSkills. Calculate vibrational frequencies, normal modes, zero-point energy, and IR spectra of molecules and clusters using MLIPs.

How do I install Chem Vibration in Claude Code?

Run `npx skills add learningmatter-mit/AtomisticSkills --skill chem-vibration -a claude-code`. Or copy the skill folder (skills/chem-vibration in learningmatter-mit/AtomisticSkills) into .claude/skills/chem-vibration in your project. Claude Code loads it when a task matches its description.

How do I install Chem Vibration in Codex?

Run `npx skills add learningmatter-mit/AtomisticSkills --skill chem-vibration -a codex`. Or copy the skill folder (skills/chem-vibration in learningmatter-mit/AtomisticSkills) into .agents/skills/chem-vibration in your project. Codex loads it when a task matches its description.

Can I use Chem Vibration 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 learningmatter-mit/AtomisticSkills --skill chem-vibration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chem-vibration, .gemini/skills/chem-vibration, .github/skills/chem-vibration and .opencode/skills/chem-vibration in your project.

What does Chem Vibration need to run?

Going by SKILL.md and its folder, Chem Vibration needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Chem Vibration access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Chem Vibration 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Chem Vibration use?

Chem Vibration is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Chem Vibration use?

About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Chem Vibration?

Skills that share tags, products or a category with Chem Vibration: Energy Calculator (benchflow-ai/skillsbench, 1.8k stars), Bio Free Energy Calculations (GPTomics/bioSkills, 1.2k stars), Dynamic Workflow Mode (affaan-m/ECC, 275k stars) and Agent GitHub Modes (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Chem Vibration?

learningmatter-mit (a GitHub organization) maintains it in learningmatter-mit/AtomisticSkills, which has 176 GitHub stars. The repository holds 129 skills in this directory. The repository was last updated on October 7, 2026.

Source: learningmatter-mit/AtomisticSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.