@delta-infra/cli 1.1.19 → 1.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +507 -520
- package/checksums.txt +5 -5
- package/package.json +1 -1
- package/scripts/install-wizard.js +689 -688
- package/scripts/install.js +442 -442
- package/scripts/run.js +65 -65
- package/skills/delta-protein/AGENTS.md +72 -72
- package/skills/delta-protein/SKILL.md +388 -388
- package/skills/delta-protein/agents/openai.yaml +3 -3
- package/skills/delta-protein/references/bfitter.md +63 -63
- package/skills/delta-protein/references/catapro_predict.md +62 -62
- package/skills/delta-protein/references/catpred_predict.md +64 -64
- package/skills/delta-protein/references/caver_tunnel_analyze.md +62 -62
- package/skills/delta-protein/references/consensus_mutation.md +60 -60
- package/skills/delta-protein/references/consurf_predict.md +66 -66
- package/skills/delta-protein/references/crop_sequence.md +68 -68
- package/skills/delta-protein/references/dock.md +81 -81
- package/skills/delta-protein/references/dock_score.md +69 -69
- package/skills/delta-protein/references/easifa_predict_active_site.md +69 -69
- package/skills/delta-protein/references/ephod_predict_mutation.md +65 -65
- package/skills/delta-protein/references/ephod_predict_protein.md +60 -60
- package/skills/delta-protein/references/esmfold2_predict.md +66 -66
- package/skills/delta-protein/references/evcouplings_mutation.md +63 -63
- package/skills/delta-protein/references/fasta_to_sequence.md +58 -58
- package/skills/delta-protein/references/foldseek.md +60 -60
- package/skills/delta-protein/references/generate_msa.md +60 -60
- package/skills/delta-protein/references/interpro_analyze.md +62 -62
- package/skills/delta-protein/references/mpnn_design_sequence.md +70 -70
- package/skills/delta-protein/references/multievolve.md +72 -72
- package/skills/delta-protein/references/pisa_query.md +69 -69
- package/skills/delta-protein/references/plip_analyze.md +64 -64
- package/skills/delta-protein/references/pocket_prediction.md +62 -62
- package/skills/delta-protein/references/protein_design.md +64 -64
- package/skills/delta-protein/references/protein_evolution.md +76 -76
- package/skills/delta-protein/references/protein_sol_predict_mutation.md +65 -65
- package/skills/delta-protein/references/protein_sol_predict_protein.md +60 -60
- package/skills/delta-protein/references/protenix.md +65 -65
- package/skills/delta-protein/references/protrek_search.md +89 -89
- package/skills/delta-protein/references/pubchem_search.md +67 -67
- package/skills/delta-protein/references/pubmed_search.md +78 -78
- package/skills/delta-protein/references/reap_design_primer.md +68 -68
- package/skills/delta-protein/references/rfd3_design.md +64 -64
- package/skills/delta-protein/references/structure_to_sequence.md +60 -60
- package/skills/delta-protein/references/summarize_result.md +67 -67
- package/skills/delta-protein/references/surface_charge.md +83 -83
- package/skills/delta-protein/references/uniprot_batch_query.md +62 -62
- package/skills/delta-protein/references/uniprot_query.md +63 -63
- package/skills/delta-protein/references/zero_shot_mutant_candidates.md +75 -75
- package/skills/delta-protein/scripts/gen_references.py +166 -166
- package/skills/delta-protein/scripts/output_metadata.json +274 -274
- package/skills/delta-sandbox/SKILL.md +388 -388
- package/skills/delta-sandbox/agents/openai.yaml +4 -4
- package/skills/delta-sandbox/references/commands.md +58 -58
- package/skills/delta-sandbox/references/lifecycle.md +100 -100
- package/skills/delta-sandbox/references/recipes.md +138 -138
- package/skills/delta-science/AGENTS.md +47 -47
- package/skills/delta-science/SKILL.md +227 -227
- package/skills/delta-science/agents/openai.yaml +4 -4
- package/skills/delta-science/references/antbo.md +105 -105
- package/skills/delta-science/references/delta-bo.md +92 -92
- package/skills/delta-science/references/gsasii.md +118 -118
- package/skills/delta-science/references/lammps.md +68 -68
- package/skills/delta-science/references/ldm-bo.md +132 -132
- package/skills/delta-science/references/materials-design.md +130 -130
- package/skills/delta-science/references/pubchem.md +128 -128
- package/skills/delta-science/references/pymatgen.md +69 -69
- package/skills/delta-science/references/qe.md +134 -134
- package/skills/delta-science/references/rdkit.md +141 -141
- package/skills/delta-science/references/strbo.md +95 -95
- package/skills/delta-science/references/synbo.md +201 -201
- package/skills/delta-science/references/xrd.md +154 -170
- package/skills/delta-science/scripts/catalog.py +92 -92
- package/skills/delta-science/scripts/generated_catalog.py +69 -69
- package/skills/delta-science/scripts/invoke.py +346 -346
- package/skills/delta-shared/SKILL.md +113 -113
- package/skills/delta-shared/agents/openai.yaml +4 -4
- package/skills/manifest.json +20 -20
|
@@ -1,227 +1,227 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: delta-science
|
|
3
|
-
description: "The unified entry point for the company's online Science capabilities; all calls go through Delta CLI. Use this Skill for compound, CID, SMILES or molecular-property lookup; batch PubChem and RDKit enrichment; molecular descriptors or similarity; crystal, CIF or space-group parsing; cloud XRD phase identification or refinement; materials-table modelling or candidate recommendations; Quantum ESPRESSO/QE DFT; LAMMPS; Bayesian optimisation from experimental data; reaction-condition optimisation; and any LDM/discovery-model, KRAS G12D small-molecule generation and optimisation, fixed-pool/PDF2Dock trajectory, or antibody CDRH3 optimisation task. Do not use the retired large-discovery-model Skill, legacy gateway scripts, web search or local scientific libraries to bypass Delta CLI. Return text directly for ordinary lookups, comparisons or checks by default; do not add JSON/CSV, report, image or chart steps unless the user explicitly asks to save, export, plot or generate a file."
|
|
4
|
-
metadata:
|
|
5
|
-
requires:
|
|
6
|
-
bins: ["delta-cli"]
|
|
7
|
-
cliHelp: "delta-cli science --help"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Delta Science
|
|
11
|
-
|
|
12
|
-
Turn natural-language research tasks into the smallest number of verifiable Delta CLI Science
|
|
13
|
-
calls. Expose only this Skill; select tools and operations, set parameters, hand off between tools,
|
|
14
|
-
and validate results within this Skill.
|
|
15
|
-
|
|
16
|
-
## Service-call boundary
|
|
17
|
-
|
|
18
|
-
- Route all online Science operations through Delta CLI: use `delta-cli science invoke` for
|
|
19
|
-
read-only or JSON-compatible endpoints, `delta-cli science task` for calls with a persistent
|
|
20
|
-
lifecycle, and `delta-cli science file` for raw files or multipart requests.
|
|
21
|
-
- Use the CLI's standard authentication and the Science service address derived from `base_url`
|
|
22
|
-
(`{base_url}/science_tool`). Do not rewrite service routing through environment variables,
|
|
23
|
-
command arguments or business URLs.
|
|
24
|
-
- Do not use `curl`, `requests`, `httpx`, a browser or PowerShell web commands to access company
|
|
25
|
-
gateways or business-service URLs directly.
|
|
26
|
-
- Do not present local RDKit, pymatgen, LAMMPS, BO, regression or sandbox results as Science
|
|
27
|
-
results. Local tools may be used for format conversion, file parsing or display, but state their
|
|
28
|
-
source clearly and keep them separate from CLI results.
|
|
29
|
-
- Read the relevant reference before execution and use it to select the operation and request
|
|
30
|
-
fields. If the reference is missing, outdated or inconsistent with the current catalogue, you
|
|
31
|
-
may query the live catalogue. Never invent fields or enum values from memory.
|
|
32
|
-
- `tools.name` and `tool_endpoints.name` are the sole authoritative call names. The tool and
|
|
33
|
-
endpoint passed to the CLI must exactly match the current database catalogue. The CLI does not
|
|
34
|
-
map aliases, strip prefixes, infer profiles or retry under a different name after `not_found`.
|
|
35
|
-
If a reference and the catalogue disagree, stop and report a configuration issue.
|
|
36
|
-
- Report a call as successful only when the CLI subprocess exits with code 0 and the top-level
|
|
37
|
-
JSON `ok` is `true`. The CLI's top-level `data` contains the service response. Read fields only
|
|
38
|
-
according to the envelope and business structure in the relevant reference; do not search
|
|
39
|
-
recursively for plausible values or misreport business results such as `valid:false` as
|
|
40
|
-
transport failures.
|
|
41
|
-
|
|
42
|
-
Template for JSON-compatible endpoints:
|
|
43
|
-
|
|
44
|
-
```text
|
|
45
|
-
delta-cli science invoke --tool TOOL --endpoint ENDPOINT \
|
|
46
|
-
[--data JSON] [--params JSON] [--path-params JSON] [--headers JSON]
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
If a tool-proxy endpoint declares path parameters, additional upstream headers or file fields, use
|
|
50
|
-
`--path-params JSON`, `--headers JSON`, `--file PATH` (or `--file-base64 BASE64`), and the
|
|
51
|
-
optional `--content-type MIME`. `--params` means URL query parameters only and cannot replace
|
|
52
|
-
`--path-params`. These fields are forwarded as request-body
|
|
53
|
-
fields to `/api/v1/tools/invoke`. `science file invoke` is a separate interface for QE/Materials
|
|
54
|
-
Design file operations and cannot replace file uploads to tool-proxy endpoints.
|
|
55
|
-
|
|
56
|
-
Template for persistent tasks:
|
|
57
|
-
|
|
58
|
-
```text
|
|
59
|
-
delta-cli science task submit --tool TOOL --operation OPERATION \
|
|
60
|
-
--input JSON --idempotency-key STABLE_KEY [--wait --timeout SECONDS]
|
|
61
|
-
delta-cli science task get TASK_ID
|
|
62
|
-
delta-cli science task cancel TASK_ID
|
|
63
|
-
delta-cli science task invocations TASK_ID
|
|
64
|
-
delta-cli science task artifacts TASK_ID
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Template for file operations:
|
|
68
|
-
|
|
69
|
-
```text
|
|
70
|
-
delta-cli science file invoke --tool qe --endpoint artifact-upload \
|
|
71
|
-
--file structure.cif --data '{"name":"structure.cif","role":"structure"}'
|
|
72
|
-
delta-cli science file invoke --tool materials-design --endpoint job-submit \
|
|
73
|
-
--file train.xlsx --candidate-file candidates.xlsx --data CONFIG_JSON
|
|
74
|
-
delta-cli science file download --tool qe --endpoint artifact-content \
|
|
75
|
-
--params '{"artifact_id":"sha256:<digest>"}' --output result.bin
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Use `--params JSON` only when the reference explicitly defines fields as query parameters. Do not
|
|
79
|
-
concatenate JSON into command code; pass it as a single JSON argument using the calling
|
|
80
|
-
environment's safe argument-passing mechanism.
|
|
81
|
-
|
|
82
|
-
Controlled CLI adapters are available for Materials Design training-table multipart uploads,
|
|
83
|
-
QE raw artifact/custom PP uploads, and `Idempotency-Key`. Pass files through a `science file` file
|
|
84
|
-
flag, and pass idempotency keys through `science task submit --idempotency-key` or the dedicated
|
|
85
|
-
flag for the file operation. Do not disguise local paths, base64 or headers as ordinary `--data`
|
|
86
|
-
fields, and do not connect directly to the preflight Gateway.
|
|
87
|
-
|
|
88
|
-
Call only the operations needed to meet the goal. Run cross-tool tasks in dependency order within
|
|
89
|
-
the same Skill execution; downstream calls may use only verified business fields from the
|
|
90
|
-
previous step. For a known tool, do not add health, schema, catalogue, render, descriptor or file
|
|
91
|
-
calls by default. Make the minimum number of read-only calls only when the user requests them,
|
|
92
|
-
diagnosis requires them, or the reference disagrees with the live catalogue.
|
|
93
|
-
|
|
94
|
-
## Choose a tool
|
|
95
|
-
|
|
96
|
-
| Research goal | tool | Reference |
|
|
97
|
-
| --- | --- | --- |
|
|
98
|
-
| Compound identity, CID, synonyms, public properties, name-to-SMILES conversion | `pubchem` | [pubchem.md](references/pubchem.md) |
|
|
99
|
-
| SMILES/InChI, descriptors, fingerprints, similarity, rendering, substructure | `rdkit` | [rdkit.md](references/rdkit.md) |
|
|
100
|
-
| Inorganic formulae, CIF/POSCAR, crystal structures, space groups | `pymatgen` | [pymatgen.md](references/pymatgen.md) |
|
|
101
|
-
| Cloud XRD phase identification, XQueryer/XMatcher/XDecomposer, CIF simulation, MP500, artifacts and refinement jobs | `xrd` | [xrd.md](references/xrd.md) |
|
|
102
|
-
| Direct GSAS-II simulation or refinement | `gsasii` | [gsasii.md](references/gsasii.md) |
|
|
103
|
-
| Molecular dynamics, minimisation, thermo and output files | `lammps` | [lammps.md](references/lammps.md) |
|
|
104
|
-
| General optimisation of numeric, integer or categorical experimental variables | `delta-bo` | [delta-bo.md](references/delta-bo.md) |
|
|
105
|
-
| Materials-table surrogates, candidate spaces, EI/PI/UCB and asynchronous recommendation jobs | `materials-design` | [materials-design.md](references/materials-design.md) |
|
|
106
|
-
| Quantum ESPRESSO/QE PP, asynchronous DFT jobs, logs and artifacts | `qe` | [qe.md](references/qe.md) |
|
|
107
|
-
| Fixed-pool next-SMILES, PDF2Dock and molecular BO trajectories | `ldm-bo` | [ldm-bo.md](references/ldm-bo.md) |
|
|
108
|
-
| KRAS G12D small-molecule generation and iterative multi-objective Vina/activity optimisation | `strbo` | [strbo.md](references/strbo.md) |
|
|
109
|
-
| Reaction-condition initialisation and next-batch recommendations based on measured yields | `synbo` | [synbo.md](references/synbo.md) |
|
|
110
|
-
| Antibody CDRH3 generation/evaluation and AntBO job management | `antbo` | [antbo.md](references/antbo.md) |
|
|
111
|
-
|
|
112
|
-
When the user describes a complete research workflow using terms such as “LDM”, “discovery
|
|
113
|
-
model”, “small-molecule drug LDM” or “antibody LDM”, first select the actual backend tool based on
|
|
114
|
-
the task goal, then read only the reference for that backend. `ldm-bo` is a callable tool; `LDM`
|
|
115
|
-
itself is not a `--tool` value. For “batch molecular enrichment” or similar requests, use the
|
|
116
|
-
actual tools in sequence: resolve names/identifiers with `pubchem`, then standardise structures
|
|
117
|
-
or calculate molecular properties with `rdkit`.
|
|
118
|
-
|
|
119
|
-
When the tool is clear, read its reference directly; it already includes the operations, parameters
|
|
120
|
-
and minimal scenarios. Do not read documentation for other tools. Split cross-tool tasks using
|
|
121
|
-
this Skill's routing rules and read only the references for tools actually involved. Do not rely
|
|
122
|
-
on separate routing, service, workflow or catalogue documents.
|
|
123
|
-
|
|
124
|
-
This table lists research tools with maintained references; it is not a static server catalogue.
|
|
125
|
-
If the user names a new tool absent from the table, or a reference is missing, outdated or
|
|
126
|
-
inconsistent with CLI output, run `delta-cli science list`, then run
|
|
127
|
-
`delta-cli science endpoints list <tool>` once using the exact tool name returned by the catalogue.
|
|
128
|
-
Both commands must exit with code 0 and return top-level `ok:true`. Do not probe with an empty
|
|
129
|
-
body, invalid parameters, source code or direct HTTP. If live endpoint metadata does not provide
|
|
130
|
-
enough request-field contract to construct a safe request, say “The catalogue lists the tool, but
|
|
131
|
-
the server has not provided a schema that can be used to construct a safe request.” Do not guess
|
|
132
|
-
the body, fuzzy-match or transform names. A new tool therefore does not require a CLI change; add
|
|
133
|
-
a single-tool reference only after confirming that it is a distinct real tool and needs automatic
|
|
134
|
-
natural-language routing or parameter construction.
|
|
135
|
-
|
|
136
|
-
## Routing boundaries
|
|
137
|
-
|
|
138
|
-
- Use PubChem first for an ordinary compound name. Pass a successfully returned SMILES to RDKit
|
|
139
|
-
only when structural calculations are needed.
|
|
140
|
-
- Prefer pymatgen for inorganic formulae, composition and formula weight; do not calculate these
|
|
141
|
-
with PubChem or a local element table.
|
|
142
|
-
- Use `xrd` for cloud powder-XRD phase identification, peak matching, phase decomposition,
|
|
143
|
-
CIF/MP500 operations and refinement jobs. Use `gsasii` only when directly requesting the
|
|
144
|
-
GSAS-II tool. Do not conflate their scores, job states or backend semantics.
|
|
145
|
-
- Use Materials Design for materials-table modelling and candidate ranking. Keep controllable
|
|
146
|
-
variables, objectives, candidate spaces, cross-validation and uncertainty distinct; treat
|
|
147
|
-
recommendations only as hypotheses to validate.
|
|
148
|
-
- Use QE for explicit electronic-structure calculations. First handle the complete element set,
|
|
149
|
-
PP policy/lock and structure artifact, then submit the asynchronous workflow. Do not conflate
|
|
150
|
-
job acceptance, scheduler completion and solver convergence.
|
|
151
|
-
- Use Delta-BO for general experimental variables; LDM-BO for an existing fixed SMILES candidate
|
|
152
|
-
pool or PDF2Dock trajectory; STRBO for small-molecule generation and iteration against the
|
|
153
|
-
server-fixed KRAS G12D target; SynBO for coupling reactions, reaction conditions and historical
|
|
154
|
-
yields; and AntBO for antibodies/CDRH3. Do not mix these tools.
|
|
155
|
-
- Do not hand online LDM, STRBO, AntBO or LDM-BO tasks to the retired
|
|
156
|
-
`large-discovery-model` Skill, run its gateway scripts or use its built-in service addresses.
|
|
157
|
-
Offline demonstrations are not company Science results. Explain this boundary only when the
|
|
158
|
-
user explicitly asks not to use company resources; this Skill must still not run the retired
|
|
159
|
-
Skill.
|
|
160
|
-
- GSAS-II refinement requires real powder data, instrument parameters and a phase CIF. LAMMPS
|
|
161
|
-
requires explicit input/data/force-field files. Never fabricate experimental data, CIFs, force
|
|
162
|
-
fields, historical observations or optimisation results.
|
|
163
|
-
|
|
164
|
-
## Safety, retries and artifacts
|
|
165
|
-
|
|
166
|
-
- Require the user's explicit authorisation for remote mutations such as `run-default-job`,
|
|
167
|
-
`run` and `stop`. Do not retry when the outcome is unknown, the request times out or the
|
|
168
|
-
connection drops, because the remote action may already have occurred.
|
|
169
|
-
- Treat parameter validation errors, empty recommendations and business-backend failures as
|
|
170
|
-
failures for the current attempt. For `health`, the catalogue and other clearly read-only,
|
|
171
|
-
idempotent operations, network errors such as 502, 504 or timeout may be retried once with the
|
|
172
|
-
same parameters. Make at most one SynBO business call per user task; do not switch models or
|
|
173
|
-
acquisition functions, or substitute a local algorithm.
|
|
174
|
-
- After the CLI's first failure, return a short summary of the original error. If the user
|
|
175
|
-
explicitly asks for troubleshooting, you may run read-only `delta-cli auth status`,
|
|
176
|
-
`delta-cli config show` or `delta-cli ... --help`. Do not log in, change configuration or
|
|
177
|
-
environment variables, fabricate a UID, token or API key, or retry with a changed operation,
|
|
178
|
-
parameters or call chain.
|
|
179
|
-
- Treat `X-User-Uid`, login, quota and permission errors as terminal authentication errors; relay
|
|
180
|
-
only the original error and login guidance. The Skill must never log in, inspect credentials,
|
|
181
|
-
guess a user identifier or try to bypass quota.
|
|
182
|
-
- Run heavy calls serially. A client timeout does not mean the remote computation was cancelled.
|
|
183
|
-
- Do not create CSV files, images or reports unless the user asks for a file. Write internal
|
|
184
|
-
hand-off files only to the current `WORKSPACE_ROOT`; do not read another session's workspace or
|
|
185
|
-
historical results to fill in the current task.
|
|
186
|
-
- Paths, JSON, charts or reports automatically attached by an outer planner do not count as an
|
|
187
|
-
explicit user request. If the task is essentially a lookup, comparison or check, return the
|
|
188
|
-
minimum text result directly; do not repeat Science calls to satisfy an added artifact request.
|
|
189
|
-
- Decode only documented fields from binary artifacts; validate PNG magic bytes.
|
|
190
|
-
- If the user explicitly asks for public background information or literature, web searches are
|
|
191
|
-
permitted, but do not present them as Science calls or use them to replace CLI results. Label
|
|
192
|
-
the sources separately.
|
|
193
|
-
|
|
194
|
-
## Output
|
|
195
|
-
|
|
196
|
-
Project the business response defined by the relevant reference from the current CLI `data` into
|
|
197
|
-
the minimum result the user requested. Preserve strings, numbers, warnings and sources verbatim.
|
|
198
|
-
Do not add units, mechanisms, citations, links, predictions or remembered information that the
|
|
199
|
-
service did not return. Do not describe predictions as measured results.
|
|
200
|
-
Once the last required business result has been obtained successfully, project it directly into
|
|
201
|
-
the final reply. Do not call the CLI again to sort, format, make a table or summarise, and do not
|
|
202
|
-
manually copy the result into a new data literal. Perform simple filtering, comparison and text
|
|
203
|
-
organisation directly in the final reply.
|
|
204
|
-
|
|
205
|
-
On success, return only bounded plain text derived from the current CLI business result; on
|
|
206
|
-
failure, return only a short summary of the original CLI error. Do not recalculate, rewrite or
|
|
207
|
-
replace a successful or failed Science result with manual recommendations.
|
|
208
|
-
|
|
209
|
-
Include the following with every successful result:
|
|
210
|
-
|
|
211
|
-
```text
|
|
212
|
-
Evidence boundary: business results in the current Delta CLI `data` only
|
|
213
|
-
Call chain: delta-cli
|
|
214
|
-
Do not add information absent from the response: yes
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
## Completion criteria
|
|
218
|
-
|
|
219
|
-
- Every online operation is supported by evidence that the CLI exited with code 0 and returned
|
|
220
|
-
top-level `ok:true`.
|
|
221
|
-
- Every scientific value comes from a business field in the current call's `data`, as defined by
|
|
222
|
-
the reference.
|
|
223
|
-
- Downstream inputs come from verified upstream results in the current task.
|
|
224
|
-
- Failures are classified accurately as configuration, CLI, parameter, Science Server,
|
|
225
|
-
business-service or timeout failures.
|
|
226
|
-
- No direct HTTP, local scientific library, cross-session file or manually substituted result was
|
|
227
|
-
used.
|
|
1
|
+
---
|
|
2
|
+
name: delta-science
|
|
3
|
+
description: "The unified entry point for the company's online Science capabilities; all calls go through Delta CLI. Use this Skill for compound, CID, SMILES or molecular-property lookup; batch PubChem and RDKit enrichment; molecular descriptors or similarity; crystal, CIF or space-group parsing; cloud XRD phase identification or refinement; materials-table modelling or candidate recommendations; Quantum ESPRESSO/QE DFT; LAMMPS; Bayesian optimisation from experimental data; reaction-condition optimisation; and any LDM/discovery-model, KRAS G12D small-molecule generation and optimisation, fixed-pool/PDF2Dock trajectory, or antibody CDRH3 optimisation task. Do not use the retired large-discovery-model Skill, legacy gateway scripts, web search or local scientific libraries to bypass Delta CLI. Return text directly for ordinary lookups, comparisons or checks by default; do not add JSON/CSV, report, image or chart steps unless the user explicitly asks to save, export, plot or generate a file."
|
|
4
|
+
metadata:
|
|
5
|
+
requires:
|
|
6
|
+
bins: ["delta-cli"]
|
|
7
|
+
cliHelp: "delta-cli science --help"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Delta Science
|
|
11
|
+
|
|
12
|
+
Turn natural-language research tasks into the smallest number of verifiable Delta CLI Science
|
|
13
|
+
calls. Expose only this Skill; select tools and operations, set parameters, hand off between tools,
|
|
14
|
+
and validate results within this Skill.
|
|
15
|
+
|
|
16
|
+
## Service-call boundary
|
|
17
|
+
|
|
18
|
+
- Route all online Science operations through Delta CLI: use `delta-cli science invoke` for
|
|
19
|
+
read-only or JSON-compatible endpoints, `delta-cli science task` for calls with a persistent
|
|
20
|
+
lifecycle, and `delta-cli science file` for raw files or multipart requests.
|
|
21
|
+
- Use the CLI's standard authentication and the Science service address derived from `base_url`
|
|
22
|
+
(`{base_url}/science_tool`). Do not rewrite service routing through environment variables,
|
|
23
|
+
command arguments or business URLs.
|
|
24
|
+
- Do not use `curl`, `requests`, `httpx`, a browser or PowerShell web commands to access company
|
|
25
|
+
gateways or business-service URLs directly.
|
|
26
|
+
- Do not present local RDKit, pymatgen, LAMMPS, BO, regression or sandbox results as Science
|
|
27
|
+
results. Local tools may be used for format conversion, file parsing or display, but state their
|
|
28
|
+
source clearly and keep them separate from CLI results.
|
|
29
|
+
- Read the relevant reference before execution and use it to select the operation and request
|
|
30
|
+
fields. If the reference is missing, outdated or inconsistent with the current catalogue, you
|
|
31
|
+
may query the live catalogue. Never invent fields or enum values from memory.
|
|
32
|
+
- `tools.name` and `tool_endpoints.name` are the sole authoritative call names. The tool and
|
|
33
|
+
endpoint passed to the CLI must exactly match the current database catalogue. The CLI does not
|
|
34
|
+
map aliases, strip prefixes, infer profiles or retry under a different name after `not_found`.
|
|
35
|
+
If a reference and the catalogue disagree, stop and report a configuration issue.
|
|
36
|
+
- Report a call as successful only when the CLI subprocess exits with code 0 and the top-level
|
|
37
|
+
JSON `ok` is `true`. The CLI's top-level `data` contains the service response. Read fields only
|
|
38
|
+
according to the envelope and business structure in the relevant reference; do not search
|
|
39
|
+
recursively for plausible values or misreport business results such as `valid:false` as
|
|
40
|
+
transport failures.
|
|
41
|
+
|
|
42
|
+
Template for JSON-compatible endpoints:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
delta-cli science invoke --tool TOOL --endpoint ENDPOINT \
|
|
46
|
+
[--data JSON] [--params JSON] [--path-params JSON] [--headers JSON]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
If a tool-proxy endpoint declares path parameters, additional upstream headers or file fields, use
|
|
50
|
+
`--path-params JSON`, `--headers JSON`, `--file PATH` (or `--file-base64 BASE64`), and the
|
|
51
|
+
optional `--content-type MIME`. `--params` means URL query parameters only and cannot replace
|
|
52
|
+
`--path-params`. These fields are forwarded as request-body
|
|
53
|
+
fields to `/api/v1/tools/invoke`. `science file invoke` is a separate interface for QE/Materials
|
|
54
|
+
Design file operations and cannot replace file uploads to tool-proxy endpoints.
|
|
55
|
+
|
|
56
|
+
Template for persistent tasks:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
delta-cli science task submit --tool TOOL --operation OPERATION \
|
|
60
|
+
--input JSON --idempotency-key STABLE_KEY [--wait --timeout SECONDS]
|
|
61
|
+
delta-cli science task get TASK_ID
|
|
62
|
+
delta-cli science task cancel TASK_ID
|
|
63
|
+
delta-cli science task invocations TASK_ID
|
|
64
|
+
delta-cli science task artifacts TASK_ID
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Template for file operations:
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
delta-cli science file invoke --tool qe --endpoint artifact-upload \
|
|
71
|
+
--file structure.cif --data '{"name":"structure.cif","role":"structure"}'
|
|
72
|
+
delta-cli science file invoke --tool materials-design --endpoint job-submit \
|
|
73
|
+
--file train.xlsx --candidate-file candidates.xlsx --data CONFIG_JSON
|
|
74
|
+
delta-cli science file download --tool qe --endpoint artifact-content \
|
|
75
|
+
--params '{"artifact_id":"sha256:<digest>"}' --output result.bin
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Use `--params JSON` only when the reference explicitly defines fields as query parameters. Do not
|
|
79
|
+
concatenate JSON into command code; pass it as a single JSON argument using the calling
|
|
80
|
+
environment's safe argument-passing mechanism.
|
|
81
|
+
|
|
82
|
+
Controlled CLI adapters are available for Materials Design training-table multipart uploads,
|
|
83
|
+
QE raw artifact/custom PP uploads, and `Idempotency-Key`. Pass files through a `science file` file
|
|
84
|
+
flag, and pass idempotency keys through `science task submit --idempotency-key` or the dedicated
|
|
85
|
+
flag for the file operation. Do not disguise local paths, base64 or headers as ordinary `--data`
|
|
86
|
+
fields, and do not connect directly to the preflight Gateway.
|
|
87
|
+
|
|
88
|
+
Call only the operations needed to meet the goal. Run cross-tool tasks in dependency order within
|
|
89
|
+
the same Skill execution; downstream calls may use only verified business fields from the
|
|
90
|
+
previous step. For a known tool, do not add health, schema, catalogue, render, descriptor or file
|
|
91
|
+
calls by default. Make the minimum number of read-only calls only when the user requests them,
|
|
92
|
+
diagnosis requires them, or the reference disagrees with the live catalogue.
|
|
93
|
+
|
|
94
|
+
## Choose a tool
|
|
95
|
+
|
|
96
|
+
| Research goal | tool | Reference |
|
|
97
|
+
| --- | --- | --- |
|
|
98
|
+
| Compound identity, CID, synonyms, public properties, name-to-SMILES conversion | `pubchem` | [pubchem.md](references/pubchem.md) |
|
|
99
|
+
| SMILES/InChI, descriptors, fingerprints, similarity, rendering, substructure | `rdkit` | [rdkit.md](references/rdkit.md) |
|
|
100
|
+
| Inorganic formulae, CIF/POSCAR, crystal structures, space groups | `pymatgen` | [pymatgen.md](references/pymatgen.md) |
|
|
101
|
+
| Cloud XRD phase identification, XQueryer/XMatcher/XDecomposer, CIF simulation, MP500, artifacts and refinement jobs | `xrd` | [xrd.md](references/xrd.md) |
|
|
102
|
+
| Direct GSAS-II simulation or refinement | `gsasii` | [gsasii.md](references/gsasii.md) |
|
|
103
|
+
| Molecular dynamics, minimisation, thermo and output files | `lammps` | [lammps.md](references/lammps.md) |
|
|
104
|
+
| General optimisation of numeric, integer or categorical experimental variables | `delta-bo` | [delta-bo.md](references/delta-bo.md) |
|
|
105
|
+
| Materials-table surrogates, candidate spaces, EI/PI/UCB and asynchronous recommendation jobs | `materials-design` | [materials-design.md](references/materials-design.md) |
|
|
106
|
+
| Quantum ESPRESSO/QE PP, asynchronous DFT jobs, logs and artifacts | `qe` | [qe.md](references/qe.md) |
|
|
107
|
+
| Fixed-pool next-SMILES, PDF2Dock and molecular BO trajectories | `ldm-bo` | [ldm-bo.md](references/ldm-bo.md) |
|
|
108
|
+
| KRAS G12D small-molecule generation and iterative multi-objective Vina/activity optimisation | `strbo` | [strbo.md](references/strbo.md) |
|
|
109
|
+
| Reaction-condition initialisation and next-batch recommendations based on measured yields | `synbo` | [synbo.md](references/synbo.md) |
|
|
110
|
+
| Antibody CDRH3 generation/evaluation and AntBO job management | `antbo` | [antbo.md](references/antbo.md) |
|
|
111
|
+
|
|
112
|
+
When the user describes a complete research workflow using terms such as “LDM”, “discovery
|
|
113
|
+
model”, “small-molecule drug LDM” or “antibody LDM”, first select the actual backend tool based on
|
|
114
|
+
the task goal, then read only the reference for that backend. `ldm-bo` is a callable tool; `LDM`
|
|
115
|
+
itself is not a `--tool` value. For “batch molecular enrichment” or similar requests, use the
|
|
116
|
+
actual tools in sequence: resolve names/identifiers with `pubchem`, then standardise structures
|
|
117
|
+
or calculate molecular properties with `rdkit`.
|
|
118
|
+
|
|
119
|
+
When the tool is clear, read its reference directly; it already includes the operations, parameters
|
|
120
|
+
and minimal scenarios. Do not read documentation for other tools. Split cross-tool tasks using
|
|
121
|
+
this Skill's routing rules and read only the references for tools actually involved. Do not rely
|
|
122
|
+
on separate routing, service, workflow or catalogue documents.
|
|
123
|
+
|
|
124
|
+
This table lists research tools with maintained references; it is not a static server catalogue.
|
|
125
|
+
If the user names a new tool absent from the table, or a reference is missing, outdated or
|
|
126
|
+
inconsistent with CLI output, run `delta-cli science list`, then run
|
|
127
|
+
`delta-cli science endpoints list <tool>` once using the exact tool name returned by the catalogue.
|
|
128
|
+
Both commands must exit with code 0 and return top-level `ok:true`. Do not probe with an empty
|
|
129
|
+
body, invalid parameters, source code or direct HTTP. If live endpoint metadata does not provide
|
|
130
|
+
enough request-field contract to construct a safe request, say “The catalogue lists the tool, but
|
|
131
|
+
the server has not provided a schema that can be used to construct a safe request.” Do not guess
|
|
132
|
+
the body, fuzzy-match or transform names. A new tool therefore does not require a CLI change; add
|
|
133
|
+
a single-tool reference only after confirming that it is a distinct real tool and needs automatic
|
|
134
|
+
natural-language routing or parameter construction.
|
|
135
|
+
|
|
136
|
+
## Routing boundaries
|
|
137
|
+
|
|
138
|
+
- Use PubChem first for an ordinary compound name. Pass a successfully returned SMILES to RDKit
|
|
139
|
+
only when structural calculations are needed.
|
|
140
|
+
- Prefer pymatgen for inorganic formulae, composition and formula weight; do not calculate these
|
|
141
|
+
with PubChem or a local element table.
|
|
142
|
+
- Use `xrd` for cloud powder-XRD phase identification, peak matching, phase decomposition,
|
|
143
|
+
CIF/MP500 operations and refinement jobs. Use `gsasii` only when directly requesting the
|
|
144
|
+
GSAS-II tool. Do not conflate their scores, job states or backend semantics.
|
|
145
|
+
- Use Materials Design for materials-table modelling and candidate ranking. Keep controllable
|
|
146
|
+
variables, objectives, candidate spaces, cross-validation and uncertainty distinct; treat
|
|
147
|
+
recommendations only as hypotheses to validate.
|
|
148
|
+
- Use QE for explicit electronic-structure calculations. First handle the complete element set,
|
|
149
|
+
PP policy/lock and structure artifact, then submit the asynchronous workflow. Do not conflate
|
|
150
|
+
job acceptance, scheduler completion and solver convergence.
|
|
151
|
+
- Use Delta-BO for general experimental variables; LDM-BO for an existing fixed SMILES candidate
|
|
152
|
+
pool or PDF2Dock trajectory; STRBO for small-molecule generation and iteration against the
|
|
153
|
+
server-fixed KRAS G12D target; SynBO for coupling reactions, reaction conditions and historical
|
|
154
|
+
yields; and AntBO for antibodies/CDRH3. Do not mix these tools.
|
|
155
|
+
- Do not hand online LDM, STRBO, AntBO or LDM-BO tasks to the retired
|
|
156
|
+
`large-discovery-model` Skill, run its gateway scripts or use its built-in service addresses.
|
|
157
|
+
Offline demonstrations are not company Science results. Explain this boundary only when the
|
|
158
|
+
user explicitly asks not to use company resources; this Skill must still not run the retired
|
|
159
|
+
Skill.
|
|
160
|
+
- GSAS-II refinement requires real powder data, instrument parameters and a phase CIF. LAMMPS
|
|
161
|
+
requires explicit input/data/force-field files. Never fabricate experimental data, CIFs, force
|
|
162
|
+
fields, historical observations or optimisation results.
|
|
163
|
+
|
|
164
|
+
## Safety, retries and artifacts
|
|
165
|
+
|
|
166
|
+
- Require the user's explicit authorisation for remote mutations such as `run-default-job`,
|
|
167
|
+
`run` and `stop`. Do not retry when the outcome is unknown, the request times out or the
|
|
168
|
+
connection drops, because the remote action may already have occurred.
|
|
169
|
+
- Treat parameter validation errors, empty recommendations and business-backend failures as
|
|
170
|
+
failures for the current attempt. For `health`, the catalogue and other clearly read-only,
|
|
171
|
+
idempotent operations, network errors such as 502, 504 or timeout may be retried once with the
|
|
172
|
+
same parameters. Make at most one SynBO business call per user task; do not switch models or
|
|
173
|
+
acquisition functions, or substitute a local algorithm.
|
|
174
|
+
- After the CLI's first failure, return a short summary of the original error. If the user
|
|
175
|
+
explicitly asks for troubleshooting, you may run read-only `delta-cli auth status`,
|
|
176
|
+
`delta-cli config show` or `delta-cli ... --help`. Do not log in, change configuration or
|
|
177
|
+
environment variables, fabricate a UID, token or API key, or retry with a changed operation,
|
|
178
|
+
parameters or call chain.
|
|
179
|
+
- Treat `X-User-Uid`, login, quota and permission errors as terminal authentication errors; relay
|
|
180
|
+
only the original error and login guidance. The Skill must never log in, inspect credentials,
|
|
181
|
+
guess a user identifier or try to bypass quota.
|
|
182
|
+
- Run heavy calls serially. A client timeout does not mean the remote computation was cancelled.
|
|
183
|
+
- Do not create CSV files, images or reports unless the user asks for a file. Write internal
|
|
184
|
+
hand-off files only to the current `WORKSPACE_ROOT`; do not read another session's workspace or
|
|
185
|
+
historical results to fill in the current task.
|
|
186
|
+
- Paths, JSON, charts or reports automatically attached by an outer planner do not count as an
|
|
187
|
+
explicit user request. If the task is essentially a lookup, comparison or check, return the
|
|
188
|
+
minimum text result directly; do not repeat Science calls to satisfy an added artifact request.
|
|
189
|
+
- Decode only documented fields from binary artifacts; validate PNG magic bytes.
|
|
190
|
+
- If the user explicitly asks for public background information or literature, web searches are
|
|
191
|
+
permitted, but do not present them as Science calls or use them to replace CLI results. Label
|
|
192
|
+
the sources separately.
|
|
193
|
+
|
|
194
|
+
## Output
|
|
195
|
+
|
|
196
|
+
Project the business response defined by the relevant reference from the current CLI `data` into
|
|
197
|
+
the minimum result the user requested. Preserve strings, numbers, warnings and sources verbatim.
|
|
198
|
+
Do not add units, mechanisms, citations, links, predictions or remembered information that the
|
|
199
|
+
service did not return. Do not describe predictions as measured results.
|
|
200
|
+
Once the last required business result has been obtained successfully, project it directly into
|
|
201
|
+
the final reply. Do not call the CLI again to sort, format, make a table or summarise, and do not
|
|
202
|
+
manually copy the result into a new data literal. Perform simple filtering, comparison and text
|
|
203
|
+
organisation directly in the final reply.
|
|
204
|
+
|
|
205
|
+
On success, return only bounded plain text derived from the current CLI business result; on
|
|
206
|
+
failure, return only a short summary of the original CLI error. Do not recalculate, rewrite or
|
|
207
|
+
replace a successful or failed Science result with manual recommendations.
|
|
208
|
+
|
|
209
|
+
Include the following with every successful result:
|
|
210
|
+
|
|
211
|
+
```text
|
|
212
|
+
Evidence boundary: business results in the current Delta CLI `data` only
|
|
213
|
+
Call chain: delta-cli
|
|
214
|
+
Do not add information absent from the response: yes
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Completion criteria
|
|
218
|
+
|
|
219
|
+
- Every online operation is supported by evidence that the CLI exited with code 0 and returned
|
|
220
|
+
top-level `ok:true`.
|
|
221
|
+
- Every scientific value comes from a business field in the current call's `data`, as defined by
|
|
222
|
+
the reference.
|
|
223
|
+
- Downstream inputs come from verified upstream results in the current task.
|
|
224
|
+
- Failures are classified accurately as configuration, CLI, parameter, Science Server,
|
|
225
|
+
business-service or timeout failures.
|
|
226
|
+
- No direct HTTP, local scientific library, cross-session file or manually substituted result was
|
|
227
|
+
used.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "Delta Science"
|
|
3
|
-
short_description: "Access and orchestrate all Science tools through Delta CLI"
|
|
4
|
-
default_prompt: "Use $delta-science to analyse the research goal, choose the right tools, and complete the task through Delta CLI."
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Delta Science"
|
|
3
|
+
short_description: "Access and orchestrate all Science tools through Delta CLI"
|
|
4
|
+
default_prompt: "Use $delta-science to analyse the research goal, choose the right tools, and complete the task through Delta CLI."
|