spreadsheet-peek
Preview spreadsheet/delimited files with the Spreadsheet Peek MCP viewer or `wolfxl peek`.
Skill by wolfgangs
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/wolfiesch-spreadsheet-peek
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/spreadsheet-peek
What's inside
- Skill name
spreadsheet-peek- Description
- Preview spreadsheet/delimited files with the Spreadsheet Peek MCP viewer or `wolfxl peek`. Use proactively for .xlsx, .xlsm, .xls, .xlsb, .ods, .csv, .tsv, or .txt before processing, after fixture generation, during parsing debug, or when asked to peek/preview/show a file.
- License
- MIT
- Metadata
- author: wolfgangs
- Instructions
- 186 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (81)
- marketplace.json · .claude-plugin/
- plugin.json · .claude-plugin/
- marketplace.json · .codex-plugin/
- plugin.json · .codex-plugin/
- bug_report.yml · .github/ISSUE_TEMPLATE/
- config.yml · .github/ISSUE_TEMPLATE/
- feature_request.yml · .github/ISSUE_TEMPLATE/
- question.yml · .github/ISSUE_TEMPLATE/
- pull_request_template.md · .github/
- benchmark.yml · .github/workflows/
- mcp-app.yml · .github/workflows/
- .gitignore
- .mcp.json
- CHANGELOG.md
- CLAUDE.md
- CONTRIBUTING.md
- LICENSE
- README.md
- SKILL.md
- agent-preview.gif · assets/
- contrast.gif · assets/
- og-card.png · assets/
- screencast.gif · assets/
- screencast.mp4 · assets/
- README.md · benchmarks/
- compare_converters.py · benchmarks/
- measure_tokens.py · benchmarks/
- verify_claims.py · benchmarks/
- agent-setup.md · docs/
- how-it-works.md · docs/
- release-checklist.md · docs/
- README.md · examples/
- demo.gif · examples/
- demo.tape · examples/
- generate_delimited_samples.py · examples/
- generate_messy_csv.py · examples/
- generate_sample.py · examples/
- generate_tall_ledger.py · examples/
- generate_wide_table.py · examples/
- messy.csv · examples/
- quoted-multiline.csv · examples/
- sample-date.xlsb · examples/
- sample-financials.xlsx · examples/
- sample-ledger.csv · examples/
- sample-ledger.tsv · examples/
- sample-ledger.txt · examples/
- sample-minimal.ods · examples/
- sample-minimal.xls · examples/
- tall-ledger.xlsx · examples/
- wide-table.xlsx · examples/
- install.sh
- .mcpbignore · mcp-app/
- README.md · mcp-app/
- run-server.mjs · mcp-app/bin/
- run-server.sh · mcp-app/bin/
- server.js · mcp-app/dist/
- index.html · mcp-app/dist/viewer/
- index.html · mcp-app/
- manifest.json · mcp-app/
- package-lock.json · mcp-app/
- …and 21 more
SKILL.md (first lines)
# Spreadsheet Peek Show inline previews of spreadsheet files. Prefer the Spreadsheet Peek MCP viewer when available; otherwise use terminal `wolfxl peek`. This skill is **proactive** - invoke it at the right moments without waiting for the user to ask. ## Prerequisites - `wolfxl` must be installed: `cargo install wolfxl-cli` - `wolfxl-cli >= 0.9.0` supports `.xlsx`, `.xlsm`, `.xls`, `.xlsb`, `.ods`, `.csv`, `.tsv`, and comma-delimited `.txt`, plus Markdown export - Formatting fidelity is strongest for `.xlsx` and `.xlsm`; legacy workbook and delimited inputs are value-first previews with limited style metadata ## MCP Viewer (When Available) If the `spreadsheet-peek` MCP server is enabled, use it for user-visible previews before terminal output: ```text open_workbook_viewer(path="/absolute/path/to/file.xlsx", sheet="P&L", maxRows=50, maxColumns=40) ``` Use `preview_workbook` when the host selects it for a natural "preview this spreadsheet" request or when you need structured data without explicitly opening the grid. MCP tools return a bounded preview, sheet metadata, and text summary. The viewer supports sheet tabs, sticky headers, search, range selection, and selected-range handoff. Use terminal `wolfxl peek` when MCP is unavailable, the agent is shell-only, or you need a copy-pasteable transcript. ## When to Invoke (Proactive Triggers) ### Always preview when: 1. **Before data processing**: preview inputs before running pipelines, ETL jobs, or scripts that read a spreadsheet. 2. **After fixture changes**: preview generated or modified spreadsheet and delimited fixtures. 3. **When the user references a file**: if they mention a spreadsheet, CSV, TSV, or table-like text path, show it before discussing it. 4. **When debugging parsing**: preview the raw input so parser behavior is grounded in the visible file. 5. **When comparing before/after**: show the input and transformed output with the same preview habit. ### Skip preview when: - The file has already been previewed in the current conversation - The file is being read programmatically (e.g., openpyxl/pandas in Python) and the code output already shows the data - The user explicitly says they don't need to see it - The file is enormous (>10K rows) and the user didn't ask - mention it exists and offer to preview a slice ## Preview Ladder Use the smallest preview that answers the question: 1. First human-readable look: ```bash wolfxl peek <file> -n 15 ``` 2. Large or unfamiliar workbook briefing: ```bash wolfxl agent <file> --max-tokens 800 ``` 3. Repeat previews or context-sensitive work: ```bash wolfxl peek <file> --export text | sed -n '1,20p' ``` 4. Sheet structure before cell values: ```bash wolfxl map <file> --format text ``` ## Token Efficiency (IMPORTANT) `wolfxl peek`'s box-drawing output uses Unicode border characters that cost real tokens. Choose the right mode based on context: | Mode | When to use | Token cost (5 data rows) | |------|-------------|---------------------| | **Box-drawing** (`wolfxl peek file -n 5`) | User is looking, readability matters | ~573 tokens (~115/row) | | **Text export** (`wolfxl peek file --export text \| sed -n '1,6p'`) | Context-sensitive, large files, repeated previews | ~148 tokens (~30/row) | **Default rule**: Use box-drawing for the FIRST preview in a conversation (readability). Switch to `--export text | sed -n '1,Np'` for subsequent previews or when context is getting long. **Measured ratio**: box-drawing is ~3.9x more expensive per row than text export on a 7-column financial workbook, ~3.6x on an 8-column tall ledger, and ~3.0x on a 29-column wide table. The overhead is mostly fixed (header/border lines), so the per-row cost improves with more rows - but text export is still cheaper at every size. **Delimited fixtures**: CSV/TSV/TXT ledger previews cost ~524 box tokens and ~145 text tokens; quoted multiline CSV costs ~401 and ~116. **Note**: `--export text` ignores the `-n` flag and dumps ALL rows. Always pipe through `sed -n '1,Np'` to limit what enters the conversation. Prefer `sed` over `head` with current `wolfxl-cli` releases because `head` can close the pipe early and make `wolfxl` print a broken-pipe warning. ## Command Variants ```bash wolfxl peek <file> -n 0 # full readable dump, use sparingly wolfxl peek <file> --sheet "Balance Sheet" -n 15 # specific sheet wolfxl peek <file> -n 15 -w 60 # wider cells for long text wolfxl peek <file> --export text # clean text for diffing or piping wolfxl peek <file> --export markdown | sed -n '1,20p' # Markdown table for context converters wolfxl peek <file> --export csv # CSV export wolfxl peek <file> --export json # JSON export ``` ## Delimited File Notes `wolfxl peek` reads `.csv`, `.tsv`, and comma-delimited `.txt` files directly in `wolfxl-cli >= 0.9.0`: ```bash wolfxl peek file.csv -n 15 wolfxl peek file.tsv -n 15 wolfxl peek file.txt -n 15 ``` For raw inspection, custom delimiters, dimensions, or older installed `wolfxl` binaries: ```bash head -15 file.csv # raw sniff head -15 file.csv | column -s, -t # simple CSV only mlr --icsv --opprint head -n 15 file.csv # CSV-aware csvlook --max-rows 15 file.csv # CSV-aware mlr --icsv --opprint count file.csv # row count mlr --icsv --opprint put '$columns = NF' then head -n 1 file.csv ``` **Which to use**: default to `wolfxl peek` for conversation-visible previews. Use `head` only for a raw text sniff, `column -s, -t` only on simple CSVs, and `mlr`/`csvkit` for custom delimiters, encodings outside UTF-8, or CSV-aware dimensions. **Known caveat**: `wolfxl-cli 0.9.0` is UTF-8 only and does not strip BOMs or detect arbitrary delimiters. A UTF-8 BOM may show in the first header cell; non-comma `.txt` files need a CSV-aware tool or a temporary conversion. **If you must use Python** (CSV too messy for shell tools), reach for `csv.DictReader` + `tabulate`, not pandas - pandas has a ~1s import cost and is overkill for a preview. ## Legacy Workbook Notes `wolfxl-cli >= 0.9.0` reads `.xls`, `.xlsb`, and `.ods` directly:
From wolfiesch/spreadsheet-peek, MIT.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 1
- Last commit
- May 28, 2026 (5 months ago)
- Last release
- May 28, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/wolfiesch/spreadsheet-peek
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Cite this page
spreadsheet-peek skill. Agent Mart. https://agentmart.dev/skills/wolfiesch-spreadsheet-peek (last updated 2026-10-24)