ase-workflows · v0.1.0 · 2026-03-24 · sha256 8eb374b6963ab50a
ase-workflows v0.1.0A
Immutable. This exact content is served forever at /api/v1/blob/8eb374b6963ab50a.
--- name: ase-workflows description: Route ASE atomistic workflow requests to task-specific subskills based on user intent. Use when the user asks for ASE-based static, relaxation, MD, or NEB workflows and you must apply consistent workflow controls independent of calculator backend. compatibility: Requires Python environment with ASE installed and at least one compatible ASE calculator backend. license: MIT catalog-hidden: true metadata: author: qqgu version: 0.1.0 repository: https://gitlab.com/ase/ase --- # ASE Workflows Router Use this skill as the top-level ASE workflow orchestration layer. ## Purpose This skill routes requests to one task-specific workflow subskill path: - `ase/ase-workflows/static` - `ase/ase-workflows/relax` - `ase/ase-workflows/md` - `ase/ase-workflows/neb` ## Scope This router skill should: - classify user intent into one ASE workflow type - collect minimal task context (goal, convergence target, outputs) - delegate detailed workflow controls to selected subskill - request calculator backend via `ase/ase-calculators` router - enforce consistent output/handoff policy This router skill should not: - hardcode backend-specific calculator parameters - execute or submit calculations directly ## Routing rules 1. single-point energy/force/stress -> `ase/ase-workflows/static` 1. geometry optimization -> `ase/ase-workflows/relax` 1. finite-temperature trajectory -> `ase/ase-workflows/md` 1. reaction path / transition-state pathway -> `ase/ase-workflows/neb` If intent is ambiguous, ask one focused clarification question. ## Shared policy for all workflow subskills - separate workflow logic from backend adapter logic - expose assumptions and unresolved choices - return reproducible task layout and run script - if execution is requested, hand off to `dpdisp-submit` ## Output from router Provide: 1. selected workflow subskill path 1. why it was selected 1. missing minimum inputs (if any) 1. explicit next step (invoke selected subskill)