
Agent Xlsx
Let your agent screenshot Excel sheets, inspect embedded objects, and recalc workbooks with auto-detected Aspose, Excel, or LibreOffice backends.
Overview
agent-xlsx is an agent skill for the Build phase that screenshots, inspects objects, and recalculates Excel workbooks using Aspose, Microsoft Excel, or LibreOffice engines.
Install
npx skills add https://github.com/apetta/agent-xlsx --skill agent-xlsxWhat is this skill?
- Three rendering engines for screenshot, objects, and recalc with command-specific auto-detection order
- objects command: Aspose or Excel only—LibreOffice unsupported; fails with ExcelRequiredError if Excel unavailable
- Force engine via `--engine excel|aspose|libreoffice` per Command × Engine matrix
- Excel (xlwings): macOS needs visible=True plus 0.5s delay for CopyPicture; Windows can run headless
- Auto-fits columns before capture to avoid `####` display in screenshots
- 3 rendering engines documented for screenshot, objects, and recalc
- macOS Excel path documents 0.5s delay with visible=True for CopyPicture
Adoption & trust: 608 installs on skills.sh; 3 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent needs pixel-accurate Excel screenshots or object lists but you are unsure which engine works on your OS and which commands LibreOffice actually supports.
Who is it for?
Indie operators automating workbook QA, formula refresh, and visual regression on macOS or Windows with Excel or Aspose available.
Skip if: Google Sheets-only workflows, Linux teams needing objects without Excel/Aspose, or anyone unwilling to review Aspose commercial licensing.
When should I use this skill?
Agent must screenshot Excel sheets, list workbook objects, recalc formulas, or choose excel|aspose|libreoffice engines for fidelity on the current OS.
What do I get? / Deliverables
Runs use the documented detection order or forced `--engine` flag so screenshot, objects, and recalc complete with the highest-fidelity backend available on the machine.
- Sheet screenshots with autofit columns applied before capture
- Recalculated workbook output via chosen engine
- Object inventory from Aspose or Excel-backed objects command
Recommended Skills
Journey fit
Spreadsheet rendering and recalculation are build-time automation when agents produce or validate Excel deliverables. agent-xlsx bridges local/office runtimes and proprietary Aspose—classic integrations tooling rather than pure frontend code.
How it compares
Spreadsheet rendering orchestration skill—not a generic CSV parser or cloud-only Sheets API integration.
Common Questions / FAQ
Who is agent-xlsx for?
Solo builders and small teams whose coding agents must capture, recalc, or introspect Excel files with explicit engine fallback rules.
When should I use agent-xlsx?
During Build when generating client-ready workbook screenshots, validating embedded objects, or refreshing formulas before ship.
Is agent-xlsx safe to install?
Check the Security Audits panel on this Prism page; the skill may invoke local Excel, LibreOffice, or proprietary Aspose with filesystem access.
SKILL.md
READMESKILL.md - Agent Xlsx
# Rendering Backends agent-xlsx uses three rendering engines for `screenshot`, `objects`, and `recalc` commands. ## Auto-Detection Priority Priority differs by command: **screenshot / recalc:** ``` 1. Aspose.Cells → 2. Excel (xlwings) → 3. LibreOffice → NoRenderingBackendError ``` **objects:** ``` 1. Aspose.Cells → 2. Excel (xlwings) → ExcelRequiredError (no LibreOffice support) ``` Force a specific engine with `--engine excel|aspose|libreoffice`. Available engines vary by command — see the Command × Engine Matrix below. ## Excel (xlwings) - **Platforms:** macOS, Windows (requires Microsoft Excel) - **Fidelity:** Perfect — native Excel rendering - **Speed:** Fast - **Commands:** screenshot, objects, recalc, vba --run **macOS quirk:** Requires `visible=True` with 0.5s delay for CopyPicture API. Windows runs headless. Auto-fits columns before capture (`sheet.autofit('c')`) to prevent `####` display. ## Aspose.Cells - **Platforms:** All (cross-platform, headless) - **Fidelity:** Near-perfect - **Speed:** Fast - **Commands:** screenshot, objects, recalc Aspose.Cells is included as a core dependency of agent-xlsx — no separate install required. **Licensing:** Aspose.Cells is a **proprietary, commercially licensed** library by [Aspose Pty Ltd](https://www.aspose.com/) — **not** covered by agent-xlsx's Apache-2.0 licence. Users are subject to [Aspose's EULA](https://company.aspose.com/legal/eula). A [separate commercial licence](https://purchase.aspose.com/pricing/cells/python-java) is required for production use without watermarks. Evaluation mode works but adds watermarks and has a 100-file-per-session limit. **Setting a licence:** | Method | Usage | |--------|-------| | CLI | `agent-xlsx license --set /path/to/Aspose.Cells.lic` | | Env var (file) | `ASPOSE_LICENSE_PATH=/path/to/Aspose.Cells.lic` | | Env var (base64) | `ASPOSE_LICENSE_DATA=<base64 .lic content>` | | Config file | Stored in `~/.agent-xlsx/config.json` | Priority: env var → config file. Licence applied once per process (cached). > **Security note:** Prefer `ASPOSE_LICENSE_PATH` (file path) over `ASPOSE_LICENSE_DATA` > (base64 inline). Base64 licence data stored as an env var is visible in `ps aux` and can > accidentally land in shell history (`.bashrc`, `.zshrc`) or CI/CD logs. When > `ASPOSE_LICENSE_DATA` is detected, agent-xlsx automatically emits a warning to stderr. Evaluation mode output includes `"evaluation_mode": true` and `"evaluation_notice"` in JSON. ## LibreOffice - **Platforms:** All (free, open-source) - **Fidelity:** Good - **Speed:** Slower (multi-step pipeline) - **Commands:** screenshot, recalc **Screenshot pipeline:** `.xlsx → LibreOffice PDF export → PyMuPDF PNG render` Each invocation uses a unique temp user profile to avoid lock conflicts. **Standard install locations checked:** - macOS: `/Applications/LibreOffice.app/Contents/MacOS/soffice` - Linux: `/usr/bin/libreoffice`, `/usr/bin/soffice`, `/snap/bin/libreoffice` `--timeout` is LibreOffice-specific (default: 30s for screenshot, 60s for recalc). ## Supported Formats | Format | Extension | Read | Write | VBA | Screenshot | |--------|-----------|------|-------|-----|------------| | Excel 2007+ | `.xlsx` | yes | yes | — | yes | | Excel Macro | `.xlsm` | yes | yes | yes | yes | | Excel Binary | `.xlsb` | yes | — | yes | yes | | Excel 97-2003 | `.xls` | yes | — | yes | yes | | OpenDocument | `.ods` | yes | — | — | yes | Only `.xlsx` and `.xlsm` support in-place writes. Using `-o` with a non-writable extension (e.g. `-o out.xls`) auto-converts the output to `.xlsx`. ## Command × Engine Matrix | Command | Excel | Aspose | LibreOffice | |---------|-------|--------|-------------| | screenshot | yes | yes | yes | | objects (list) | yes | yes | — | | objects (export) | yes | yes | — | | recalc | yes | yes | yes | | vba --run | yes | — | — | # Command Reference Complete flag reference for all agent-xlsx commands. All commands return JSON to stdout by default. When using `