Skip to content
cccskills
FreePublished on GitHub

xlsx-to-csv

Converts XLSX spreadsheets, including multi-sheet workbooks, into CSV files that can be read and grepped directly. Use whenever an .xlsx report needs processing — exports from Xero, Cryptio, bank statements, or any tool that delivers spreadsheet output.

The English summary is being prepared. Showing the original description.

Works withExcel
See how to install

Files included (1)

  • SKILL.md1.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

XLSX to CSV

When to use

Any time you need to read or grep the contents of an .xlsx file in text form. The Read tool cannot render .xlsx directly; convert to CSV first.

Single-sheet XLSX

LibreOffice headless conversion works:

libreoffice --headless --convert-to csv --outdir /path/to/outdir /path/to/input.xlsx

Output: outdir/input.csv (the active sheet only).

Multi-sheet XLSX

LibreOffice's --convert-to csv only emits the active sheet, so hidden sheets get dropped silently. For multi-sheet files use xlsx2csv via uvx (no permanent install needed):

uvx --from xlsx2csv xlsx2csv -a /path/to/input.xlsx /path/to/outdir/

Output: one CSV per sheet, named after the sheet (with spaces preserved).

If you don't know whether a file is multi-sheet, default to xlsx2csv — it handles single-sheet files fine too.

Files served with the wrong extension

Some tools deliver XLSX content with a .zip extension (e.g. Cryptio's Trial Balance download). Inspect with unzip -l file.zip — if you see xl/workbook.xml or [Content_Types].xml, it's an XLSX. Rename to .xlsx and convert as normal.

Pitfalls

  • LibreOffice silently emits the active sheet only — running it on a multi-sheet file looks successful but discards hidden sheets. Always check sheet count via unzip -l file.xlsx | grep worksheets/sheet.
  • xlsx2csv requires an output directory for -a; it will not write to stdout when emitting multiple sheets.
  • Empty rows in the source are emitted as commas-only lines; filter with grep -v '^,*$' if they're noisy.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Applies local reliability, viewport, tab-safety, stale-ref, widget, and browser-boundary lessons to every agent-browser automation. Use alongside the upstream agent-browser skill whenever navigating, clicking, filling, testing, extracting, taking screenshots, or debugging any website with agent-browser.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Size the agent-browser Chromium window to fill its current screen, leaving a configurable bottom margin for the desktop panel. Use before any agent-browser automation that needs the full screen visible without elements overlapping or scrolling off (e.g. Xero, dense web apps).

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Create Claude Code slash commands, OpenCode command files, Pi prompt templates, and Codex custom prompts that delegate to the right subagent or skill. Use when creating new commands, porting commands across agent platforms, or refactoring existing commands to follow platform conventions.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Adds or changes allowed commands in AI agent permission configs for OpenCode and Claude Code. Use when a command needs adding to an agent's allow list, when permission settings for existing commands need changing, when setting up a new AI tool that requires command permissions, or when the user asks to stop being prompted for a particular command.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

bc

Free

Creates a Beads issue for a described problem or piece of work without doing the work itself. Use when the user invokes `/bc` or `$bc`, or asks to file, log, or record a bead for something. To also carry out the work, use the `bx` skill instead.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

bdr

Free

Stores a persistent memory or learning with `bd remember` so it survives across sessions. Use when the user invokes `/bdr` or `$bdr`, or asks to remember, note, or persist an insight in a Beads workspace.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

See all skills by aspiers

Report a problem with this skill