excel-to-markdown
Convert local .xlsx and .xls spreadsheet files into Markdown that Copilot can read, using deterministic local Python workbook parsing.
Skill by ekkus93
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/ekkus93-excel-to-markdown
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: documents, spreadsheets
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/excel-to-markdown
What's inside
- Skill name
excel-to-markdown- Description
- Convert local .xlsx and .xls spreadsheet files into Markdown that Copilot can read, using deterministic local Python workbook parsing.
- License
- Apache-2.0
- Instructions
- 99 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (4)
- SKILL.md
- excel_to_markdown.py
- requirements.txt
- test_excel_to_markdown.py
SKILL.md (first lines)
# Excel To Markdown
## Purpose
Convert local Microsoft Excel workbooks into `.md` files using deterministic local tooling.
For spreadsheet conversion in this shared library, prefer direct workbook parsing over screenshots or manual copy-paste.
Write one Markdown file beside the workbook so sheet names, headers, and rows are available as plain text for Copilot.
## Invocation
This skill is intended to be user-invocable by name.
If the runtime exposes skill slash commands, invoke it as:
- `/excel-to-markdown <input.xlsx>`
- `/excel-to-markdown <input.xls>`
- `/excel-to-markdown <input.xlsx> <output.md>`
Examples:
- `/excel-to-markdown /path/to/research-notes.xlsx`
- `/excel-to-markdown /tmp/vendor-pricing.xls`
- `/excel-to-markdown /tmp/vendor-pricing.xls /tmp/vendor-pricing.md`
If the input path is missing, ask the user which `.xlsx` or `.xls` workbook they want to convert.
## When to use
- The user asks to convert a local `.xlsx` file into Markdown.
- The user asks to convert a local legacy `.xls` file into Markdown.
- The user wants spreadsheet contents in a format the local model can read reliably.
## When not to use
- The request is not about a local `.xls` or `.xlsx` file.
- The user has not provided a usable local file path.
- The workbook is very large and the user wants per-sheet `.csv` or `.tsv` outputs instead; use `excel-to-delimited`.
- The task needs spreadsheet formulas recalculated, charts preserved, or pixel-perfect Office fidelity.
- The task is about CSV, PDFs, images, or screenshots instead of Excel workbooks.
## Workflow
1. Identify the local input path and confirm it ends in `.xls` or `.xlsx`.
2. If the path is missing or ambiguous, ask for the minimum clarification needed.
3. Prefer deterministic local parsing with Python packages in this order:
- `openpyxl` for `.xlsx`
- `xlrd` for `.xls`
4. For shell usage in the shared library, run `python3 "{baseDir}/excel_to_markdown.py" ...`.
5. Check the required package before conversion:
- `python3 -m pip show openpyxl` for `.xlsx`
- `python3 -m pip show xlrd` for `.xls`
6. If the required package is missing, stop before conversion and explain exactly what needs to be installed.
7. Prefer setup instructions that match this shared library workflow and this OS:
- Step 1: install spreadsheet helpers with `python3 -m pip install openpyxl xlrd`
- Step 2: verify the packages with `python3 -m pip show openpyxl xlrd`
- Step 3: retry the conversion request
8. Tailor the setup instructions to the actual missing package instead of always listing both.
9. By default, write the Markdown file next to the input file using the same basename and a `.md` extension.
10. Render each worksheet as its own Markdown section and preserve tabular data as readable tables.
11. Do not invent cell contents or claim a successful conversion if the output file was not created.
## Output requirements
- State which file was processed.
- Return the output Markdown file path.
- State clearly when required Python packages are missing and provide step-by-step setup instructions tailored to the missing package.
- Preserve worksheet names in the output.
- Keep the output useful for downstream model reading rather than returning raw binary or opaque workbook metadata.
## Commands
Convert with derived output path:
```bash
python3 "{baseDir}/excel_to_markdown.py" "/path/to/research-notes.xlsx"
```
Convert with explicit output path:
```bash
python3 "{baseDir}/excel_to_markdown.py" "/tmp/vendor-pricing.xls" "/tmp/vendor-pricing.md"
```
Install spreadsheet helpers:
```bash
python3 -m pip install openpyxl xlrd
```
## Constraints
- Use the bundled helper instead of ad hoc workbook parsing.
- Preserve the source workbook and write a separate `.md` output file.
- Default the output path to the same directory as the input file when not provided.
- If the input file does not exist, say so explicitly.
- If the required Python package is missing, explain that the conversion cannot run until it is installed.From ekkus93/vscode_skills, Apache-2.0.
More from ekkus93/vscode_skills
- 0.471score
excel-to-delimited
ekkus93
Convert local .xlsx and .xls workbooks into per-sheet .csv or .tsv files for large-workbook review and downstream machine-friendly processing.
SkillCFreshness: CClaude Code +9 - 0.471score
company-research
ekkus93
Research a company from its official site first, then add recent news context, returning a concise profile with summary, products, pricing, docs, hiring…
SkillCFreshness: CClaude Code +9 - 0.450score
audio-transcribe
ekkus93
Use when the user wants a fully local offline transcription of a local audio or video file into a clean plain-text transcript saved in the workspace.
SkillCFreshness: CClaude Code +9 - 0.450score
hacker-news-top10
ekkus93
Use when the user asks for the top Hacker News stories, the top 10 articles from Hacker News, or a summary of what is trending on news.ycombinator.com right…
SkillCFreshness: CClaude Code +9 - 0.450score
arxiv-search
ekkus93
Use when the user asks for arXiv papers on a topic, papers by a specific author, papers in an arXiv category, or a concise shortlist of relevant arXiv results…
SkillCFreshness: CClaude Code +9 - 0.449score
bitcoin-price
ekkus93
Use when the user asks for the current price of Bitcoin, the BTC price, or how much Bitcoin is worth right now.
SkillCFreshness: CClaude Code +9 - 0.408score
docx-to-markdown
ekkus93
Use when the user wants to convert a .docx or .doc file into a Markdown .md file.
SkillDFreshness: DClaude Code +9 - 0.408score
image-ocr
ekkus93
Use when the user wants OCR text extraction from an image file such as .png, .jpg, .jpeg, .tif, or .tiff.
SkillDFreshness: DClaude Code +9 - 0.406score
net-client-health
ekkus93
Assess one Wi-Fi client session for RF quality, retries, disconnects, and roam symptoms using the bundled NETTOOLS helper.
SkillDFreshness: DClaude Code +9 - 0.404score
net-dhcp-path
ekkus93
Assess DHCP success rates, latency, relay behavior, and address-allocation symptoms using the bundled NETTOOLS helper.
SkillDFreshness: DClaude Code +9 - 0.404score
net-ap-uplink-health
ekkus93
Validate the switch-port and uplink health behind an access point using the bundled NETTOOLS helper.
SkillDFreshness: DClaude Code +9 - 0.404score
net-change-detection
ekkus93
Detect likely relevant changes in network state or configuration using the bundled NETTOOLS helper.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 6, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/ekkus93/vscode_skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ekkus93
- 0.471score
excel-to-delimited
ekkus93
Convert local .xlsx and .xls workbooks into per-sheet .csv or .tsv files for large-workbook review and downstream machine-friendly processing.
SkillCFreshness: CClaude Code +9 - 0.471score
company-research
ekkus93
Research a company from its official site first, then add recent news context, returning a concise profile with summary, products, pricing, docs, hiring…
SkillCFreshness: CClaude Code +9 - 0.450score
audio-transcribe
ekkus93
Use when the user wants a fully local offline transcription of a local audio or video file into a clean plain-text transcript saved in the workspace.
SkillCFreshness: CClaude Code +9 - 0.450score
arxiv-search
ekkus93
Use when the user asks for arXiv papers on a topic, papers by a specific author, papers in an arXiv category, or a concise shortlist of relevant arXiv results…
SkillCFreshness: CClaude Code +9 - 0.450score
hacker-news-top10
ekkus93
Use when the user asks for the top Hacker News stories, the top 10 articles from Hacker News, or a summary of what is trending on news.ycombinator.com right…
SkillCFreshness: CClaude Code +9 - 0.449score
bitcoin-price
ekkus93
Use when the user asks for the current price of Bitcoin, the BTC price, or how much Bitcoin is worth right now.
SkillCFreshness: CClaude Code +9
Cite this page
excel-to-markdown skill. Agent Mart. https://agentmart.dev/skills/ekkus93-excel-to-markdown (last updated 2026-10-24)