xlsx-to-csv

Convert XLSX spreadsheets (single or multi-sheet) to CSV files you can read and grep. Use whenever you need to process an .xlsx report from Xero, Cryptio, bank exports, or any tool that delivers spreadsheet output.

9 stars

Best use case

xlsx-to-csv is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Convert XLSX spreadsheets (single or multi-sheet) to CSV files you can read and grep. Use whenever you need to process an .xlsx report from Xero, Cryptio, bank exports, or any tool that delivers spreadsheet output.

Teams using xlsx-to-csv should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/xlsx-to-csv/SKILL.md --create-dirs "https://raw.githubusercontent.com/aspiers/ai-config/main/.agents/skills/xlsx-to-csv/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/xlsx-to-csv/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How xlsx-to-csv Compares

Feature / Agentxlsx-to-csvStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Convert XLSX spreadsheets (single or multi-sheet) to CSV files you can read and grep. Use whenever you need to process an .xlsx report from Xero, Cryptio, bank exports, or any tool that delivers spreadsheet output.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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:

```bash
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):

```bash
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.

Related Skills

xero-mcp

9
from aspiers/ai-config

Use the Xero MCP server — obtain/refresh OAuth2 bearer tokens, troubleshoot authentication, and pick up other operational notes for working with Xero MCP tools. Use when Xero MCP tools fail with authentication errors, when the bearer token has expired (tokens last ~30 min), before starting any Xero workflow, or for general guidance on Xero MCP usage.

xero-browser

9
from aspiers/ai-config

General Xero browser automation notes. Use when automating any Xero page with agent-browser — covers non-standard UI patterns, waiting, and dropdown menus.

test-running

9
from aspiers/ai-config

Run tests according to repository guidelines. Use after linting passes, before staging changes.

task-orchestration

9
from aspiers/ai-config

Orchestrate the complete development workflow for implementing sub-tasks from a task list. Use for end-to-end feature implementation with quality controls.

task-implementation

9
from aspiers/ai-config

Implement a single sub-task from a task list. Use when working on feature development with existing task lists.

task-generation

9
from aspiers/ai-config

Generate a detailed task list from a PRP. Use after a PRP is created and ready for implementation planning.

subagent-authoring

9
from aspiers/ai-config

Create subagent definitions for Claude Code and OpenCode that delegate to skills. Use when creating new subagents or refactoring existing ones to follow the delegation pattern.

slow-command-running

9
from aspiers/ai-config

Pipe long running commands through tee(1) to allow watching output and repeated analyses without rerunning

skill-authoring

9
from aspiers/ai-config

Create and maintain Claude Code skills following Anthropic best practices. Use when building new skills, refactoring existing ones, or ensuring skills follow official guidelines for structure, naming, progressive disclosure, and testing.

safe-rm

9
from aspiers/ai-config

Safely delete files / directories without asking for permission

prp-generation

9
from aspiers/ai-config

Generate a Product Requirements Prompt (PRP) from a feature description. Use when starting work on a new feature.

project-initialization

9
from aspiers/ai-config

Initialize a project with AI agent rules and documentation. Use when setting up a new repository for AI agent collaboration.