$npx -y skills add jinzhezenggroup/computational-chemistry-agent-skills --skill reacnetgeneratorRun ReacNetGenerator on reactive MD trajectories to generate reaction networks and reports. Use when the user wants to analyze LAMMPS dump/xyz/bond trajectories with ReacNetGenerator. Handles LAMMPS dump quirks like x/y/z vs xs/ys/zs by converting to x/y/z (orthorhombic + triclin
| 1 | # ReacNetGenerator |
| 2 | |
| 3 | ## 10-second quickstart |
| 4 | |
| 5 | - Run a standard LAMMPS dump workflow: |
| 6 | - `uvx --refresh --from reacnet-md-tools rng-pipeline ...` |
| 7 | - Analyze existing outputs (no rerun): |
| 8 | - `uvx --refresh --from reacnet-md-tools rng-query ...` |
| 9 | |
| 10 | If you need full official flags (e.g. `--cell`, `--nopbc`, `--use-ase`, `--miso`, HMM matrices), use native: |
| 11 | |
| 12 | - `uvx --refresh --from reacnetgenerator reacnetgenerator ...` |
| 13 | |
| 14 | ## What this skill is for |
| 15 | |
| 16 | Use this skill for **reactive MD post-processing** when the user wants to: |
| 17 | |
| 18 | - run **ReacNetGenerator** on `bond`, `dump`, `xyz`, or `extxyz` trajectories |
| 19 | - handle common LAMMPS trajectory issues before running analysis |
| 20 | - choose between a **high-level wrapper** (`reacnet-md-tools`) and the **native `reacnetgenerator` CLI** |
| 21 | - inspect generated `.reactionabcd` / `.species` outputs after a run |
| 22 | |
| 23 | ## References (read only when needed) |
| 24 | |
| 25 | Read only what is relevant: |
| 26 | |
| 27 | - If the user asks about official flags or default values: [references/cli.md](references/cli.md) |
| 28 | - If the user asks about PBC/cell/`--nopbc` or input-type choice: [references/pbc-and-inputs.md](references/pbc-and-inputs.md) |
| 29 | - If the user wants copy-paste commands: [references/examples.md](references/examples.md) |
| 30 | |
| 31 | ## Tool-selection rule |
| 32 | |
| 33 | Choose the narrowest tool that solves the user’s request: |
| 34 | |
| 35 | 1. **Use `rng-pipeline` by default** for standard LAMMPS dump workflows. |
| 36 | 1. **Use native `reacnetgenerator`** when the user needs official low-level flags not exposed by the wrapper. |
| 37 | 1. **Use `rng-query`** when the user already has `.reactionabcd` / `.species` outputs and wants analysis rather than rerunning. |
| 38 | 1. **Use `rng-webapp`** only when the user explicitly wants an interactive local browser UI. |
| 39 | |
| 40 | ## Ask only for the missing inputs |
| 41 | |
| 42 | Usually you only need: |
| 43 | |
| 44 | - trajectory path(s) |
| 45 | - input type: `bond | dump | xyz | extxyz` if not obvious |
| 46 | - atom names for `-a/--atomname` unless they can be inferred from a LAMMPS data file |
| 47 | - whether the run should be treated as periodic, **only if cell information is missing or ambiguous** |
| 48 | |
| 49 | Do **not** ask unnecessary questions when the trajectory already contains enough information. |
| 50 | |
| 51 | ## Default execution policy |
| 52 | |
| 53 | ### Preferred default: wrapper CLIs (`reacnet-md-tools`) |
| 54 | |
| 55 | Use `reacnet-md-tools` for routine runs because it is safer and more agent-friendly: |
| 56 | |
| 57 | - handles standard LAMMPS dump workflows |
| 58 | - can infer atom names from nearby `.data` files |
| 59 | - writes outputs into a predictable `out/<basename>/` directory |
| 60 | - reduces manual CLI assembly errors |
| 61 | |
| 62 | When running the wrapper from an agent, prefer `uvx` so the latest published version is resolved automatically: |
| 63 | |
| 64 | ```bash |
| 65 | uvx --refresh --from reacnet-md-tools rng-pipeline --help |
| 66 | uvx --refresh --from reacnet-md-tools rng-query --help |
| 67 | ``` |
| 68 | |
| 69 | ### Fallback: native `reacnetgenerator` |
| 70 | |
| 71 | Use native `reacnetgenerator` when the user explicitly needs official flags such as: |
| 72 | |
| 73 | - `--miso` |
| 74 | - `--use-ase` |
| 75 | - `--ase-cutoff-mult` |
| 76 | - `--ase-pair-cutoffs` |
| 77 | - `--nopbc` |
| 78 | - `--cell` |
| 79 | - `-n/--nproc` |
| 80 | - `-s/--selectatoms` |
| 81 | - `--matrixa` |
| 82 | - `--matrixb` |
| 83 | - `--urls` |
| 84 | |
| 85 | If using native CLI, follow the official flag semantics in [references/cli.md](references/cli.md). |
| 86 | |
| 87 | ## Decision rules |
| 88 | |
| 89 | ### Input type |
| 90 | |
| 91 | - If the file clearly looks like a LAMMPS dump (`ITEM:` blocks), treat it as `dump`. |
| 92 | - If the input is a bond trajectory such as `bonds.reaxc`, treat it as `bond` / `lammpsbondfile`. |
| 93 | - If the input is `.xyz`, treat it as `xyz` unless it is explicitly `extxyz`. |
| 94 | |
| 95 | ### PBC / cell |
| 96 | |
| 97 | Read [references/pbc-and-inputs.md](references/pbc-and-inputs.md) when choosing `--cell` or `--nopbc`. |
| 98 | |
| 99 | Short version: |
| 100 | |
| 101 | - For **LAMMPS dump/lammpstrj with valid `BOX BOUNDS`**, do **not** ask for `--cell`. |
| 102 | - For **XYZ without cell info**, ask whether the system should be treated as periodic. |
| 103 | - Use `--nopbc` only when the run is truly non-periodic, already unwrapped/reconstructed, or lacks meaningful periodic cell semantics. |
| 104 | |
| 105 | ### HMM |
| 106 | |
| 107 | - For a quick first pass, use `--nohmm` unless the user e |