Best for
- Use when CSV, TSV, or Excel (.
PaulRBerg/agent-skills/skills/spreadsheets/SKILL.md
Use when CSV, TSV, or Excel (.xlsx) is the primary input/output: inspect, transform, validate, convert, recalc formulas, or create/fix spreadsheets. Do not trigger when tabular data is incidental.
Decision brief
Handle tabular data with exact values, minimal diffs, local privacy, atomic writes, and structural validation.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/PaulRBerg/agent-skills --skill "skills/spreadsheets"Inspect the Agent Skill "spreadsheets" from https://github.com/PaulRBerg/agent-skills/blob/2c47aa0b01d513aaa36e0c8271cc8c524734eaee/skills/spreadsheets/SKILL.md at commit 2c47aa0b01d513aaa36e0c8271cc8c524734eaee. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Inspect with peek.py --redact-samples; add profile.py when cardinality, formula prefixes, metadata, or available tooling matters. For a no-shape-change edit, save the peek JSON. For intentional row/schema changes, record the expected width and invariants. 2. Decide whether fo…
1. Keep precision-sensitive amounts as strings and compute with decimal.Decimal or DuckDB DECIMAL(38, 18), never binary floats. 2. Touch only requested rows, columns, formulas, and formatting. Existing file conventions override house defaults. 3. For newly authored text tables,…
Resolve helper paths from this SKILL.md. Profile unknown data before choosing a transformation tool:
Prefer qsv --cache-threshold 0 where supported. When qsv stdout must remain TSV, use -o out.tsv; stdout otherwise defaults to CSV.
Never hand-edit generated .pool.tsv, .annual.tsv, or Markdown reports. After source edits, run just tsv-check, then just cli::write-changed. Cap private output to counts and file references unless raw rows were requested.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 88/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 68 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Handle tabular data with exact values, minimal diffs, local privacy, atomic writes, and structural validation.
decimal.Decimal or DuckDB DECIMAL(38, 18), never
binary floats.snake_case
headers, ISO dates, . decimals, and - nulls.=, +, or @; a bare - null is exempt. Formula-prefix cells in trusted
authored data are observations, not proof of injection.Resolve helper paths from this SKILL.md. Profile unknown data before choosing a transformation tool:
uv run "<skill-dir>/scripts/profile.py" <file> --redact-samples
The JSON output has schema_version: 2. It reports structural facts, header quality, cardinality/statistics when qsv is
available, frequency facts, formula-prefix cells, workbook metadata, and local tool availability. It contains no tool
recommendations and does not infer identifiers from uniqueness. Choose the tool from the requested transformation,
provenance, output format, and preservation requirements.
Use --external-data only when the cells came from an external or otherwise untrusted source and will be written to a
formula-capable consumer. With that flag, formula-prefix cells affect status; without it, legitimate formulas such as
=SUM(...) remain factual observations and do not fail the profile.
| Need | Tool |
|---|---|
| Fast structural preview/validation | uv run scripts/peek.py <file> --redact-samples |
| Factual local quality profile | uv run scripts/profile.py <file> --redact-samples |
| Counts, stats, frequencies, select, dedupe | qsv |
| Joins, pivots, aggregation, conversion | DuckDB with all_varchar = true |
| Exact custom transforms | uv run Python, stdlib csv, decimal.Decimal |
Any .xlsx/.xlsm input or output | Read references/xlsx.md first |
| Exact transformation/validation recipes | Read references/recipes.md only when needed |
Prefer qsv --cache-threshold 0 where supported. When qsv stdout must remain TSV, use -o out.tsv; stdout otherwise
defaults to CSV.
peek.py --redact-samples; add profile.py when cardinality, formula prefixes, metadata, or available
tooling matters. For a no-shape-change edit, save the peek JSON. For intentional row/schema changes, record the
expected width and invariants.peek.py --strict --expect-like <before-report>;peek.py --strict --expect-columns <n> plus task-specific counts/keys;--house;uv run scripts/recalc.py <file.xlsx> and require success.For human output, lead with ### 📊 Spreadsheet — ✅ updated only after the write and required validation pass, or
### 📊 Spreadsheet — 🔎 inspected, no files written for read-only work. On required validation failure, use
### 📊 Spreadsheet — ⛔ not deliverable. Do not paste private profile JSON or decorate cells, headers, formulas,
paths, commands, or diagnostics.
Never hand-edit generated .pool.tsv, .annual.tsv, or Markdown reports. After source edits, run just tsv-check,
then just cli::write-changed. Cap private output to counts and file references unless raw rows were requested.
Completion requires the requested artifact, an intentional diff, atomic replacement where applicable, and structural plus domain validation evidence.
Alternatives
AstrBotDevs/AstrBot
Create, read, edit, analyze, convert, chart, and validate spreadsheet files including XLSX, XLSM, XLS, CSV, and TSV. Use when a spreadsheet is a primary input or deliverable, or when tabular data must remain editable and auditable in workbook form.
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
davepoon/buildwithclaude
Automate YouTube tasks via Rube MCP (Composio): upload videos, manage playlists, search content, get analytics, and handle comments. Always search tools first for current schemas.
K-Dense-AI/scientific-agent-skills
Analyze Neuropixels extracellular recordings end-to-end with SpikeInterface. Covers loading SpikeGLX/Open Ephys/NWB data, preprocessing, drift/motion correction, Kilosort4 (and CPU) spike sorting, quality metrics, and unit curation (threshold-based, model-based UnitRefine, and AI-assisted visual review). Use when working with Neuropixels 1.0/2.0 recordings, spike sorting, or extracellular electrophysiology analysis.