You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/skills/curate-aroma-data/SKILL.md
+13-7Lines changed: 13 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: curate-aroma-data
3
-
description: Use AromaNexus to validate, normalize, enrich, and export flavor, odor, aroma, and chemical-sensory datasets with source-level provenance. Use for XLSX, CSV, or TSV workbooks containing CAS numbers, compound names, calculated retention indices, sensory descriptors, odor thresholds, or olfactory-receptor evidence; for selecting among NIST, PubChem, Pyrfume, M2OR, MFFI, and the permission-gated ChemicalBook compatibility connector; and for verifying analysis-ready outputs. Do not use to bypass access controls, relicense source data, or make biomedical or machine-learning claims unsupported by the exported evidence.
3
+
description: Use AromaNexus to validate, normalize, enrich, and export flavor, odor, aroma, and chemical-sensory datasets with source-level provenance. Use for XLSX, CSV, or TSV files containing CAS numbers, compound names, calculated retention indices, sensory descriptors, odor thresholds, or olfactory-receptor evidence; for selecting among NIST, PubChem, Pyrfume, M2OR, MFFI, and the permission-gated ChemicalBook compatibility connector; and for verifying analysis-ready outputs. Do not use to bypass access controls, relicense source data, or make biomedical or machine-learning claims unsupported by the exported evidence.
4
4
---
5
5
6
6
# Curate Aroma Data
@@ -10,8 +10,9 @@ Build traceable compound tables through the repository's `aromanexus` CLI. Keep
10
10
## Workflow
11
11
12
12
1. Inspect the input without modifying it.
13
-
- Run `python .agents/skills/curate-aroma-data/scripts/inspect_workbook.py INPUT` from the repository root.
14
-
- Confirm the row count, exact column names, identifier quality, duplicates, and formula-like cells.
13
+
- For XLSX, run `python .agents/skills/curate-aroma-data/scripts/inspect_workbook.py INPUT --sheet "SHEET"` from the repository root. Omit `--sheet` only when the first worksheet is the intended target.
14
+
- For CSV or TSV, run the inspector without `--sheet`; flat files have no worksheets.
15
+
- Confirm the worksheet order and exact target when applicable, row count, exact column names, identifier quality, duplicates, source formulas, workbook properties, per-sheet content digests, styles, dimensions, and reported features.
15
16
- Identify section labels, headers, totals, and other structural rows before provider calls. Define an explicit dataset-specific skip rule; do not assume that text such as `C6` is globally non-chemical.
16
17
2. Choose the smallest provider set that supplies the requested fields.
17
18
- Read [references/provider-matrix.md](references/provider-matrix.md) before any network or browser operation.
@@ -20,8 +21,9 @@ Build traceable compound tables through the repository's `aromanexus` CLI. Keep
20
21
- Use Pyrfume only for explicitly selected archives after reviewing each manifest note.
21
22
- Use M2OR only when receptor bioassay evidence is relevant; label species and assay scope.
22
23
3. Preview the operation.
23
-
- State the input, new output path, selected provider, expected columns, skip patterns, approximate request count, cache behavior, and material access caveats.
24
-
- Write a sibling output by default. Do not pass `--force` or overwrite the input unless the user explicitly requests that exact replacement.
24
+
- State the input, selected worksheet for XLSX, new output path, selected provider, expected columns, skip patterns, approximate request count, cache behavior, and material access caveats.
25
+
- Write a sibling output by default. Never reuse the input path as the output path; `--force` is only for a separate existing destination.
26
+
- Keep XLSX input and output when worksheet formulas, formatting, or other workbook content must survive; CSV/TSV output is a flat export.
- For XLSX only, append `--sheet "SHEET"` to any table command when the target is not the first worksheet. Never pass `--sheet` for CSV or TSV.
33
36
5. Verify the result.
34
-
- Re-run the inspection script on the output.
37
+
- Re-run the inspection script on the same worksheet for XLSX, or without `--sheet` for CSV/TSV.
35
38
- Confirm identical row order and row count, expected new fields, typed status counts, source URL, retrieval time, version, and license/access fields.
39
+
- For XLSX output, also compare worksheet order and names, per-sheet content digests, workbook properties, non-target-sheet content, untargeted source formulas and cached values, styles, dimensions, and reported workbook features.
36
40
- Treat `PubChem Status` as provider execution state, not proof of a uniquely resolved CAS. Check `PubChem CAS Resolution`, candidate count, and `Resolved CAS` separately.
37
41
- Leave `multiple` and `missing` CAS resolutions unresolved; retain all candidates and route only the affected rows to a targeted fallback source or manual review.
38
42
- Treat `http_error`, `network_error`, `parse_error`, `missing_data`, `data_error`, `partial`, `blocked`, and `skipped` separately from `not_found`.
@@ -46,5 +50,7 @@ Build traceable compound tables through the repository's `aromanexus` CLI. Keep
46
50
- Do not run ChemicalBook automation unless the user confirms documented permission; its current robots policy excludes the legacy routes.
47
51
- Do not describe the toolkit as AI-powered. Say that structured exports can support downstream statistics, cheminformatics, or machine-learning experiments.
48
52
- Do not bundle or republish downloaded Pyrfume or M2OR data in the repository.
49
-
- Preserve remote text as literal spreadsheet cells to prevent formula execution.
53
+
- Preserve newly fetched remote text as literal spreadsheet cells to prevent formula execution. Preserve legitimate source formulas outside cells explicitly targeted by an output field.
54
+
- Preserve merged cells outside the selected tabular rectangle; stop before provider calls when a merge intersects that rectangle.
55
+
- Stop before provider calls if XLSX preflight reports a known unsafe feature or any OOXML package part that the in-memory trial write would discard.
50
56
- Never select the first PubChem CAS candidate merely because the provider status is `ok`.
Copy file name to clipboardExpand all lines: .agents/skills/curate-aroma-data/references/output-schema.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,3 +58,9 @@ After every run, confirm:
58
58
5. Remote strings beginning with `=`, `+`, `-`, or `@` are stored as literal text.
59
59
6. Partial outputs are reported separately if a run is interrupted.
60
60
7.`multiple`, `missing`, `not_evaluated`, and `skipped` PubChem CAS resolutions never contain an automatic `Resolved CAS`.
61
+
8. XLSX worksheet order and names match the input, and supported non-target worksheet content and features are unchanged.
62
+
9. Source formulas and cached results outside explicitly targeted output cells, plus styles, dimensions, freeze panes, filters, tables, data validation, conditional formatting, and workbook properties, remain present where applicable.
63
+
10. Merged cells outside the selected tabular rectangle remain present; a merge intersecting that rectangle is rejected before provider access.
64
+
11. The target worksheet used for post-run inspection is the same exact worksheet selected for enrichment, and per-sheet content digests are compared.
65
+
66
+
For XLSX input, the default target is the first worksheet in workbook order. Pass `--sheet "Name"` to both the command and inspection helper when another worksheet is intended. Never pass `--sheet` for CSV or TSV; flat output cannot satisfy workbook-level preservation checks. XLSX preflight rejects known unsafe features and any OOXML package part dropped by its in-memory trial write. Excel's optional calculation chain may be removed and rebuilt by spreadsheet software.
0 commit comments