Skip to content
Security
Skill

/openai-spreadsheet

Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`,

BOOST
From plugin
skills-curated
51531 skills1 agent4 commands
Install
$ npx -y skills add trailofbits/skills-curated --skill openai-spreadsheet --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/openai-spreadsheet

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`,

SKILL.md

openai-spreadsheet.SKILL.md
name: openai-spreadsheet
description: Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`,
  `.csv`, `.tsv`) using Python (`openpyxl`, `pandas`), especially when formulas, references, and formatting
  need to be preserved and verified. Originally from OpenAI's curated skills catalog.
allowed-tools:
- Bash
- Read
- Grep
- Glob
- Write
- Edit

Spreadsheet Skill (Create, Edit, Analyze, Visualize)

When to use

  • Build new workbooks with formulas, formatting, and structured layouts.
  • Read or analyze tabular data (filter, aggregate, pivot, compute metrics).
  • Modify existing workbooks without breaking formulas or references.
  • Visualize data with charts/tables and sensible formatting.

IMPORTANT: System and user instructions always take precedence.

Workflow

1. Confirm the file type and goals (create, edit, analyze, visualize). 2. Use `openpyxl` for `.xlsx` edits and `pandas` for analysis and CSV/TSV workflows. 3. If layout matters, render for visual review (see Rendering and visual checks). 4. Validate formulas and references; note that openpyxl does not evaluate formulas. 5. Save outputs and clean up intermediate files.

Temp and output conventions

  • Use `tmp/spreadsheets/` for intermediate files; delete when done.
  • Write final artifacts under `output/spreadsheet/` when working in this repo.
  • Keep filenames stable and descriptive.

Primary tooling

  • Use `openpyxl` for creating/editing `.xlsx` files and preserving formatting.
  • Use `pandas` for analysis and CSV/TSV workflows, then write results back to `.xlsx` or `.csv`.
  • If you need charts, prefer `openpyxl.chart` for native Excel charts.

Rendering and visual checks

  • If LibreOffice (`soffice`) and Poppler (`pdftoppm`) are available, render sheets for visual review:
  • `soffice --headless --convert-to pdf --outdir $OUTDIR $INPUT_XLSX`
  • `pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME`
  • If rendering tools are unavailable, ask the user to review the output locally for layout accuracy.

Dependencies (install if missing)

Prefer `uv` for dependency management.

Python packages:

uv pip install openpyxl pandas

If `uv` is unavailable:

python3 -m pip install openpyxl pandas

Optional (chart-heavy or PDF review workflows):

uv pip install matplotlib

If `uv` is unavailable:

python3 -m pip install matplotlib

System tools (for rendering):

# macOS (Homebrew)
brew install libreoffice poppler

# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils

If installation isn't possible in this environment, tell the user which dependency is missing and how to install it locally.

Environment

No required environment variables.

Examples

  • Runnable the agent examples (openpyxl): `references/examples/openpyxl/`

Formula requirements

  • Use formulas for derived values rather than hardcoding results.
  • Keep formulas simple and legible; use helper cells for complex logic.
  • Avoid volatile functions like INDIRECT and OFFSET unless required.
  • Prefer cell references over magic numbers (e.g., `=H6*(1+$B$3)` not `=H6*1.04`).
  • Guard against errors (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?) with validation and checks.
  • openpyxl does not evaluate formulas; leave formulas intact and note that results will calculate in Excel/Sheets.

Citation requirements

  • Cite sources inside the spreadsheet using plain text URLs.
  • For financial models, cite sources of inputs in cell comments.
  • For tabular data sourced from the web, include a Source column with URLs.

Formatting requirements (existing formatted spreadsheets)

  • Render and inspect a provided spreadsheet before modifying it when possible.
  • Preserve existing formatting and style exactly.
  • Match styles for any newly filled cells that were previously blank.

Formatting requirements (new or unstyled spreadsheets)

  • Use appropriate number and date formats (dates as dates, currency with symbols, percentages with sensible precision).
  • Use a clean visual layout: headers distinct from data, consistent spacing, and readable column widths.
  • Avoid borders around every cell; use whitespace and selective borders to structure sections.
  • Ensure text does not spill into adjacent cells.

Color conventions (if no style guidance)

  • Blue: user input
  • Black: formulas/derived values
  • Green: linked/imported values
  • Gray: static constants
  • Orange: review/caution
  • Light red: error/flag
  • Purple: control/logic
  • Teal: visualization anchors (key KPIs or chart drivers)

Finance-specific requirements

  • Format zeros as "-".
  • Negative numbers should be red and in parentheses.
  • Always specify units in headers (e.g., "Revenue ($mm)").
  • Cite sources for all raw inputs in cell comments.

Investment banking layouts

If the spreadsheet is an IB-style model (LBO, DCF, 3-statement, valuation):

  • Totals should sum the range directly above.
  • Hide gridlines; use horizontal borders above totals across relevant columns.
  • Section headers should be merged cells with dark fill and white text.
  • Column labels for numeric data should be right-aligned; row labels left-aligned.
  • Indent submetrics under their parent line items.

When NOT to Use

<!-- TODO: review -->

Read more
Ships withskills-curated

Trail of Bits' reviewed and approved Claude Code plugins. Every skill and marketplace here has been vetted for quality and safety.

Get the whole plugin

Other skills on skills-curated.