Install
openclaw skills install @ljcoder2015/obsidian-sheet-plus-skillUse when working with Obsidian spreadsheet data — reading, writing, formatting, filtering, creating formulas, setting data validation, conditional formatting, merging cells, or managing sheets via the Sheet Plus plugin REST API. Triggers on tasks involving Excel-like operations in Obsidian, spreadsheet automation, data analysis, or bulk data manipulation.
openclaw skills install @ljcoder2015/obsidian-sheet-plus-skillOperate spreadsheet data through the Obsidian Sheet Plus plugin REST API. Supports reading, writing, formatting, filtering, formulas, data validation, conditional formatting, row/column operations, and cell merging.
http://127.0.0.1:3000)| Field | Value |
|---|---|
| Base URL | http://127.0.0.1:3000 |
| Authentication | No auth by default (requireApiKey: false). If enabled, use Header X-API-KEY: <key> |
| Content-Type | application/json |
Base URL can be overridden via environment variable: OBSIDIAN_SHEET_PLUS_BASE_URL=http://127.0.0.1:3000
Perform these checks in order before every operation:
1. GET / → Verify REST API is available
2. GET /get_sheet_list → Confirm the target sheet exists
3. Execute the specific operation
| Error | Meaning | User Guidance |
|---|---|---|
| Connection refused | Obsidian not running or plugin not enabled | "Please confirm Obsidian is running and Sheet Plus plugin is enabled" |
| Invalid API key (401) | API Key required | "Please obtain the API Key from Obsidian plugin settings and configure it" |
| Other errors | Port or configuration issue | "Please check REST API service status, default port 3000" |
| Tool | Path | Description |
|---|---|---|
| check-status | GET / | Check API status and version |
| Tool | Path | Description |
|---|---|---|
| get-sheet-list | GET /get_sheet_list | Get all worksheet names |
| get-sheet-data | GET /get_sheet_data | Read cell data |
| get-workbook | GET /get_workbook | Get full workbook data |
| get-max-rows | GET /get_max_rows | Get max row count |
| get-max-columns | GET /get_max_columns | Get max column count |
| get-filter | GET /get_filter | Get filter information |
| Tool | Path | Description |
|---|---|---|
| set-sheet-data | POST /set_sheet_data | Write/update cell data |
| create-sheet | POST /create_sheet | Create a new worksheet |
| Tool | Path | Description |
|---|---|---|
| set-formula | POST /set_formula | Set cell formulas |
| set-range-style | POST /set_range_style | Set range style (font, color, borders, etc.) |
| Tool | Path | Description |
|---|---|---|
| set-data-validation | POST /set_data_validation | Set data validation rules |
| clear-data-validation | POST /clear_data_validation | Clear data validation rules |
| Tool | Path | Description |
|---|---|---|
| clear-contents | POST /clear_contents | Clear cell contents |
| clear-format | POST /clear_format | Clear cell formatting |
| clear-all | POST /clear_all | Clear both contents and formatting |
| Tool | Path | Description |
|---|---|---|
| add-filter | POST /add_filter | Add a filter |
| remove-filter | POST /remove_filter | Remove a filter |
| set-filter-criteria | POST /set_filter_criteria | Set filter criteria |
| Tool | Path | Description |
|---|---|---|
| add-conditional-formatting | POST /add_conditional_formatting | Add conditional formatting rules |
| remove-conditional-formatting | POST /remove_conditional_formatting | Remove conditional formatting rules |
| clear-all-conditional-formatting | POST /clear_all_conditional_formatting | Clear all conditional formatting |
| Tool | Path | Description |
|---|---|---|
| insert-rows | POST /insert_rows | Insert rows |
| delete-rows | POST /delete_rows | Delete rows |
| insert-columns | POST /insert_columns | Insert columns |
| delete-columns | POST /delete_columns | Delete columns |
| auto-resize-rows | POST /auto_resize_rows | Auto-resize row height |
| auto-resize-columns | POST /auto_resize_columns | Auto-resize column width |
| Tool | Path | Description |
|---|---|---|
| merge-cells | POST /merge_cells | Merge cells |
| unmerge-cells | POST /unmerge_cells | Unmerge cells |
| Error | Cause | Solution |
|---|---|---|
Connection refused | Obsidian not running or plugin not enabled | Start Obsidian and confirm Sheet Plus plugin is enabled |
Sheet not found | Worksheet name does not exist | Call get-sheet-list first to confirm the correct sheet name |
Range is invalid | Invalid range format | Use A1 notation (e.g., A1:C10), row numbers start at 1 |
No active workbook | No spreadsheet file currently open | Open a .sheet file in Obsidian |