
spreadsheets
Use when CSV, TSV, or Excel (.xlsx) is the primary input/output: design or review text-table schemas, inspect, transform, validate, convert, or recalc formulas, or create/fix spreadsheets. Do not trigger when tabular data is incidental.
- Installs
- 258
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/paulrberg/agent-skills --skill spreadsheets- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads spreadsheets automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Spreadsheets
Handle tabular data with exact values, minimal diffs, recipient-scoped data handling, atomic writes, and structural validation.
Invariants
- Keep precision-sensitive amounts as strings and compute with
decimal.Decimalor DuckDBDECIMAL(38, 18), never binary floats. - Touch only requested rows, columns, formulas, and formatting. Existing file conventions override house defaults.
- For newly authored text tables, prefer TSV, UTF-8 without BOM, LF, one trailing newline, lowercase
snake_caseheaders, ISO dates,.decimals, and-nulls. - Read unknown text tables with BOM-tolerant UTF-8. Never write a BOM.
- Write in place atomically through a sibling temporary file, validate it, then replace the target.
- Escape external cells beginning with
=,+, or@. A bare-null is exempt. Formula-prefix cells in trusted authored data are observations, not proof of injection. - Treat transaction, bank, exchange, and tax data as user-owned. Use unredacted samples in internal agent reports when
materially useful. For public or third-party disclosures, or when the user asks, use
--redact-samples.
Factual Profiling
Resolve helper paths from this SKILL.md. Profile unknown data before choosing a transformation tool:
uv run "<skill-dir>/scripts/profile.py" <file>
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.
Tool Routing
| Need | Tool |
|---|---|
| Fast structural preview/validation | uv run "<skill-dir>/scripts/peek.py" <file> |
| Factual local quality profile | uv run "<skill-dir>/scripts/profile.py" <file> |
| 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 |
| New text table or intentional schema change | Read references/text-table-design.md first |
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. Otherwise, stdout
defaults to CSV.
Workflow
- For a new text table or intentional schema change, read
references/text-table-design.mdand record the intended table interface plus migration surface. - Inspect with
peek.py. When cardinality, formula prefixes, metadata, or available tooling matters, addprofile.py. For a no-shape-change edit, save the peek JSON. For intentional row/schema changes, record the expected width and invariants. - Decide whether formula-prefix cells are dangerous from provenance and output context. Decide the smallest tool that preserves values and formatting. Avoid pandas unless necessary. If you use it, load every column as strings.
- Apply the transformation atomically. For idempotent appends with legitimate duplicate rows, use multiset difference rather than set deduplication.
- Validate:
- unchanged shape:
peek.py --strict --expect-like <before-report>. - changed shape:
peek.py --strict --expect-columns <n>plus task-specific counts/keys. - authored house TSV: add
--house. - formulas:
uv run "<skill-dir>/scripts/recalc.py" <file.xlsx>and require success.
- unchanged shape:
- Report paths, row/column effects, validation, and any workbook features that could not be preserved.
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. Include profile JSON only when it materially supports the report, and keep
JSON, cells, headers, formulas, paths, commands, and diagnostics undecorated.
Generated Financial Artifacts
Treat generated financial tables and reports as outputs. Before editing, identify their source inputs and the project-provided validation and regeneration commands. Edit only the sources, validate them, then regenerate affected outputs. Never hand-edit generated tables or reports. Cap financial output to counts and file references unless raw rows materially support the task or were requested. Perform an external-disclosure review before sending financial data outside the agent workspace.
Completion requires the requested artifact, an intentional diff, atomic replacement where applicable, and structural plus domain validation evidence. A new or changed text-table schema also requires a defined table interface and a complete migration of affected producers, consumers, existing rows, generated artifacts, and validators.
FAQ
What does the spreadsheets skill do?
Use when CSV, TSV, or Excel (.xlsx) is the primary input/output: design or review text-table schemas, inspect, transform, validate, convert, or recalc formulas, or create/fix spreadsheets. Do not trigger when tabular data is incidental.
How do I install spreadsheets?
Run npx skills add https://github.com/paulrberg/agent-skills --skill spreadsheets in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/spreadsheets/ (personal) or .claude/skills/spreadsheets/ (project).
Which AI agents can use spreadsheets?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is spreadsheets safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains spreadsheets?
It is published by paulrberg in paulrberg/agent-skills. It has 258 recorded installs.
More from paulrberg/agent-skills
effect-ts
paulrberg/agent-skills
Use for nontrivial Effect 4 work including services/layers, typed errors, Schema/JsonSchema, Config, runtime/concurrency, @effect/vitest, effect/ai and @effect/ai-, effect/sql and @effect/sql-, Effect Atom (@effect/atom-), or @prb/effect-next.
tailwind-css
paulrberg/agent-skills
Use for Tailwind v4 styling: add/fix classes, configure or migrate Tailwind, use tailwind-variants, or tw-animate-css.
cli-gh
paulrberg/agent-skills
Use for GitHub CLI automation: repository reads, workflow runs, search, codespaces, releases, configuration, or gh command syntax. Use yeet for contribution writes to PRs, issues, comments, or discussions.
code-polish
paulrberg/agent-skills
Polish changed code when the user explicitly asks, or when an active workflow requests post-implementation simplification and risk-profiled review over a fixed file scope.
yeet
paulrberg/agent-skills
Use for GitHub PR/issue/discussion workflows: create/update PRs, issues, or discussions and post issue or discussion comments; triggers include yeet.
bump-release
paulrberg/agent-skills
Cut a release: bump versions, write changelogs, commit, tag.
Popular data & databases skills
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-client-api
prisma/skills
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
prisma-database-setup
prisma/skills
Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.
prisma-cli
prisma/skills
Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.
prisma-postgres
prisma/skills
Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.
prisma-driver-adapter-implementation
prisma/skills
Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.