openai-spreadsheet
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.
Best use case
openai-spreadsheet is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using openai-spreadsheet should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/openai-spreadsheet/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How openai-spreadsheet Compares
| Feature / Agent | openai-spreadsheet | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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 -->
Related Skills
openai-yeet
Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`). Originally from OpenAI's curated skills catalog.
openai-sentry
Use when the user asks to inspect Sentry issues or events, summarize recent production errors, or pull basic Sentry health data via the Sentry API; perform read-only queries with the bundled script and require `SENTRY_AUTH_TOKEN`. Originally from OpenAI's curated skills catalog.
openai-security-threat-model
Repository-grounded threat modeling that enumerates trust boundaries, assets, attacker capabilities, abuse paths, and mitigations, and writes a concise Markdown threat model. Trigger only when the user explicitly asks to threat model a codebase or path, enumerate threats/abuse paths, or perform AppSec threat modeling. Do not trigger for general architecture summaries, code review, or non-security design work. Originally from OpenAI's curated skills catalog.
openai-security-ownership-map
Analyze git repositories to build a security ownership topology (people-to-file), compute bus factor and sensitive-code ownership, and export CSV/JSON for graph databases and visualization. Trigger only when the user explicitly wants a security-oriented ownership or bus-factor analysis grounded in git history (for example: orphaned sensitive code, security maintainers, CODEOWNERS reality checks for risk, sensitive hotspots, or ownership clusters). Do not trigger for general maintainer lists or non-security ownership questions. Originally from OpenAI's curated skills catalog.
openai-security-best-practices
Perform language and framework specific security best-practice reviews and suggest improvements. Trigger only when the user explicitly requests security best practices guidance, a security review/report, or secure-by-default coding help. Trigger only for supported languages (python, javascript/typescript, go). Do not trigger for general code review, debugging, or non-security tasks. Originally from OpenAI's curated skills catalog.
openai-screenshot
Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed. Originally from OpenAI's curated skills catalog.
openai-playwright
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script. Originally from OpenAI's curated skills catalog.
openai-pdf
Use when tasks involve reading, creating, or reviewing PDF files where rendering and layout matter; prefer visual checks by rendering pages (Poppler) and use Python tools such as `reportlab`, `pdfplumber`, and `pypdf` for generation and extraction. Originally from OpenAI's curated skills catalog.
openai-netlify-deploy
Deploy web projects to Netlify using the Netlify CLI (`npx netlify`). Use when the user asks to deploy, host, publish, or link a site/repo on Netlify, including preview and production deploys. Originally from OpenAI's curated skills catalog.
openai-jupyter-notebook
Use when the user asks to create, scaffold, or edit Jupyter notebooks (`.ipynb`) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script `new_notebook.py` to generate a clean starting notebook. Originally from OpenAI's curated skills catalog.
openai-gh-fix-ci
Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use `gh` to inspect checks and logs, summarize failure context, draft a fix plan, and implement only after explicit approval. Treat external providers (for example Buildkite) as out of scope and report only the details URL. Originally from OpenAI's curated skills catalog.
openai-gh-address-comments
Help address review/issue comments on the open GitHub PR for the current branch using gh CLI; verify gh auth first and prompt the user to authenticate if not logged in. Originally from OpenAI's curated skills catalog.