spreadsheets — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited spreadsheets (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Handle tabular data with exact values, minimal diffs, recipient-scoped data handling, atomic writes, and structural validation.
decimal.Decimal or DuckDB DECIMAL(38, 18), neverbinary floats.
snake_caseheaders, ISO dates, . decimals, and - nulls.
=, +, or @. A bare - null is exempt. Formula-prefix cells in trustedauthored data are observations, not proof of injection.
materially useful. For public or third-party disclosures, or when the user asks, use --redact-samples.
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.
| 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.
references/text-table-design.md and record the intendedtable interface plus migration surface.
peek.py. When cardinality, formula prefixes, metadata, or available tooling matters, add profile.py.For a no-shape-change edit, save the peek JSON. For intentional row/schema changes, record the expected width and invariants.
preserves values and formatting. Avoid pandas unless necessary. If you use it, load every column as strings.
rather than set deduplication.
peek.py --strict --expect-like <before-report>.peek.py --strict --expect-columns <n> plus task-specific counts/keys.--house.uv run "<skill-dir>/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. Include profile JSON only when it materially supports the report, and keep JSON, cells, headers, formulas, paths, commands, and diagnostics undecorated.
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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.