Agent skill · Data & Analytics

candidate-generator

Generate inorganic crystal structure candidates for computational materials discovery workflows. Use this skill whenever the user wants to build, explore, or diversify a pool of inorganic structures for DFT screening, high-throughput calculations, machine learning dataset construction, or property-guided search. This skill covers the full candidate generation pipeline - seed structure creation -> chemical space exploration -> configurational ordering -> defect generation -> ensemble augmentation.

majiayu000github.com/majiayu000GitHub ↗
claude-codeMIT
Install
npx skills add majiayu000/claude-skill-registry --skill candidate-generator --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 23 KB
Bundled scripts: none
Path: skills/analysis/candidate-generator/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Guides the systematic generation of inorganic crystal structure candidates using a suite of seven pymatgen-based tools. It defines a funnel: prototype → explore chemistry → resolve disorder → add defects → augment, selecting branches to fit discovery goals. It also emphasizes tracking structures in the ASE database to avoid recomputation.

How it works

The skill enumerates concrete tools and their roles:

  • pymatgen_prototype_builder to seed a structure from spacegroup, species, and lattice parameters, returning structures[i].structure for downstream tools.
  • pymatgen_substitution_generator to explore chemical space by substituting elements with parameters like substitutions, n_structures, max_attempts, and enforce_charge_neutrality.
  • pymatgen_ion_exchange_generator to perform charge-neutral substitutions with replace_ion, with_ions, exchange_fraction, and max_structures.
  • pymatgen_enumeration_generator to enumerate ordered configurations from disordered inputs, requiring min_cell_size, max_cell_size, n_structures, sort_by, and add_oxidation_states.
  • pymatgen_sqs_generator to generate a single best quasirandom structure per input with supercell_size, supercell_matrix, n_structures, n_mc_steps, and n_shells.
  • pymatgen_defect_generator to create symmetry-inequivalent defects from a host with vacancy_species, substitution_species, interstitial_species, charge_states, and supercell_min_atoms.
  • pymatgen_perturbation_generator to create ensembles via random displacements and/or strain with displacement_max, strain_percent, n_structures, and seed.

Additionally, it provides downstream guidance for saving results with ase_store_result, including required output_format='ase', and cautions about reserved ASE key names. It describes workflow phases (seed, chemical space exploration, disorder resolution, defect generation, perturbation) and connecting steps (MP filtering, ASE storage, etc.).

When to use it

Use when building, exploring, or diversifying a pool of inorganic structures for DFT screening, high-throughput calculations, ML dataset construction, or property-guided search. Choose branches based on goals: exploratory isostructural screening, charge-neutral substitutions for ionic materials, complete enumeration for ordered phases, SQS for disorder modeling, and perturbations for ensemble generation.

What it can touch

  • Tools: pymatgen_prototype_builder, pymatgen_substitution_generator, pymatgen_ion_exchange_generator, pymatgen_enumeration_generator, pymatgen_sqs_generator, pymatgen_defect_generator, pymatgen_perturbation_generator.
  • Output routing and storage: ase_store_result, ase_query_db, mp_search_materials.
  • Requires: enumlib for enumeration phase (via PATH).

Caveats

  • Requires careful parameter tuning (e.g., max_attempts, n_structures) to avoid excessive outputs or duplicates.
  • Proximity warnings when using Wyckoff-based seeds; prefer explicit species/coords with validate_proximity=False for debugging.
  • Output formatting decisions influence downstream tools; ensure output_format aligns with target (e.g., 'ase' for ASE, 'poscar'/'cif' for VASP-like tools).
  • The workflow emphasizes tracking and avoiding recomputation by storing structures in ASE DB.
From the SKILL.md

# Inorganic Candidate Generation This skill guides the systematic generation of inorganic crystal structure candidates using a suite of seven pymatgen-based tools. The methodology is: **prototype → explore chemistry → resolve disorder → add defects → augment**, selecting the appropriate branch(es) for the discovery goal. The core philosophy: candidate generation is a funnel. Start broad (many chemistries, many configurations), then narrow using physical filters (charge neutrality, Ewald energy, thermodynamic stability from MP). Always track structures in the ASE database using `ase_store_result` so nothing is recomputed. --- ## Tool Catalogue ### 1. `pymatgen_prototype_builder` — Seed Structure Builds an ideal crystal from a spacegroup number/symbol, species list, and lattice parameters. This is the **entry point** for any workflow that starts from scratch rather than an existing structure. **Key parameters:** - `spacegroup`: int (1–230) or Hermann-Mauguin symbol, e.g. `225` or `"Fm-3m"` - `species`: list of element symbols (`['La', 'Mn', 'O', 'O', 'O']`) or Wyckoff dict - `lattice_parameters`: `[a, b, c, alpha, beta, gamma]` in Å and degrees; `[a]` works for cubic - `wyckoff_posit

What's inside
Steps it walks through
  1. Tool Catalogue
  2. 1. pymatgenprototypebuilder — Seed Structure
  3. 2. pymatgensubstitutiongenerator — Chemical Space Exploration
  4. 3. pymatgenionexchangegenerator — Charge-Neutral Substitution
  5. 4. pymatgenenumerationgenerator — Exhaustive Ordering of Disordered Structures
  6. 5. pymatgensqsgenerator — Special Quasirandom Structures
  7. 6. pymatgendefectgenerator — Point Defect Supercells
  8. 7. pymatgenperturbationgenerator — Structural Ensemble / Augmentation
  9. Workflow Phases
  10. Phase 1: Seed Structure
  11. Phase 2: Chemical Space Exploration
  12. Phase 3: Resolve Disorder (if structures have partial occupancies)
  13. Phase 4: Defect Generation (optional branch)
  14. Phase 5: Perturbation / Augmentation
Ships with 1 file
  • metadata.json
More from claude-skill-registry
All skills →
About this skill
What does the candidate-generator skill do?

Generate inorganic crystal structure candidates for computational materials discovery workflows. Use this skill whenever the user wants to build, explore, or diversify a pool of inorganic structures for DFT screening, high-throughput calculations, machine learning dataset construction, or property-guided search. This skill covers the full candidate generation pipeline - seed structure creation -> chemical space exploration -> configurational ordering -> defect generation -> ensemble augmentation.

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill candidate-generator --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going