Standardized, stage-gated workflow for high-throughput luminescent materials screening (TADF, Fluorescence, Phosphorescence).
This skill is designed for autonomous agents and human-in-the-loop execution. It enforces strict boundary initialization, topology-aware assembly, stability filtering, wavelength filtering, and final TDDFT validation.
- Initializes workflow boundary conditions before any generation starts.
- Builds donor/acceptor candidate molecules with strict topology rules.
- Runs structural stability filtering with xTB.
- Runs optional TDDFT-xTB wavelength-window filtering.
- Prepares elite candidates for full TDDFT validation.
- Enforces stage gates and inquiry-stage clarification rules.
skills/tadf-screening/
├── SKILL.md
├── README.md
├── BATCH_STATUS.md
├── data/
│ └── da_library_30.csv
├── examples/
│ └── molecules.csv
├── references/
│ ├── workflow-spec.md
│ └── io-contract.md
└── scripts/
├── screening_workflow_initializer.py
├── build_da_topology_library.py
├── run_xtb_batch_manifest.py
├── run_tddft_xtb_filter.py
├── smiles_assembler.py
└── molzip_assembler.py
Foundational initializer. Must run first.
Responsibilities:
- Detect hardware (
cpu,ram,gpu) and Slurm/HPC hints. - Assign
compute_tier:local_basic | local_gpu | remote_cluster. - Capture photophysical target constraints:
emission_range_nmemission_typespectrum_width_requirementempirical_stokes_shift_ev
- Discover TDDFT engines (
gaussian,orca,qchem,pyscf) and apply smart defaults. - Enforce active inquiry mode for missing critical fields.
- Output JSON configuration for downstream stages.
Critical protocol enforced in initializer:
- Do not estimate emission from S0-only vertical excitation.
- Use:
S0 optimization -> excited-state optimization (S1/T1) -> vertical emission.
Topology-aware D/A assembly script.
Supported topologies:
D-AD-A-DA-D-AD-pi-AD_n-A
Key constraints:
- Uses RDKit assembly logic (
molzip-mapped fragments; compatible with reaction-style workflows). - For
D-A-D, acceptor must have >=2 leaving groups (Cl/Br/I) or candidate is skipped. - Accepts initial sample count (
--initial-sample-count, default10000).
Output:
- CSV with assembled
product_smilescandidates.
Batch xTB pre-screening runner.
Responsibilities:
- Read manifest (
idx,name,xyz_path). - Execute xTB per molecule.
- Track checkpoints and per-sample status.
Output contracts:
xtb_state.json(resume state)xtb_progress.csv(detailed per-sample result)
Typical usage in this workflow:
- Structural stability and coarse electronic pre-filtering.
Semi-empirical wavelength-window filter after xTB.
Responsibilities:
- Run TDDFT-xTB-like stage (depending on environment tools).
- Parse excitation proxy.
- Apply empirical Stokes shift.
- Keep molecules inside target emission window.
Output:
tddft_xtb_results.csvtddft_xtb_blue_window.csv
TADF optional gate:
- Apply practical
ΔE_STthreshold rule when available.
SMILES-level assembly and validation tools.
Responsibilities:
- Fragment validation and auditable rejection reasons.
- Connectivity and sanitization checks.
- Mapped-fragment assembly via
molziproute when needed.
- Run initializer with
emission_type=TADF,emission_range_nm=450-490, narrow width preference. - Select topology (
D-A-Dor mixed) and sample count (default10000). - Build topology library (
build_da_topology_library.py). - Generate
.xyzstructures with your project generator. - Run
run_xtb_batch_manifest.py. - Run
run_tddft_xtb_filter.pywith your empirical Stokes shift. - Send final shortlist to full TDDFT (S0 -> S1/T1 -> emission).
- Set
emission_type=Fluorescence. - Keep tighter oscillator/emission filtering in Stage 2.
- Final validation must include
S1excited-state optimization before emission.
- Set
emission_type=Phosphorescence. - Use topology and acceptor choices suitable for stronger SOC pathways.
- Final validation must include
T1optimization before emission.
- Keep built-in DeepChem/PubChem enabled.
- Add
custom_db_paths(.csv/.smi) in initializer. - Re-run topology assembly on merged library.
Run initializer and resolve missing critical fields.
- Build candidates by topology.
- Generate 3D structures.
- Run xTB structure optimization/stability checks.
- Discard non-converged or structurally unstable molecules.
- Compute absorption proxies.
- Apply
empirical_stokes_shift_ev. - Keep candidates within target emission range.
- For TADF, apply
ΔE_STgate if available.
- Elite candidates only.
- Protocol:
S0 opt -> S1/T1 opt -> vertical emission. - Use selected engine and
tddft_levelfrom initializer.
- Build broadened emission profile from discrete transitions.
- Convert energy axis to wavelength axis.
- If Stage 1 yields
ok=0: stop and diagnose before Stage 2. - If required tools for Stage 2 are missing: emit explicit
tool_missingand do not fake results. - If remote execution is used, batch metadata must record host/workdir/pid/timestamps.
- Keep generation local if RDKit is unavailable remotely.
- Push
.xyzbatches to Marcus for xTB and later TDDFT steps. - Exclude macOS sidecar files (
._*) during upload.
references/workflow-spec.mdreferences/io-contract.md