3.3k★sheetsmith – OpenClaw Skill
sheetsmith is an OpenClaw Skills integration for writing workflows. Pandas-powered CSV & Excel management for quick previews, summaries, filtering, transforming, and format conversions. Use this skill whenever you need to inspect spreadsheet files, compute column-level summaries, apply queries or expressions, or export cleansed data to a new CSV/TSV/XLSX output without rewriting pandas every time.
Skill Snapshot
| name | sheetsmith |
| description | Pandas-powered CSV & Excel management for quick previews, summaries, filtering, transforming, and format conversions. Use this skill whenever you need to inspect spreadsheet files, compute column-level summaries, apply queries or expressions, or export cleansed data to a new CSV/TSV/XLSX output without rewriting pandas every time. OpenClaw Skills integration. |
| owner | crimsondevil333333 |
| repository | crimsondevil333333/sheetsmith |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @crimsondevil333333/sheetsmith |
| last updated | Feb 7, 2026 |
Maintainer

name: sheetsmith description: Pandas-powered CSV & Excel management for quick previews, summaries, filtering, transforming, and format conversions. Use this skill whenever you need to inspect spreadsheet files, compute column-level summaries, apply queries or expressions, or export cleansed data to a new CSV/TSV/XLSX output without rewriting pandas every time.
Sheetsmith
Overview
Sheetsmith is a lightweight pandas wrapper that keeps the focus on working with CSV/Excel files: previewing, describing, filtering, transforming, and converting them in one place. The CLI lives at skills/sheetsmith/scripts/sheetsmith.py, and it automatically loads any CSV/TSV/Excel file, reports structural metadata, runs pandas expressions, and writes the results back safely.
Quick start
- Place the spreadsheet (CSV, TSV, or XLS/XLSX) inside the workspace or reference it via a full path.
- Run
python3 skills/sheetsmith/scripts/sheetsmith.py <command> <path>with the command described below. - When you modify data, either provide
--output new-fileto save a copy or pass--inplaceto overwrite the source file. - Check
references/usage.mdfor extra sample commands and tips.
Commands
summary
Prints row/column counts, dtype breakdowns, columns with missing data, and head/tail previews. Use --rows to control how many rows are shown after the summary and --tail to preview the tail instead of the head.
describe
Runs pandas.DataFrame.describe(include='all') (customizable with --include) so you instantly see numeric statistics, cardinality, and frequency information. Supply --percentiles to add additional percentile lines.
preview
Shows a quick tabulated peek at the first (--rows) or last (--tail) rows so you can sanity-check column order or formatting before taking actions.
filter
Enter a pandas query string via --query (e.g., state == 'CA' and population > 1e6). The command can either print the filtered rows or, when you also pass --output, write the filtered table to a new CSV/TSV/XLSX file. Add --sample to inspect a random subset instead of the entire result.
transform
Compose new columns, rename or drop existing ones, and immediately inspect the resulting table. Provide one or more --expr expressions such as total = quantity * price. Use --rename old:new and --drop column to reshape the table, and persist changes via --output or --inplace. The preview version (without writing) reuses the same --rows/--tail flags as the other commands.
convert
Convert between supported formats (CSV/TSV/Excel). Always specify --output with the desired extension, and the helper will detect the proper writer (Excel uses openpyxl, CSV preserves the comma separator by default, TSV uses tabs). This is the simplest way to normalize data before running other commands.
Workflow rules
- Always keep a copy of the raw file or write to a new path; the script will only overwrite the original when you explicitly demand
--inplace. - Use the same CLI for both exploration (
summary,preview,describe) and editing (filter,transform). The--outputflag works for filter/transform so you can easily branch results. - Behind the scenes, the script relies on pandas +
tabulatefor Markdown previews and supports Excel/CSV/TSV, so ensure those dependencies are present (pandas, openpyxl, xlrd, tabulate are installed via apt on this system). - Use
references/usage.mdfor extended examples (multi-step cleaning, dataset comparison, expression tips) when the basic command descriptions above are not enough.
References
- Usage guidelines:
references/usage.md(contains ready-to-copy commands, expression patterns, and dataset cleanup recipes).
Resources
Sheetsmith
Sheetsmith is the pandas-based CSV/TSV/Excel assistant for OpenClaw. It gives you one CLI for:
- Inspecting spreadsheets (
summary,describe,preview) - Filtering or sampling rows via pandas queries (
filter) - Transforming columns with expressions, renames, drops, and safe writes (
transform) - Converting between CSV, TSV, and Excel formats (
convert)
The script lives at skills/sheetsmith/scripts/sheetsmith.py and is the single source of truth for all operations, so you never have to re-write pandas boilerplate.
Dependencies (already installed)
Sheetsmith relies on the Debian-packaged stack:
python3-pandas(dataframes + Excel/CSV readers)python3-openpyxl+python3-xlrd(Excel file support)python3-tabulate(pretty Markdown previews)
Because these are installed system-wide, you can run the CLI without building a virtualenv.
Usage
- Place the file somewhere under the workspace (e.g.,
workspace/inputs/my-data.xlsx). - Run a command:
python3 skills/sheetsmith/scripts/sheetsmith.py <command> <path>plus any flags listed below. - Inspect the output (Markdown tables are provided for previews) and, when you write data, use
--output new.xlsxor--inplaceto persist it.
Common commands
| Command | Description | Example |
|---|---|---|
summary | Print shape/dtypes, missing-value info, and a Markdown preview of the first/last rows | ... summary inputs/sales.csv --rows 5 --tail |
describe | Run DataFrame.describe() with optional --include/--percentiles | ... describe data.xlsx --include all --percentiles 10 90 |
preview | Show only head/tail rows without any analysis | ... preview report.tsv --tail --rows 3 |
filter | Apply a pandas query string and optionally sample/write results | ... filter data.csv --query "state == 'CA'" --output outputs/ca.csv |
transform | Add/rename/drop columns via pandas expressions, then preview or save | ... transform data.csv --expr "density = population / area" --rename active:is_active --output outputs/with-density.csv |
convert | Re-export to CSV/TSV/XLSX by specifying --output with the desired extension | ... convert raw.xlsx --output clean.csv |
Filtering & transforming tips
- Query strings use pandas syntax:
"region == 'EMEA' and sales >= 1e5". - Use
--sample <n>onfilterto inspect a random subset without overwhelming the session. - Provide
--exprexpressions (starcolumn = formula) to create calculated columns, then rename/dropping as needed before writing. - Write to a new file with
--output;--inplaceonly overwrites when you explicitly request it.
Automation & repeated work
You can chain commands manually:
filterthe rows you needtransformto add/rename/drop columnsconvertto output the final format
Every step shares the same CLI, so scripts and workflows stay consistent.
Handling files from humans/bots
- Receive the attachment (CSV/Excel) and save it into the workspace (I usually place it under
workspace/inputs/). - Run Sheetsmith pointing to that path. For example:
python3 skills/sheetsmith/scripts/sheetsmith.py summary workspace/inputs/inbox.xlsx --rows 5 - Share results back in chat. If a modified file is needed, use
--outputto write it intoworkspace/outputs/and upload that file (I can send it back via Telegram or WhatsApp).
If you want me to keep a log of every dataset I touched, I can update memory entries as part of the workflow.
Testing
Run the unit tests with:
python3 -m unittest discover skills/sheetsmith/tests
They exercise the summary/preview workflows, filter, and transform commands using tests/data/test.csv, so you can trust the CLI on small but representative data.
Publishing & development notes
- Skill metadata:
SKILL.mdexplains triggers and workflows. - Additional reference:
references/usage.mdcontains a cheat sheet plus troubleshooting notes. - Packaging script:
python3 $(npm root -g)/openclaw/skills/skill-creator/scripts/package_skill.py skills/sheetsmithcreatessheetsmith.skillfor ClawHub or release bundles.
Links
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install sheetsmith?
Run openclaw add @crimsondevil333333/sheetsmith in your terminal. This installs sheetsmith into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/crimsondevil333333/sheetsmith. Review commits and README documentation before installing.
