Astropy
zLanqing/codex-claude-academic-skills
Comprehensive Python library for astronomy and astrophysics.
Discover new crystal structures by data-mined ionic substitution — propose candidates from existing structures (forward) or find potential structures for a target composition (reverse).
$ npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install learningmatter-mit/AtomisticSkills mat-ionic-substitution --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/learningmatter-mit/AtomisticSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mat-ionic-substitution .claude/skills/mat-ionic-substitution && rm -rf skills-srcUse ~/.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/
Install the "mat-ionic-substitution" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/mat-ionic-substitution into .claude/skills/mat-ionic-substitution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mat-ionic-substitution", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/mat-ionic-substitutionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install learningmatter-mit/AtomisticSkills mat-ionic-substitution --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/learningmatter-mit/AtomisticSkills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/mat-ionic-substitution .agents/skills/mat-ionic-substitution && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mat-ionic-substitution" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/mat-ionic-substitution into .agents/skills/mat-ionic-substitution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mat-ionic-substitution", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install learningmatter-mit/AtomisticSkills mat-ionic-substitution --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/learningmatter-mit/AtomisticSkills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/mat-ionic-substitution .cursor/skills/mat-ionic-substitution && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mat-ionic-substitution" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/mat-ionic-substitution into .cursor/skills/mat-ionic-substitution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mat-ionic-substitution", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/learningmatter-mit/AtomisticSkills.git --path skills/mat-ionic-substitution--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install learningmatter-mit/AtomisticSkills mat-ionic-substitution --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/learningmatter-mit/AtomisticSkills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/mat-ionic-substitution .gemini/skills/mat-ionic-substitution && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mat-ionic-substitution" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/mat-ionic-substitution into .gemini/skills/mat-ionic-substitution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mat-ionic-substitution", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install learningmatter-mit/AtomisticSkills mat-ionic-substitutionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/learningmatter-mit/AtomisticSkills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/mat-ionic-substitution .github/skills/mat-ionic-substitution && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mat-ionic-substitution" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/mat-ionic-substitution into .github/skills/mat-ionic-substitution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mat-ionic-substitution", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install learningmatter-mit/AtomisticSkills mat-ionic-substitution --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/learningmatter-mit/AtomisticSkills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/mat-ionic-substitution .opencode/skills/mat-ionic-substitution && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mat-ionic-substitution" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/mat-ionic-substitution into .opencode/skills/mat-ionic-substitution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mat-ionic-substitution", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mat-ionic-substitutionDiscover new crystal structures by data-mined ionic substitution — propose candidates from existing structures (forward) or find potential structures for a target composition (reverse).
Mat Ionic Substitution is an agent skill from learningmatter-mit/AtomisticSkills. Discover new crystal structures by data-mined ionic substitution — propose candidates from existing structures (forward) or find potential structures for a target composition (reverse).
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 21 other files, including scripts (for example `examples/Li2ZrCl6_reverse/README.md`, `examples/Li2ZrCl6_reverse/structure_manifest.json` and `examples/NaCoO2_forward/README.md`).
It sits in Research & Science, covering Physical and earth sciences. The repository describes itself as: Integrating AtomisticSkills into Agentic IDEs (Cursor, Claude Code, Codex, Google Antigravity, Hermes Agent, etc). The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7f2d86d. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Python, from the files we listed), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
doi.orggithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MP_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mat Ionic Substitution loads about 1.4k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 550 words of instructions outside code blocks.
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.
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.
The full file from learningmatter-mit/AtomisticSkills at commit 7f2d86d, republished under its MIT licence (© learningmatter-mit). 550 words, ~1,389 tokens.
.claude/skills/mat-ionic-substitution/SKILL.md (or your agent's skills folder). This skill also uses 17 other files; get the full folder from GitHub.To discover new crystal structures using data-mined ionic substitution (Hautier et al. 2011). Two modes:
The substitution probability model is trained on the ICSD (Inorganic Crystal Structure Database) and captures empirical chemical rules about which ions commonly substitute for each other.
[!TIP] After generating candidate structures, relax them with an MLIP and compute their stability (E_hull) to prioritize the most thermodynamically viable candidates.
Prepare a source structure (CIF or POSCAR). Ensure it is an ordered structure.
Run the forward proposal script:
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/propose_substitutions.py \
--structure source.cif \
--threshold 0.001 \
--output_dir proposed_substitutions/The script will:
substitution_manifest.json with substitution maps and probabilitiesReview and filter results: Higher probability → more likely to be stable. Relax top candidates with an MLIP.
Run the reverse search script:
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/find_structures_for_composition.py \
--composition LiCl \
--threshold 0.001 \
--output_dir structures_for_LiCl/The script will:
SubstitutionPredictor to find precursor compositions whose ions map to the targetstructure_manifest.json with full provenanceInterpret results: Each candidate includes:
"materials_project" (direct match) or "substitution" (derived){Na+→Li+} and probabilityIf you already know the exact substitution you want to make on a specific structure, you can immediately generate the new structure using the base MCP server's modify_structure tool:
modify_structure tool: Maps an existing element to a new element or fraction.substitution_dict_json='{"Na": "Li"}' (Replaces all Na with Li)substitution_dict_json='{"Na": {"Li": 0.5, "Na": 0.5}}' (Creates a 50/50 random mixture)${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/propose_substitutions.py \
--structure NaCoO2.cif \
--threshold 0.001 \
--output_dir NaCoO2_substitutions/Expected output includes: LiCoO₂, KCoO₂, NaNiO₂, NaMnO₂, LiNiO₂, etc.
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/find_structures_for_composition.py \
--composition LiCl \
--output_dir LiCl_structures/Expected output includes: LiCl from MP + NaCl(Na→Li), KCl(K→Li), NaBr(Na→Li, Br→Cl), etc.
AutoOxiStateDecorationTransformation, but exotic compositions may fail.MP_API_KEY environment variable to query Materials Project.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
SKILL.md and 17 other files (scripts) in skills/mat-ionic-substitution of learningmatter-mit/AtomisticSkills.
Open the folder on GitHubat commit 7f2d86d
Mat Ionic Substitution 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mat Ionic Substitution this skilllearningmatter-mit/AtomisticSkills | 175 | — | ~1.4k | Automated safety check: Pass | MIT | |
| AstropyzLanqing/codex-claude-academic-skills | 4.6k | 14 repos | ~2.9k | Automated safety check: Pass | BSD-3-Clause | |
| PymatgenzLanqing/codex-claude-academic-skills | 4.6k | 12 repos | ~5k | Automated safety check: Pass | MIT | |
| Cantera Ignition DelayK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Weathertrpc-group/trpc-agent-go | 1.8k | 8 repos | ~591 | Automated safety check: Pass | Apache-2.0 | |
| Pymol VisualizationChatMol/ChatMol | 372 | — | ~1.2k | Automated safety check: Pass | MIT |
zLanqing/codex-claude-academic-skills
Comprehensive Python library for astronomy and astrophysics.
zLanqing/codex-claude-academic-skills
Materials science toolkit. An agent skill from zLanqing/codex-claude-academic-skills.
K-Dense-AI/scientific-agent-skills
Runs Cantera constant-volume or constant-pressure ignition simulations and reports temperature-based ignition delay with mechanism provenance and checks.
trpc-group/trpc-agent-go
Get current weather and forecasts via wttr.in or Open-Meteo.
ChatMol/ChatMol
Generate publication-quality molecular visualization images using PyMOL.
Muuuun/luxas
Write domain-authentic review articles that synthesize rather than stack.
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.
learningmatter-mit/AtomisticSkills
Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation.
learningmatter-mit/AtomisticSkills
Identify and rank ligandable pockets on a protein structure or model using geometry (fpocket) or an ML predictor (P2Rank).
learningmatter-mit/AtomisticSkills
Calculate homolytic and heterolytic bond dissociation energies (BDEs) for all single bonds in a molecule using MLIPs with RDKit fragmentation.
learningmatter-mit/AtomisticSkills
Generate molecular conformers with RDKit ETKDG, relax with MLIPs, and rank by energy with Boltzmann weighting.
learningmatter-mit/AtomisticSkills
Query multiple MOF databases (QMOF via MPContribs; ARC-MOF DB7/Majumdar et al.
Categories
Discover new crystal structures by data-mined ionic substitution — propose candidates from existing structures (forward) or find potential structures for a target composition (reverse). Mat Ionic Substitution is an agent skill from learningmatter-mit/AtomisticSkills. Discover new crystal structures by data-mined ionic substitution — propose candidates from existing structures (forward) or find potential structures for a target composition (reverse).
Mat Ionic Substitution fits situations like: tasks that involve Physical and earth sciences.
Run `npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a claude-code`. Or copy the skill folder (skills/mat-ionic-substitution in learningmatter-mit/AtomisticSkills) into .claude/skills/mat-ionic-substitution in your project. Claude Code loads it when a task matches its description.
Run `npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a codex`. Or copy the skill folder (skills/mat-ionic-substitution in learningmatter-mit/AtomisticSkills) into .agents/skills/mat-ionic-substitution in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add learningmatter-mit/AtomisticSkills --skill mat-ionic-substitution -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mat-ionic-substitution, .gemini/skills/mat-ionic-substitution, .github/skills/mat-ionic-substitution and .opencode/skills/mat-ionic-substitution in your project.
Going by SKILL.md and its folder, Mat Ionic Substitution needs Python for the scripts in its folder and credentials named MP_API_KEY. Our summary lists: Python 3; A credential in MP_API_KEY.
SKILL.md names 2 domains. As links in the text: doi.org and github.com. This is read from the text; nothing was executed.
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.
Mat Ionic Substitution is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mat Ionic Substitution: Astropy (zLanqing/codex-claude-academic-skills, 4.6k stars), Pymatgen (zLanqing/codex-claude-academic-skills, 4.6k stars), Cantera Ignition Delay (K-Dense-AI/scientific-agent-skills, 48k stars) and Weather (trpc-group/trpc-agent-go, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
learningmatter-mit (a GitHub organization) maintains it in learningmatter-mit/AtomisticSkills, which has 175 GitHub stars. The repository holds 129 skills in this directory. The repository was last updated on October 6, 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.