skills$openclaw/sheetsmith
crimsondevil3333333.3k

by crimsondevil333333

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.

3.3k stars9.3k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026writing

Skill Snapshot

namesheetsmith
descriptionPandas-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.
ownercrimsondevil333333
repositorycrimsondevil333333/sheetsmith
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @crimsondevil333333/sheetsmith
last updatedFeb 7, 2026

Maintainer

crimsondevil333333

crimsondevil333333

Maintains sheetsmith in the OpenClaw Skills directory.

View GitHub profile
File Explorer
11 files
.
references
usage.md
2.8 KB
scripts
sheetsmith.py
9.3 KB
tests
data
test.csv
92 B
test_sheetsmith.py
2.4 KB
_meta.json
462 B
README.md
4.2 KB
SKILL.md
3.8 KB
SKILL.md

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

  1. Place the spreadsheet (CSV, TSV, or XLS/XLSX) inside the workspace or reference it via a full path.
  2. Run python3 skills/sheetsmith/scripts/sheetsmith.py <command> <path> with the command described below.
  3. When you modify data, either provide --output new-file to save a copy or pass --inplace to overwrite the source file.
  4. Check references/usage.md for 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 --output flag works for filter/transform so you can easily branch results.
  • Behind the scenes, the script relies on pandas + tabulate for 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.md for 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

README.md

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

  1. Place the file somewhere under the workspace (e.g., workspace/inputs/my-data.xlsx).
  2. Run a command: python3 skills/sheetsmith/scripts/sheetsmith.py <command> <path> plus any flags listed below.
  3. Inspect the output (Markdown tables are provided for previews) and, when you write data, use --output new.xlsx or --inplace to persist it.

Common commands

CommandDescriptionExample
summaryPrint shape/dtypes, missing-value info, and a Markdown preview of the first/last rows... summary inputs/sales.csv --rows 5 --tail
describeRun DataFrame.describe() with optional --include/--percentiles... describe data.xlsx --include all --percentiles 10 90
previewShow only head/tail rows without any analysis... preview report.tsv --tail --rows 3
filterApply a pandas query string and optionally sample/write results... filter data.csv --query "state == 'CA'" --output outputs/ca.csv
transformAdd/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
convertRe-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> on filter to inspect a random subset without overwhelming the session.
  • Provide --expr expressions (star column = formula) to create calculated columns, then rename/dropping as needed before writing.
  • Write to a new file with --output; --inplace only overwrites when you explicitly request it.

Automation & repeated work

You can chain commands manually:

  1. filter the rows you need
  2. transform to add/rename/drop columns
  3. convert to output the final format

Every step shares the same CLI, so scripts and workflows stay consistent.

Handling files from humans/bots

  1. Receive the attachment (CSV/Excel) and save it into the workspace (I usually place it under workspace/inputs/).
  2. Run Sheetsmith pointing to that path. For example:
    python3 skills/sheetsmith/scripts/sheetsmith.py summary workspace/inputs/inbox.xlsx --rows 5
    
  3. Share results back in chat. If a modified file is needed, use --output to write it into workspace/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.md explains triggers and workflows.
  • Additional reference: references/usage.md contains a cheat sheet plus troubleshooting notes.
  • Packaging script: python3 $(npm root -g)/openclaw/skills/skill-creator/scripts/package_skill.py skills/sheetsmith creates sheetsmith.skill for 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.