Current behavior
hermes-agent can read and write files with its terminal tool, but Excel/spreadsheet handling relies on raw Python (openpyxl, pandas) with no structured abstraction. The agent has to figure out the library, the sheet structure, and error handling from scratch every time. This leads to inconsistent results — formatting is lost on round-trips, the wrong library is chosen for the task, and CSV vs. XLSX differences are handled ad hoc.
Desired behavior
A dedicated spreadsheet skill in ~/.hermes/skills/ that gives the agent a consistent, high-level vocabulary for spreadsheet operations:
read_sheet(path, sheet=None) → structured JSON rows
write_sheet(path, rows, sheet=None) → creates/overwrites sheet
apply_formula(path, cell, formula) → sets a formula and recalculates
pivot(path, rows, cols, values, agg) → builds a pivot table
chart(path, type, data_range, title) → embeds a chart into the workbook
diff(path_a, path_b) → highlights cell-level changes
A CSV fallback path should handle plain CSVs without requiring Excel dependencies. This mirrors the pattern used by the existing pdf and browser skills.
Implementation sketch
- Core wrapper around
openpyxl (read/write .xlsx with formatting preservation) + xlsxwriter (chart embedding, new workbook creation) + pandas (pivot tables, aggregation, CSV fallback).
- Skill manifest registers the above functions as tool-callable operations, matching the existing skill infrastructure.
- Formatting preservation:
read_sheet → write_sheet round-trips should not destroy cell styles, merged cells, or conditional formatting. This is the main pain point with naive pandas usage.
- Error handling: clear messages for corrupt files, missing sheets, formula errors, and unsupported chart types.
- Dependencies:
openpyxl, xlsxwriter, pandas added as optional extras (pip install hermes-agent[spreadsheet]).
Why this matters
Spreadsheets are the universal data format — finance, HR, operations, research. No other mainstream agent framework ships a first-class spreadsheet skill. This would be a strong differentiator and covers one of the most common real-world automation use cases.
Related issues
Current behavior
hermes-agent can read and write files with its terminal tool, but Excel/spreadsheet handling relies on raw Python (
openpyxl,pandas) with no structured abstraction. The agent has to figure out the library, the sheet structure, and error handling from scratch every time. This leads to inconsistent results — formatting is lost on round-trips, the wrong library is chosen for the task, and CSV vs. XLSX differences are handled ad hoc.Desired behavior
A dedicated
spreadsheetskill in~/.hermes/skills/that gives the agent a consistent, high-level vocabulary for spreadsheet operations:A CSV fallback path should handle plain CSVs without requiring Excel dependencies. This mirrors the pattern used by the existing
pdfandbrowserskills.Implementation sketch
openpyxl(read/write.xlsxwith formatting preservation) +xlsxwriter(chart embedding, new workbook creation) +pandas(pivot tables, aggregation, CSV fallback).read_sheet→write_sheetround-trips should not destroy cell styles, merged cells, or conditional formatting. This is the main pain point with naivepandasusage.openpyxl,xlsxwriter,pandasadded as optional extras (pip install hermes-agent[spreadsheet]).Why this matters
Spreadsheets are the universal data format — finance, HR, operations, research. No other mainstream agent framework ships a first-class spreadsheet skill. This would be a strong differentiator and covers one of the most common real-world automation use cases.
Related issues
skills create/skills editconfigurable target directory (the spreadsheet skill would benefit from the--dirflag anddefault_write_dirconfig proposed there)