Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
k-dense-ai avatar

Xlsx

  • 933 installs
  • 32k repo stars
  • Updated July 29, 2026
  • k-dense-ai/scientific-agent-skills

xlsx is a Claude Code skill that gives coding agents reliable spreadsheet reading, writing, and data-processing capabilities for Excel .xlsx files inside Claude or Cursor.

About

xlsx is an Anthropic-licensed spreadsheet skill from k-dense-ai/scientific-agent-skills that enables agents to read, write, and process Excel .xlsx workbooks within Claude or Cursor sessions. It targets scientific and engineering workflows where tabular data must be parsed, transformed, or exported without leaving the agent environment. Developers reach for xlsx when automating workbook generation, extracting structured data from Excel files, or building data pipelines that interchange .xlsx artifacts with code and analysis scripts.

  • Read, write, and edit .xlsx files directly from agent context
  • Merge adjacent runs with identical values for clean data output
  • Convert between spreadsheet formats and structured JSON
  • Perform calculations, filtering, and formatting via natural language
  • Maintains full fidelity with Excel formatting and formulas

Xlsx by the numbers

  • 933 all-time installs (skills.sh)
  • +42 installs in the week ending Jul 29, 2026 (Skillselion tracking)
  • Ranked #1,136 of 16,570 AI & Agent Building skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/k-dense-ai/scientific-agent-skills --skill xlsx

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs933
repo stars32k
Security audit2 / 3 scanners passed
Last updatedJuly 29, 2026
Repositoryk-dense-ai/scientific-agent-skills

How do you read and write Excel files in Claude?

Give their coding agent reliable spreadsheet reading, writing, and data-processing capabilities inside Claude or Cursor.

Who is it for?

Developers and data engineers who need agent-driven Excel .xlsx I/O and tabular processing in Claude or Cursor scientific workflows.

Skip if: Google Sheets-only teams, massive billion-row ETL without Excel interchange, or proprietary binary .xls legacy formats without .xlsx conversion.

When should I use this skill?

A developer asks the agent to read, edit, generate, or analyze data inside .xlsx Excel workbook files.

What you get

Parsed spreadsheet data, updated .xlsx workbooks, and processed tabular outputs

  • updated .xlsx workbook files
  • extracted tabular datasets from spreadsheets

Files

SKILL.mdMarkdownGitHub ↗

© 2025 Anthropic, PBC. All rights reserved.

LICENSE: Use of these materials (including all code, prompts, assets, files, and other components of this Skill) is governed by your agreement with Anthropic regarding use of Anthropic's services. If no separate agreement exists, use is governed by Anthropic's Consumer Terms of Service or Commercial Terms of Service, as applicable: https://www.anthropic.com/legal/consumer-terms https://www.anthropic.com/legal/commercial-terms Your applicable agreement is referred to as the "Agreement." "Services" are as defined in the Agreement.

ADDITIONAL RESTRICTIONS: Notwithstanding anything in the Agreement to the contrary, users may not:

  • Extract these materials from the Services or retain copies of these

materials outside the Services

  • Reproduce or copy these materials, except for temporary copies created

automatically during authorized use of the Services

  • Create derivative works based on these materials
  • Distribute, sublicense, or transfer these materials to any third party
  • Make, offer to sell, sell, or import any inventions embodied in these

materials

  • Reverse engineer, decompile, or disassemble these materials

The receipt, viewing, or possession of these materials does not convey or imply any license or right beyond those expressly granted above.

Anthropic retains all right, title, and interest in these materials, including all copyrights, patents, and other intellectual property rights.

"""Merge adjacent runs with identical formatting in DOCX.

Merges adjacent <w:r> elements that have identical <w:rPr> properties. Works on runs in paragraphs and inside tracked changes (<w:ins>, <w:del>).

Also:

  • Removes rsid attributes from runs (revision metadata that doesn't affect rendering)
  • Removes proofErr elements (spell/grammar markers that block merging)

"""

from pathlib import Path

import defusedxml.minidom

def merge_runs(input_dir: str) -> tuple[int, str]: doc_xml = Path(input_dir) / "word" / "document.xml"

if not doc_xml.exists(): return 0, f"Error: {doc_xml} not found"

try: dom = defusedxml.minidom.parseString(doc_xml.read_text(encoding="utf-8")) root = dom.documentElement

_remove_elements(root, "proofErr") _strip_run_rsid_attrs(root)

containers = {run.parentNode for run in _find_elements(root, "r")}

merge_count = 0 for container in containers: merge_count += _merge_runs_in(container)

doc_xml.write_bytes(dom.toxml(encoding="UTF-8")) return merge_count, f"Merged {merge_count} runs"

except Exception as e: return 0, f"Error: {e}"

def _find_elements(root, tag: str) -> list: results = []

def traverse(node): if node.nodeType == node.ELEMENT_NODE: name = node.localName or node.tagName if name == tag or name.endswith(f":{tag}"): results.append(node) for child in node.childNodes: traverse(child)

traverse(root) return results

def _get_child(parent, tag: str): for child in parent.childNodes: if child.nodeType == child.ELEMENT_NODE: name = child.localName or child.tagName if name == tag or name.endswith(f":{tag}"): return child return None

def _get_children(parent, tag: str) -> list: results = [] for child in parent.childNodes: if child.nodeType == child.ELEMENT_NODE: name = child.localName or child.tagName if name == tag or name.endswith(f":{tag}"): results.append(child) return results

def _is_adjacent(elem1, elem2) -> bool: node = elem1.nextSibling while node: if node == elem2: return True if node.nodeType == node.ELEMENT_NODE: return False if node.nodeType == node.TEXT_NODE and node.data.strip(): return False node = node.nextSibling return False

def _remove_

Related skills

How it compares

Use xlsx for agent-native Excel workbook tasks rather than CSV-only parsers when .xlsx structure and formulas matter.

FAQ

What file format does the xlsx skill handle?

xlsx provides coding agents with read, write, and data-processing capabilities for Excel .xlsx workbook files inside Claude or Cursor scientific and engineering workflows.

Where does the xlsx skill run?

xlsx is distributed through k-dense-ai/scientific-agent-skills for use inside Claude or Cursor agents that need programmatic spreadsheet manipulation.

Is Xlsx safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.