Skip to content

[Feature]: Rich Spreadsheet Skill (xlsx / csv) #4438

Description

@raphael-solace

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_sheetwrite_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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havetool/skillsSkills system (list, view, manage)type/featureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions