Agent skill

XLSX Generator

by jwynia in jwynia/agent-skills

Create and manipulate Excel XLSX files programmatically. An agent skill from jwynia/agent-skills.

MITAuto-check passedDocuments & Office

Install XLSX Generator

skills CLI
$ npx skills add jwynia/agent-skills --skill xlsx-generator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jwynia/agent-skills xlsx-generator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
xlsx-generator
GitHub stars
170
Token cost
~2.6k tokens
SKILL.md length
631 words
Files
4 (incl. scripts)
Skills in repo
111
Repo updated
First seen
Licence
MIT

At a glance

Create and manipulate Excel XLSX files programmatically. An agent skill from jwynia/agent-skills.

  • Works in 2 steps: Template Mode: Modify existing branded… → Scratch Mode: Create spreadsheets from…
  • The user needs to generate spreadsheets
  • SKILL.md covers When to Use This Skill, Prerequisites, Quick Start and Instructions, plus 6 more sections
  • Runs TypeScript scripts from its folder; calls deno

What it does

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.

When your agent uses it

  • The user needs to generate spreadsheets
  • Modify XLSX templates
  • Extract spreadsheet content
  • Automate Excel workflows

Example prompts

  • “/xlsx-generator”

Requirements

  • Node.js
  • Compatibility (from SKILL.md): Requires Deno with --allow-read, --allow-write permissions

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Template Mode: Modify existing branded templates
  2. Scratch Mode: Create spreadsheets from nothing using JSON specifications

What it can do on your machine

Read from SKILL.md and the folder at commit e02ec7e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 3 files in scripts/ (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • deno

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • deno.land

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Deno with --allow-read, --allow-write permissions

    From compatibility in the SKILL.md frontmatter.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~99
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from jwynia/agent-skills at commit e02ec7e, republished under its MIT licence (© jwynia). 631 words, ~2,576 tokens.

Download SKILL.mdSave it as .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.
name
xlsx-generator
description
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.
compatibility
Requires Deno with --allow-read, --allow-write permissions
license
MIT
metadata.author
agent-skills
metadata.version
1.0
metadata.type
generator
metadata.mode
generative
metadata.domain
documents

XLSX Generator

When to Use This Skill

Use this skill when:

  • Creating Excel spreadsheets programmatically from data or specifications
  • Populating branded templates with dynamic content while preserving formatting
  • Extracting cell data, formulas, and structure from existing XLSX files
  • Finding and replacing placeholder text like {{TITLE}} or ${date} in cells
  • Automating spreadsheet generation workflows (reports, data exports, financial statements)

Do NOT use this skill when:

  • User wants to open/view spreadsheets (use native Excel or viewer)
  • Complex pivot tables or charts are required (limited support)
  • Working with older .xls format (XLSX only)
  • Real-time collaborative editing is needed

Prerequisites

  • Deno installed (https://deno.land/)
  • Input XLSX files for template-based operations
  • JSON specification for scratch generation

Quick Start

Two Modes of Operation
  1. Template Mode: Modify existing branded templates

    • Analyze template to find placeholders and structure
    • Replace {{PLACEHOLDERS}} with actual values
  2. Scratch Mode: Create spreadsheets from nothing using JSON specifications

Instructions

Mode 1: Template-Based Generation
Step 1a: Analyze the Template

Extract cell inventory to understand what can be replaced:

bash
deno run --allow-read scripts/analyze-template.ts financial-template.xlsx > inventory.json

Output (inventory.json):

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
}
Step 1b: Create Replacement Specification

Create replacements.json:

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 }
  ]
}
Step 1c: Generate Output
bash
deno run --allow-read --allow-write scripts/generate-from-template.ts \
  financial-template.xlsx replacements.json output.xlsx
Mode 2: From-Scratch Generation
Step 2a: Create Specification

Create spec.json:

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"
    }
  ]
}
Step 2b: Generate Spreadsheet
bash
deno run --allow-read --allow-write scripts/generate-scratch.ts spec.json output.xlsx

Examples

Example 1: Monthly Sales Report

Scenario: Generate a monthly sales report from template.

Steps:

bash
# 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.xlsx
Example 2: Data Export with Formulas

Scenario: Create a spreadsheet with calculated totals.

spec.json:

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)" }
    ]
  }]
}
Example 3: Multi-Sheet Workbook

Scenario: Create a workbook with summary and detail sheets.

spec.json:

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 Reference

ScriptPurposePermissions
analyze-template.tsExtract cells, formulas, placeholders from XLSX--allow-read
generate-from-template.tsReplace placeholders in templates--allow-read --allow-write
generate-scratch.tsCreate XLSX from JSON specification--allow-read --allow-write

Specification Reference

Sheet Options
PropertyTypeDescription
namestringSheet name
dataarray2D array of cell values starting at A1
cellsarrayIndividual cell specifications
rowsarrayRow-based data specifications
columnsarrayColumn width and visibility settings
mergesarrayMerged cell ranges
freezePanestringFreeze panes at this cell (e.g., "A2")
autoFilterstringAuto-filter range (e.g., "A1:F10")
Cell Options
PropertyTypeDescription
addressstringCell address (e.g., "A1", "B2")
valuemixedCell value (string, number, boolean, null)
formulastringFormula without = sign
formatstringNumber format (e.g., "#,##0.00")
typestringForce type: "string", "number", "boolean", "date"
Column Options
PropertyTypeDescription
colstringColumn letter (e.g., "A", "B", "AA")
widthnumberColumn width in characters
hiddenbooleanHide column
Show full SKILL.md (249 more words)Show less
Template Replacement Options
PropertyTypeDescription
tagstringPlaceholder to find (e.g., "{{TITLE}}")
valuemixedReplacement value
sheetsarrayLimit to specific sheets
rangestringLimit to cell range (e.g., "A1:D10")

Common Issues and Solutions

Issue: Placeholders not being replaced

Symptoms: Output XLSX still contains {{PLACEHOLDER}} tags.

Solution:

  1. Run analyze-template.ts to verify exact tag text and location
  2. Check that placeholder is in a string cell, not a formula
  3. Verify sheet filter in replacement spec
Issue: Formulas showing as text

Symptoms: Formulas display as text instead of calculating.

Solution:

  • Ensure formula doesn't start with "=" in spec (it's added automatically)
  • Check cell type is not forced to "string"
Issue: Numbers formatted as text

Symptoms: Numbers have green triangle indicating text storage.

Solution:

  • Use numeric values in spec, not quoted strings
  • For template replacement, if entire cell is placeholder and replacement is number, it converts automatically
Issue: Column widths not applied

Symptoms: Columns have default width despite specification.

Solution:

  • Ensure column letters are uppercase
  • Verify column spec is in array format

Limitations

  • XLSX only: Does not support legacy .xls or .xlsb formats
  • No macros: Cannot create or preserve VBA macros
  • Limited charting: No native chart creation support
  • No pivot tables: Cannot create pivot tables programmatically
  • Basic styling: Limited cell formatting options
  • No conditional formatting: Cannot set conditional format rules
  • Formula recalc: Formulas are stored but not recalculated (Excel recalculates on open)
  • pptx-generator: For creating PowerPoint presentations
  • docx-generator: For creating Word documents
  • csv-processor: For simpler CSV data processing

© jwynia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in skills/general/document-processing/spreadsheet/xlsx-generator of jwynia/agent-skills.

  • SKILL.md
  • scripts/analyze-template.ts
  • scripts/generate-from-template.ts
  • scripts/generate-scratch.ts

Open the folder on GitHubat commit e02ec7e

Compare with similar skills

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.

XLSX Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
XLSX Generator this skilljwynia/agent-skills170—~2.6kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78114 repos~3.2kAutomated safety check: NotesMIT
Data Table Managern8n-io/n8n207k—~2.3kAutomated safety check: PassCustom licence
Docx4jplutext/docx4j2.4k—~2.5kAutomated safety check: PassNone
Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences2742 repos~2.7kAutomated safety check: PassApache-2.0
Cyber Pptcrazyykhllc-bit/CyberPPT1.8k—~10kAutomated safety check: PassMIT

Similar skills

  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    781 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Official

    Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.

    207k GitHub stars~2.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Docx4j

    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…

    2.4k GitHub stars~2.5k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Instrument Data To Allotrope

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.

    274 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed
  • Cyber Ppt

    crazyykhllc-bit/CyberPPT

    当用户需要把 DOCX、PDF、TXT、XLSX、研究报告、业务材料或原始数据转成高密度、可编辑、咨询风格 PPTX 时使用;也适用于需要 SCR 论证、视觉风格探索、详细图表和渲染质检的 PPT。

    1.8k GitHub stars~10k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check passed
  • Jev SEO

    AgriciDaniel/jev-seo

    Full live SEO audit of any website from its homepage URL, powered by Jev (TypeSafe's System One model).

    543 GitHub stars~2.5k tokensUpdated 18 days ago
    Documents & OfficeAuto-check: notes

More from jwynia/agent-skills

All 111 skills in this repo
  • Devcontainer

    jwynia/agent-skills

    Diagnose devcontainer configuration problems and guide development environment setup.

    170 GitHub stars~1.2k tokensUpdated 7 mo ago
    Auto-check: notes
  • Frontend Design

    jwynia/agent-skills

    Create distinctive, production-grade frontend interfaces with high design quality.

    170 GitHub stars~3.2k tokensUpdated 7 mo ago
    Auto-check passed
  • Gitea Workflow

    jwynia/agent-skills

    Orchestrate agile development workflows for Gitea repositories using the tea CLI.

    170 GitHub stars~3.8k tokensUpdated 7 mo ago
    Auto-check passed
  • Godot Asset Generator

    jwynia/agent-skills

    Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.

    170 GitHub stars~3.8k tokensUpdated 7 mo ago
    Auto-check passed
  • Mastra Hono

    jwynia/agent-skills

    Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers.

    170 GitHub stars~2.9k tokensUpdated 7 mo ago
    Auto-check passed
  • PPTX Generator

    jwynia/agent-skills

    Create and manipulate PowerPoint PPTX files programmatically.

    170 GitHub stars~3.1k tokensUpdated 7 mo ago
    Auto-check passed

Works with

Questions about XLSX Generator

What does XLSX Generator do?

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.

When should I use XLSX Generator?

XLSX Generator fits situations like: the user needs to generate spreadsheets; modify XLSX templates; extract spreadsheet content; automate Excel workflows.

How do I install XLSX Generator in Claude Code?

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.

How do I install XLSX Generator in Codex?

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.

Can I use XLSX Generator in Cursor, Gemini CLI or GitHub Copilot?

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.

What does XLSX Generator need to run?

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.

Does XLSX Generator access the network?

SKILL.md names 1 domain. As links in the text: deno.land. This is read from the text; nothing was executed.

Is XLSX Generator safe to install?

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.

What licence does XLSX Generator use?

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.

How many tokens does XLSX Generator use?

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.

What are the alternatives to XLSX Generator?

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.

Who maintains XLSX Generator?

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.