atlas_sheet_update
Update specific cells in an existing spreadsheet row by row key and column header—not cell coordinates—to change values, markers, or metadata; unknown headers abort before writing.
Instructions
Update specific cells of an existing spreadsheet row by row_key and column header name (never by cell coordinate).
Use this tool to modify balancing values, implementation markers, or metadata in an existing row.
To add a brand-new row to a tab, use `atlas_sheet_append`. If unsure of tab names, call `atlas_sheets` first.
Behavior & Output:
- Resolves the exact cell range from `row_key` + header names, preventing off-by-one row overwrites.
- If a column name is unknown, aborts without writing and returns the list of valid column headers.
- Returns JSON `{ok, sheet, tab, row, key, changes, verified, resynced, dry_run}` and refreshes the local search index.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tab | Yes | Exact worksheet/tab name inside the spreadsheet (e.g. 'Units' or 'Weapons'). Use `atlas_sheets` to list valid tabs. | |
| sheet | No | Optional spreadsheet name or ID when multiple spreadsheets are registered. Omit if only one spreadsheet exists. | |
| dry_run | No | If true, compute and return the cell diff without writing changes to the spreadsheet (default false). | |
| row_key | Yes | Primary key value identifying the target row in the key column (e.g. 'monster_goblin'). | |
| updates | Yes | Mapping of `{column_header_name: new_value}` for the cells to update in that row (e.g. `{"HP": 45, "Status": "✅"}`). Never pass raw cell coordinates like 'C14'. | |
| key_column | No | Optional header name of the key column used to match `row_key`. Defaults to the first column of the tab. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |