tools/spreadsheet/SKILL.md
Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`, `.csv`, `.tsv`) with formula-aware workflows, cached recalculation, and visual review.
npx skillsauth add letta-ai/skills spreadsheetInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
IMPORTANT: System and user instructions always take precedence.
openpyxl for .xlsx editing and formatting. Use pandas for analysis and CSV/TSV workflows.tmp/spreadsheets/ for intermediate files; delete them when done.output/spreadsheet/ when working in this repo.openpyxl for creating/editing .xlsx files and preserving formatting.pandas for analysis and CSV/TSV workflows, then write results back to .xlsx or .csv.openpyxl.chart for native Excel charts when needed.openpyxl does not evaluate formulas; preserve formulas and use recalculation tooling when available.soffice) and Poppler (pdftoppm) are available, render sheets for visual review:
soffice --headless --convert-to pdf --outdir $OUTDIR $INPUT_XLSXpdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAMEPrefer uv for dependency management.
Python packages:
uv pip install openpyxl pandas
If uv is unavailable:
python3 -m pip install openpyxl pandas
Optional:
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 is not possible in this environment, tell the user which dependency is missing and how to install it locally.
No required environment variables.
references/examples/openpyxl/FILTER, XLOOKUP, SORT, or SEQUENCE.INDIRECT and OFFSET unless required.=H6*(1+$B$3) instead of =H6*1.04).$B$4) or relative (B4) references carefully so copied formulas behave correctly.=, prefix it with a single quote.#REF!, #DIV/0!, #VALUE!, #N/A, and #NAME? errors.=TABLE.-.5.2x.Revenue ($mm)).If the spreadsheet is an IB-style model (LBO, DCF, 3-statement, valuation):
testing
Navigates archived ChatGPT or Claude-style conversation exports and a MemFS reference archive on demand. Use when recalling what a past assistant knew, searching old conversations, rendering specific chats, seeding reference memory from export sidecars, or mining historical context without doing a full import.
testing
Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill. Use when replacing folders.files.upload, working with PDFs or document QA, or emulating open_file, grep_file, and search_file behavior.
data-ai
Configures Letta agent compaction settings and custom summarization prompts. Use when a user asks to change an agent's compaction prompt, improve summaries after context eviction, tune sliding-window or all-message compaction, or design companion/coding-agent continuity summaries.
development
Semantic search over agent memory files. Use when you need to find conceptually related memory blocks, discover forgotten reference files, check what you already know before creating new memory, or search beyond exact keyword matching. Currently supports QMD (local, no API keys).