Install
$ agentstack add skill-paulrberg-dot-agents-spreadsheets ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Spreadsheets
Handle tabular data with exact values, minimal diffs, local privacy, 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_case
headers, 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 temp file, validate it, then replace the target.
- Escape external cells beginning with
=,+, or@to prevent formula injection; a bare-null is exempt. - Keep transaction, bank, exchange, and tax data local. Redact sample values in reports unless raw rows were explicitly
requested.
Tool Routing
Resolve bundled scripts relative to this SKILL.md, not the target repository.
| Task | Tool | | ------------------------------------------ | --------------------------------------------- | | First look / CSV or TSV structure | uv run scripts/peek.py | | Detailed local quality profile | uv run scripts/profile.py | | Counts, stats, frequencies, select, dedupe | qsv | | Joins, pivots, aggregation, conversion | DuckDB with all_varchar = true | | Exact row transforms | uv run Python, stdlib csv, Decimal | | Any .xlsx/.xlsm input or output | read references/xlsx.md first | | Exact transform and validation recipes | read references/recipes.md only when needed |
Prefer qsv --cache-threshold 0 where supported to avoid sidecar caches. When qsv stdout must remain TSV, use -o out.tsv; do not rely on redirection because stdout defaults to CSV.
Workflow
- Inspect the file with
peek.py. For a no-shape-change edit, save its JSON report; for intentional row/schema
changes, record the expected resulting width and invariants.
- Choose the smallest tool that preserves values and formatting. Avoid pandas unless necessary; if used, load all
columns 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; - changed shape:
peek.py --strict --expect-columnsplus task-specific counts/keys; - authored house TSV: add
--house; - formulas: recalculate with
uv run scripts/recalc.pyand require success.
- Report paths, row/column effects, validation results, and any formulas or workbook features that could not be
preserved.
prb-finance
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 table output to counts and file references unless raw rows were explicitly requested.
Completion requires the requested artifact, an intentional diff, atomic replacement where applicable, and structural plus domain-specific validation evidence.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: PaulRBerg
- Source: PaulRBerg/dot-agents
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.