$npx -y skills add jinzhezenggroup/computational-chemistry-agent-skills --skill dft-vaspRoute VASP DFT requests to task-specific subskills based on user intent. Use when the user asks for VASP workflows and you must decide between static SCF, relaxation, DOS, or band-structure task preparation. This orchestration skill does not own detailed input generation logic; i
| 1 | # VASP Task Router |
| 2 | |
| 3 | Use this skill as the **top-level VASP orchestration layer**. |
| 4 | |
| 5 | ## Purpose |
| 6 | |
| 7 | This skill routes the request to one task-specific VASP subskill path: |
| 8 | |
| 9 | - `dft-vasp/static` |
| 10 | - `dft-vasp/relax` |
| 11 | - `dft-vasp/dos` |
| 12 | - `dft-vasp/band` |
| 13 | |
| 14 | ## Scope |
| 15 | |
| 16 | This router skill should: |
| 17 | |
| 18 | - require a user-provided structure or prerequisite run artifacts |
| 19 | - classify user intent into one VASP task type |
| 20 | - collect only minimal shared context before dispatch |
| 21 | - delegate detailed parameter handling to the selected subskill |
| 22 | - enforce consistent output/handoff policy across subskills |
| 23 | |
| 24 | This router skill should **not**: |
| 25 | |
| 26 | - own full INCAR/KPOINTS templates for all tasks |
| 27 | - execute or submit calculations |
| 28 | - bypass task-specific guardrails |
| 29 | |
| 30 | ## Hard requirement |
| 31 | |
| 32 | The user must provide enough starting context: |
| 33 | |
| 34 | - structure input for `static` / `relax` |
| 35 | - prerequisite SCF artifacts for `dos` / `band` when required |
| 36 | |
| 37 | If prerequisites are missing, stop and ask for them. |
| 38 | |
| 39 | ## Routing rules |
| 40 | |
| 41 | 1. If user requests single-point energy/electronic SCF: route to `dft-vasp/static`. |
| 42 | 1. If user requests geometry optimization: route to `dft-vasp/relax`. |
| 43 | 1. If user requests density of states workflow: route to `dft-vasp/dos`. |
| 44 | 1. If user requests band-structure workflow: route to `dft-vasp/band`. |
| 45 | 1. If intent is ambiguous, ask one focused clarification question before routing. |
| 46 | |
| 47 | ## Shared policy for all subskills |
| 48 | |
| 49 | - do not invent pseudopotentials |
| 50 | - expose assumptions explicitly |
| 51 | - report unresolved scientific choices |
| 52 | - return handoff-ready task directory |
| 53 | - if execution is requested, hand off to `dpdisp-submit` |
| 54 | |
| 55 | ## Output from router |
| 56 | |
| 57 | Provide: |
| 58 | |
| 59 | 1. selected subskill name |
| 60 | 1. why it was selected |
| 61 | 1. minimal required inputs still missing (if any) |
| 62 | 1. explicit next step (invoke selected subskill) |