Markitdown
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
Create and manipulate Excel XLSX files programmatically. An agent skill from jwynia/agent-skills.
$ npx skills add jwynia/agent-skills --skill xlsx-generator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jwynia/agent-skills xlsx-generator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/general/document-processing/spreadsheet/xlsx-generator .claude/skills/xlsx-generator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "xlsx-generator" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/general/document-processing/spreadsheet/xlsx-generator into .claude/skills/xlsx-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx-generator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jwynia/agent-skills/tree/main/skills/general/document-processing/spreadsheet/xlsx-generatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jwynia/agent-skills --skill xlsx-generator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jwynia/agent-skills xlsx-generator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/general/document-processing/spreadsheet/xlsx-generator .agents/skills/xlsx-generator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "xlsx-generator" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/general/document-processing/spreadsheet/xlsx-generator into .agents/skills/xlsx-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx-generator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jwynia/agent-skills --skill xlsx-generator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jwynia/agent-skills xlsx-generator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/general/document-processing/spreadsheet/xlsx-generator .cursor/skills/xlsx-generator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "xlsx-generator" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/general/document-processing/spreadsheet/xlsx-generator into .cursor/skills/xlsx-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx-generator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jwynia/agent-skills.git --path skills/general/document-processing/spreadsheet/xlsx-generator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jwynia/agent-skills --skill xlsx-generator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jwynia/agent-skills xlsx-generator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/general/document-processing/spreadsheet/xlsx-generator .gemini/skills/xlsx-generator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "xlsx-generator" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/general/document-processing/spreadsheet/xlsx-generator into .gemini/skills/xlsx-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx-generator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jwynia/agent-skills xlsx-generatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jwynia/agent-skills --skill xlsx-generator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/general/document-processing/spreadsheet/xlsx-generator .github/skills/xlsx-generator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "xlsx-generator" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/general/document-processing/spreadsheet/xlsx-generator into .github/skills/xlsx-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx-generator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jwynia/agent-skills --skill xlsx-generator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jwynia/agent-skills xlsx-generator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/general/document-processing/spreadsheet/xlsx-generator .opencode/skills/xlsx-generator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "xlsx-generator" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/general/document-processing/spreadsheet/xlsx-generator into .opencode/skills/xlsx-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx-generator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
xlsx-generatorCreate and manipulate Excel XLSX files programmatically. An agent skill from jwynia/agent-skills.
XLSX Generator is an agent skill from jwynia/agent-skills. Create and manipulate Excel XLSX files programmatically. Use when the user needs to generate spreadsheets, modify XLSX templates, extract spreadsheet content, or automate Excel workflows. Supports both template-based generation (for branding compliance) and from-scratch creation. Keywords: Excel, XLSX, spreadsheet, workbook, worksheet, data, report, template, financial, analysis.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/analyze-template.ts`, `scripts/generate-from-template.ts` and `scripts/generate-scratch.ts`). Compatibility notes: Requires Deno with --allow-read, --allow-write permissions
It sits in Documents & Office, covering Excel spreadsheets. It works with Microsoft Excel. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e02ec7e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
denoFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
deno.landFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Deno with --allow-read, --allow-write permissions
From compatibility in the SKILL.md frontmatter.
XLSX Generator loads about 2.6k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 631 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from jwynia/agent-skills at commit e02ec7e, republished under its MIT licence (© jwynia). 631 words, ~2,576 tokens.
.claude/skills/xlsx-generator/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Use this skill when:
{{TITLE}} or ${date} in cellsDo NOT use this skill when:
Template Mode: Modify existing branded templates
{{PLACEHOLDERS}} with actual valuesScratch Mode: Create spreadsheets from nothing using JSON specifications
Extract cell inventory to understand what can be replaced:
deno run --allow-read scripts/analyze-template.ts financial-template.xlsx > inventory.jsonOutput (inventory.json):
{
"filename": "financial-template.xlsx",
"sheetCount": 3,
"sheets": [
{
"name": "Summary",
"rowCount": 25,
"colCount": 8,
"usedRange": "A1:H25",
"cells": [
{ "address": "A1", "row": 1, "col": 1, "value": "{{REPORT_TITLE}}", "type": "string" },
{ "address": "B3", "row": 3, "col": 2, "value": "{{DATE}}", "type": "string" },
{ "address": "C5", "row": 5, "col": 3, "value": null, "type": "number", "formula": "SUM(C6:C20)" }
]
}
],
"placeholders": [
{ "tag": "{{REPORT_TITLE}}", "location": "Summary!A1", "sheet": "Summary", "address": "A1" },
{ "tag": "{{DATE}}", "location": "Summary!B3", "sheet": "Summary", "address": "B3" }
],
"hasFormulas": true
}Create replacements.json:
{
"textReplacements": [
{ "tag": "{{REPORT_TITLE}}", "value": "Q4 2024 Financial Report" },
{ "tag": "{{DATE}}", "value": "December 15, 2024" },
{ "tag": "{{COMPANY}}", "value": "Acme Corporation", "sheets": ["Summary", "Cover"] }
],
"cellUpdates": [
{ "sheet": "Data", "address": "B5", "value": 1250000 },
{ "sheet": "Data", "address": "B6", "value": 750000 }
]
}deno run --allow-read --allow-write scripts/generate-from-template.ts \
financial-template.xlsx replacements.json output.xlsxCreate spec.json:
{
"title": "Sales Report",
"author": "Finance Team",
"sheets": [
{
"name": "Sales Data",
"data": [
["Product", "Q1", "Q2", "Q3", "Q4", "Total"],
["Widget A", 10000, 12000, 15000, 18000, null],
["Widget B", 8000, 9000, 11000, 13000, null],
["Widget C", 5000, 6000, 7000, 8000, null]
],
"cells": [
{ "address": "F2", "formula": "SUM(B2:E2)" },
{ "address": "F3", "formula": "SUM(B3:E3)" },
{ "address": "F4", "formula": "SUM(B4:E4)" }
],
"columns": [
{ "col": "A", "width": 15 },
{ "col": "B", "width": 10 },
{ "col": "C", "width": 10 },
{ "col": "D", "width": 10 },
{ "col": "E", "width": 10 },
{ "col": "F", "width": 12 }
],
"freezePane": "A2",
"autoFilter": "A1:F4"
}
]
}deno run --allow-read --allow-write scripts/generate-scratch.ts spec.json output.xlsxScenario: Generate a monthly sales report from template.
Steps:
# 1. Analyze template for replaceable content
deno run --allow-read scripts/analyze-template.ts sales-template.xlsx --pretty
# 2. Create replacements.json with monthly data
# 3. Generate report
deno run --allow-read --allow-write scripts/generate-from-template.ts \
sales-template.xlsx replacements.json November-Sales.xlsxScenario: Create a spreadsheet with calculated totals.
spec.json:
{
"sheets": [{
"name": "Expenses",
"data": [
["Category", "January", "February", "March", "Total"],
["Office", 1500, 1600, 1400, null],
["Travel", 3000, 2500, 4000, null],
["Software", 500, 500, 500, null],
["Total", null, null, null, null]
],
"cells": [
{ "address": "E2", "formula": "SUM(B2:D2)" },
{ "address": "E3", "formula": "SUM(B3:D3)" },
{ "address": "E4", "formula": "SUM(B4:D4)" },
{ "address": "B5", "formula": "SUM(B2:B4)" },
{ "address": "C5", "formula": "SUM(C2:C4)" },
{ "address": "D5", "formula": "SUM(D2:D4)" },
{ "address": "E5", "formula": "SUM(E2:E4)" }
]
}]
}Scenario: Create a workbook with summary and detail sheets.
spec.json:
{
"title": "Q4 Report",
"sheets": [
{
"name": "Summary",
"data": [
["Department", "Budget", "Actual", "Variance"],
["Sales", 500000, 520000, null],
["Marketing", 200000, 195000, null]
],
"cells": [
{ "address": "D2", "formula": "C2-B2" },
{ "address": "D3", "formula": "C3-B3" }
]
},
{
"name": "Sales Detail",
"data": [
["Month", "Revenue", "Cost", "Profit"],
["October", 180000, 120000, null],
["November", 170000, 115000, null],
["December", 170000, 110000, null]
],
"cells": [
{ "address": "D2", "formula": "B2-C2" },
{ "address": "D3", "formula": "B3-C3" },
{ "address": "D4", "formula": "B4-C4" }
]
}
]
}| Script | Purpose | Permissions |
|---|---|---|
analyze-template.ts | Extract cells, formulas, placeholders from XLSX | --allow-read |
generate-from-template.ts | Replace placeholders in templates | --allow-read --allow-write |
generate-scratch.ts | Create XLSX from JSON specification | --allow-read --allow-write |
| Property | Type | Description |
|---|---|---|
name | string | Sheet name |
data | array | 2D array of cell values starting at A1 |
cells | array | Individual cell specifications |
rows | array | Row-based data specifications |
columns | array | Column width and visibility settings |
merges | array | Merged cell ranges |
freezePane | string | Freeze panes at this cell (e.g., "A2") |
autoFilter | string | Auto-filter range (e.g., "A1:F10") |
| Property | Type | Description |
|---|---|---|
address | string | Cell address (e.g., "A1", "B2") |
value | mixed | Cell value (string, number, boolean, null) |
formula | string | Formula without = sign |
format | string | Number format (e.g., "#,##0.00") |
type | string | Force type: "string", "number", "boolean", "date" |
| Property | Type | Description |
|---|---|---|
col | string | Column letter (e.g., "A", "B", "AA") |
width | number | Column width in characters |
hidden | boolean | Hide column |
| Property | Type | Description |
|---|---|---|
tag | string | Placeholder to find (e.g., "{{TITLE}}") |
value | mixed | Replacement value |
sheets | array | Limit to specific sheets |
range | string | Limit to cell range (e.g., "A1:D10") |
Symptoms: Output XLSX still contains {{PLACEHOLDER}} tags.
Solution:
analyze-template.ts to verify exact tag text and locationSymptoms: Formulas display as text instead of calculating.
Solution:
Symptoms: Numbers have green triangle indicating text storage.
Solution:
Symptoms: Columns have default width despite specification.
Solution:
© jwynia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts) in skills/general/document-processing/spreadsheet/xlsx-generator of jwynia/agent-skills.
Open the folder on GitHubat commit e02ec7e
XLSX Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| XLSX Generator this skilljwynia/agent-skills | 170 | — | ~2.6k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 781 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Data Table Managern8n-io/n8n | 207k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Docx4jplutext/docx4j | 2.4k | — | ~2.5k | Automated safety check: Pass | None | |
| Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences | 274 | 2 repos | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Cyber Pptcrazyykhllc-bit/CyberPPT | 1.8k | — | ~10k | Automated safety check: Pass | MIT |
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
n8n-io/n8n
Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.
plutext/docx4j
A skill your agent uses when writing Java code that creates, reads or edits Word (.docx), PowerPoint (.pptx) or Excel (.xlsx) files with docx4j — including generating documents, editing existing…
aws-samples/amazon-bedrock-agents-healthcare-lifesciences
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.
crazyykhllc-bit/CyberPPT
当用户需要把 DOCX、PDF、TXT、XLSX、研究报告、业务材料或原始数据转成高密度、可编辑、咨询风格 PPTX 时使用;也适用于需要 SCR 论证、视觉风格探索、详细图表和渲染质检的 PPT。
AgriciDaniel/jev-seo
Full live SEO audit of any website from its homepage URL, powered by Jev (TypeSafe's System One model).
jwynia/agent-skills
Diagnose devcontainer configuration problems and guide development environment setup.
jwynia/agent-skills
Create distinctive, production-grade frontend interfaces with high design quality.
jwynia/agent-skills
Orchestrate agile development workflows for Gitea repositories using the tea CLI.
jwynia/agent-skills
Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.
jwynia/agent-skills
Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers.
jwynia/agent-skills
Create and manipulate PowerPoint PPTX files programmatically.
Works with
Categories
Create and manipulate Excel XLSX files programmatically. An agent skill from jwynia/agent-skills. XLSX Generator is an agent skill from jwynia/agent-skills. Create and manipulate Excel XLSX files programmatically.
XLSX Generator fits situations like: the user needs to generate spreadsheets; modify XLSX templates; extract spreadsheet content; automate Excel workflows.
Run `npx skills add jwynia/agent-skills --skill xlsx-generator -a claude-code`. Or copy the skill folder (skills/general/document-processing/spreadsheet/xlsx-generator in jwynia/agent-skills) into .claude/skills/xlsx-generator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jwynia/agent-skills --skill xlsx-generator -a codex`. Or copy the skill folder (skills/general/document-processing/spreadsheet/xlsx-generator in jwynia/agent-skills) into .agents/skills/xlsx-generator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jwynia/agent-skills --skill xlsx-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/xlsx-generator, .gemini/skills/xlsx-generator, .github/skills/xlsx-generator and .opencode/skills/xlsx-generator in your project.
Going by SKILL.md and its folder, XLSX Generator needs TypeScript for the scripts in its folder and the command-line tools its instructions call (deno). Our summary lists: Node.js. Compatibility (from SKILL.md): Requires Deno with --allow-read, --allow-write permissions.
SKILL.md names 1 domain. As links in the text: deno.land. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
XLSX Generator is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with XLSX Generator: Markitdown (ImCa0/just-laws, 781 stars), Data Table Manager (n8n-io/n8n, 207k stars), Docx4j (plutext/docx4j, 2.4k stars) and Instrument Data To Allotrope (aws-samples/amazon-bedrock-agents-healthcare-lifesciences, 274 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jwynia (a GitHub user) maintains it in jwynia/agent-skills, which has 170 GitHub stars. The repository holds 111 skills in this directory. The repository was last updated on February 24, 2026.
Source: jwynia/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.