Wannier90 Workflows
This skill handles real Wannier90 workflows rather than generic tight-binding discussion. Use it when the user needs help designing a .win file, checking the parent DFT handoff, debugging localization or disentanglement, or reviewing .wout output.
When to use
Use this skill when the request mentions or implies:
wannier90, .win, .wout, .amn, .mmn, .eig, .chk, hr.dat
- projections, frozen or disentanglement windows, spread minimization, localization
- parent DFT interfaces from VASP, QE, or ABINIT
- interpolation-ready tight-binding output for bands, Berry properties, or downstream topological analysis
Operating stance
Prioritize missing information in this order:
- parent code and which interface files already exist
- target subspace: isolated bands or entangled manifold
- number of Wannier functions and physically sensible projections
- whether the user wants interpolation only, localized orbitals, or downstream transport or topology
Never silently invent:
- a projection set for a chemistry-sensitive system without explaining the assumption
- disentanglement windows for an unknown entangled manifold
- whether spinors, SOC, or symmetry-reduced assumptions are appropriate
- whether the parent DFT calculation produced the right interface files
Workflow
1. Classify the request
- Setup: draft or edit a
.win file and parent-stage checklist.
- Review: inspect
.win, .wout, and interface files and summarize readiness or failure.
- Recovery: explain why localization or disentanglement failed and what to change first.
2. Gather the minimum viable context
Before recommending projections or windows, establish:
- parent code and whether
.amn, .mmn, .eig, or a compatible interface already exist
- orbital character of the target bands
- isolated vs entangled manifold
- spinless vs spinor treatment
- whether the result feeds only interpolation, or a downstream tool such as WannierTools
3. Use the bundled helpers
scripts/make_wannier90_inputs.py
Create a conservative .win.template and workflow checklist.
scripts/check_wannier90_project.py
Check a Wannier90 working directory for missing interface files and obvious template issues.
scripts/summarize_wannier90_run.py
Summarize a .wout file or working directory using auditable heuristics.
scripts/recommend_wannier90_recovery.py
Turn incomplete or non-converged Wannier90 runs into concrete recovery guidance.
scripts/export_status_report.py
Export a shareable markdown status report from a Wannier90 working directory.
scripts/export_input_suggestions.py
Export conservative Wannier90 input suggestion snippets based on detected recovery patterns.
4. Load focused references only when needed
- core Wannier90 guidance:
references/wannier90.md
- projection and window design:
references/projection-design.md
- failure handling:
references/failure-modes.md
5. Deliver an auditable answer
Whenever you recommend a projection or window change, include:
- the parent-code assumption
- the target orbital manifold you are modeling
- unresolved choices the user still needs to confirm
- which files must exist before running the next stage
Guardrails
- A good Wannier90 workflow starts with a good parent DFT stage; do not hide a poor handoff behind
.win edits.
- If the user requests a disentangled manifold, explain that projection choice and window choice interact.
- If downstream topology or surface-state analysis is intended, insist on a clean, physically sensible low-energy model first.
Quality bar
- Prefer explicit assumptions over vague advice.
- Distinguish interface-file issues from physics-model issues.
- If the current directory lacks the required parent files, say so plainly.
1---2name: wannier90-workflows3description: Use when the task involves Wannier90 workflows, including .win input design for isolated or disentangled manifolds, projection choices, disentanglement windows, parent DFT handoff from VASP, QE, or ABINIT, localization review, and diagnosis of .wout, .amn, .mmn, .eig, or .chk issues.4---56# Wannier90 Workflows78This skill handles real Wannier90 workflows rather than generic tight-binding discussion. Use it when the user needs help designing a `.win` file, checking the parent DFT handoff, debugging localization or disentanglement, or reviewing `.wout` output.910## When to use1112Use this skill when the request mentions or implies:1314- `wannier90`, `.win`, `.wout`, `.amn`, `.mmn`, `.eig`, `.chk`, `hr.dat`15- projections, frozen or disentanglement windows, spread minimization, localization16- parent DFT interfaces from VASP, QE, or ABINIT17- interpolation-ready tight-binding output for bands, Berry properties, or downstream topological analysis1819## Operating stance2021Prioritize missing information in this order:22231. parent code and which interface files already exist242. target subspace: isolated bands or entangled manifold253. number of Wannier functions and physically sensible projections264. whether the user wants interpolation only, localized orbitals, or downstream transport or topology2728Never silently invent:2930- a projection set for a chemistry-sensitive system without explaining the assumption31- disentanglement windows for an unknown entangled manifold32- whether spinors, SOC, or symmetry-reduced assumptions are appropriate33- whether the parent DFT calculation produced the right interface files3435## Workflow3637### 1. Classify the request3839- **Setup**: draft or edit a `.win` file and parent-stage checklist.40- **Review**: inspect `.win`, `.wout`, and interface files and summarize readiness or failure.41- **Recovery**: explain why localization or disentanglement failed and what to change first.4243### 2. Gather the minimum viable context4445Before recommending projections or windows, establish:4647- parent code and whether `.amn`, `.mmn`, `.eig`, or a compatible interface already exist48- orbital character of the target bands49- isolated vs entangled manifold50- spinless vs spinor treatment51- whether the result feeds only interpolation, or a downstream tool such as WannierTools5253### 3. Use the bundled helpers5455- `scripts/make_wannier90_inputs.py`56 Create a conservative `.win.template` and workflow checklist.57- `scripts/check_wannier90_project.py`58 Check a Wannier90 working directory for missing interface files and obvious template issues.59- `scripts/summarize_wannier90_run.py`60 Summarize a `.wout` file or working directory using auditable heuristics.61- `scripts/recommend_wannier90_recovery.py`62 Turn incomplete or non-converged Wannier90 runs into concrete recovery guidance.63- `scripts/export_status_report.py`64 Export a shareable markdown status report from a Wannier90 working directory.65- `scripts/export_input_suggestions.py`66 Export conservative Wannier90 input suggestion snippets based on detected recovery patterns.6768### 4. Load focused references only when needed6970- core Wannier90 guidance: `references/wannier90.md`71- projection and window design: `references/projection-design.md`72- failure handling: `references/failure-modes.md`7374### 5. Deliver an auditable answer7576Whenever you recommend a projection or window change, include:7778- the parent-code assumption79- the target orbital manifold you are modeling80- unresolved choices the user still needs to confirm81- which files must exist before running the next stage8283## Guardrails8485- A good Wannier90 workflow starts with a good parent DFT stage; do not hide a poor handoff behind `.win` edits.86- If the user requests a disentangled manifold, explain that projection choice and window choice interact.87- If downstream topology or surface-state analysis is intended, insist on a clean, physically sensible low-energy model first.8889## Quality bar9091- Prefer explicit assumptions over vague advice.92- Distinguish interface-file issues from physics-model issues.93- If the current directory lacks the required parent files, say so plainly.