Claude Skill

xlsx

Extract data from Excel and CSV files

LLM Mart · 0 points · 16 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download axoviq-ai-synthadoc-synthadoc_skills_xlsx-8dee0ee.zip · 1 KB
Part of axoviq-ai/synthadoc — 10 skills

Install

skills CLI npx skills add https://github.com/axoviq-ai/synthadoc/tree/main/synthadoc/skills/xlsx
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install axoviq-ai-synthadoc@llmmart
Git git clone https://github.com/axoviq-ai/synthadoc.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole axoviq-ai/synthadoc collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

XLSX Skill

Reads .xlsx files using openpyxl and .csv files using the stdlib csv module, returning all rows as comma-separated text.

Setup

pip install openpyxl

.csv files use only the Python standard library — no additional install required.

Standalone usage

import asyncio
from synthadoc.skills.xlsx.scripts.main import XlsxSkill

skill = XlsxSkill()

async def main():
    result = await skill.extract("/path/to/data.xlsx")
    print(result.text)      # all rows as comma-separated text
    print(result.metadata)  # {"rows": N, "sheets": N}  (xlsx only)

asyncio.run(main())

When this skill is used

  • Source path ends with .xlsx or .csv
  • User intent contains: spreadsheet, excel, csv
Files (synthadoc)
  • scripts
    • main.py 1.4 KB
      # SPDX-License-Identifier: AGPL-3.0-or-later
      # Copyright (C) 2026 Paul Chen / axoviq.com
      import openpyxl
      from synthadoc.skills.base import BaseSkill, ExtractedContent, SkillMeta
      
      
      class XlsxSkill(BaseSkill):
          meta = SkillMeta(name="xlsx", description="Extract data from Excel and CSV files",
                           extensions=[".xlsx", ".csv"])
      
          async def extract(self, source: str) -> ExtractedContent:
              if source.endswith(".csv"):
                  import csv
                  rows = []
                  with open(source, encoding="utf-8", newline="") as f:
                      for row in csv.reader(f):
                          rows.append(", ".join(row))
                  return ExtractedContent(text="\n".join(rows), source_path=source, metadata={})
              try:
                  wb = openpyxl.load_workbook(source, read_only=True, data_only=True)
              except Exception as exc:
                  raise ValueError(
                      f"Cannot read '{source}' as an Excel file: {exc}. "
                      "Ensure the file is a valid .xlsx (Office Open XML) document."
                  ) from exc
              parts = []
              for name in wb.sheetnames:
                  parts.append(f"## Sheet: {name}")
                  for row in wb[name].iter_rows(values_only=True):
                      parts.append(", ".join(str(c) for c in row if c is not None))
              return ExtractedContent(text="\n".join(parts), source_path=source,
                                      metadata={"sheets": len(wb.sheetnames)})
      
    • __init__.py 0 B
  • requirements.txt 54 B
    openpyxl
    # csv is Python stdlib — no install needed
    
  • SKILL.md 1 KB
    ---
    name: xlsx
    version: "1.0"
    description: Extract data from Excel and CSV files
    entry:
      script: scripts/main.py
      class: XlsxSkill
    triggers:
      extensions:
        - ".xlsx"
        - ".csv"
      intents:
        - "spreadsheet"
        - "excel"
        - "csv"
    requires:
      - openpyxl
    author: axoviq.com
    license: AGPL-3.0-or-later
    ---
    
    # XLSX Skill
    
    Reads `.xlsx` files using `openpyxl` and `.csv` files using the stdlib `csv`
    module, returning all rows as comma-separated text.
    
    ## Setup
    
    ```bash
    pip install openpyxl
    ```
    
    `.csv` files use only the Python standard library — no additional install required.
    
    ## Standalone usage
    
    ```python
    import asyncio
    from synthadoc.skills.xlsx.scripts.main import XlsxSkill
    
    skill = XlsxSkill()
    
    async def main():
        result = await skill.extract("/path/to/data.xlsx")
        print(result.text)      # all rows as comma-separated text
        print(result.metadata)  # {"rows": N, "sheets": N}  (xlsx only)
    
    asyncio.run(main())
    ```
    
    ## When this skill is used
    
    - Source path ends with `.xlsx` or `.csv`
    - User intent contains: `spreadsheet`, `excel`, `csv`
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related