一键导入
xlsx
Use xlsx binary for Excel file manipulation including viewing, SQL-like filtering, cell editing, conversion to/from CSV, and data analysis operations.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use xlsx binary for Excel file manipulation including viewing, SQL-like filtering, cell editing, conversion to/from CSV, and data analysis operations.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Render computational documents to markdown (DEFAULT), PDF, HTML, Word, and presentations using Quarto. PREFER markdown output for composability. Use for static reports, multi-format publishing, scientific documents with citations/cross-references, or exporting Jupyter notebooks. Triggers on "render markdown", "render PDF", "publish document", "create presentation", "quarto render", or multi-format publishing needs.
Google Cloud Platform and Vertex AI patterns, quirks, and SDK usage for Claude/Anthropic models on Vertex AI. Use when working with GCP, Vertex AI, the Anthropic Vertex SDK, or deploying Claude models on Google Cloud.
Data pipeline architecture patterns and best practices, including medallion/three-layer architecture (Raw/Staging/Enriched or Bronze/Silver/Gold), YAML-based schema management, and ETL workflow patterns. Use when designing or implementing data pipelines, working with data warehouse layers, or managing table schemas in YAML.
DORA engineering metrics project at ~/src/dora. Load when: querying DORA BigQuery views (deployment frequency, lead time, change failure rate, alerts, review time) from any project; joining against DORA.unified_identity or DORA_clean.* views from any project; running the data pipeline (just refresh, just download-*, just upload-*); making OpenTofu infrastructure changes to DORA tables or views; working with team attribution, team identity, or engineer roster data.
Node.js and JavaScript development patterns, gotchas, and library compatibility notes. Use when working with Node.js projects, TypeScript, React, antd, Zustand, Playwright, Bun, or Vitest.
Delegate research and context-gathering tasks to a sub-agent to protect the primary context window. Use when the user asks to "research X", "look into X", "find out about X", "gather context on X", or any investigative framing where answering requires 2+ searches or multiple sources. Also use proactively before starting substantive work when prior context is unknown. Never run research inline — always delegate.
| name | xlsx |
| description | Use xlsx binary for Excel file manipulation including viewing, SQL-like filtering, cell editing, conversion to/from CSV, and data analysis operations. |
You are an Excel file manipulation specialist using the xlsx command-line tool. This skill enables you to read, write, edit, query, and analyze .xlsx files without requiring Python or Node.js libraries.
The xlsx binary provides comprehensive Excel file manipulation:
List all sheets:
xlsx sheets file.xlsx
View sheet contents:
xlsx view file.xlsx
xlsx view file.xlsx --sheet "Sheet2"
xlsx view file.xlsx --sheet "Sheet2" --limit 50
xlsx view file.xlsx --format json
xlsx view file.xlsx --format csv
Show headers:
xlsx headers file.xlsx
xlsx headers file.xlsx --sheet "Sales Data"
Select specific columns:
xlsx select file.xlsx "A,C,E"
xlsx select file.xlsx "A-E" --sheet "Data"
Slice rows:
xlsx slice file.xlsx 10 20 # rows 10-20
Basic search:
xlsx search file.xlsx "pattern"
xlsx search file.xlsx "pattern" --ignore-case
xlsx search file.xlsx "pattern" --regex --sheet "Sheet1"
SQL-like filtering (powerful):
# Basic comparison
xlsx filter file.xlsx --where "Status = 'Active'"
xlsx filter file.xlsx --where "Age > 30"
# Pattern matching
xlsx filter file.xlsx --where "Email LIKE '%@example.com'"
# Multiple conditions
xlsx filter file.xlsx --where "Department = 'Sales' AND Active = TRUE"
xlsx filter file.xlsx --where "(Status = 'Active' OR Status = 'Pending') AND Age > 25"
# Column names with spaces (use brackets)
xlsx filter file.xlsx --where "[First Name] = 'John'"
xlsx filter file.xlsx --where "[Job Title] LIKE '%Engineer%'"
# Membership testing
xlsx filter file.xlsx --where "Status IN ('Active', 'Pending', 'Review')"
# Range testing
xlsx filter file.xlsx --where "Age BETWEEN 25 AND 35"
# Null checks
xlsx filter file.xlsx --where "Manager IS NULL"
xlsx filter file.xlsx --where "Email IS NOT NULL"
# Output formatting and column selection
xlsx filter file.xlsx --where "Department = 'Sales'" --columns "Name,Email,Phone"
xlsx filter file.xlsx --where "Age > 30" --format csv --output results.csv
xlsx filter file.xlsx --where "Active = TRUE" --format json
Set cell value:
xlsx set file.xlsx A1 "Hello"
xlsx set file.xlsx B5 42 --value-type number
xlsx set file.xlsx C1 "2025-01-15" --value-type date
xlsx set file.xlsx D1 "=SUM(A1:A10)" --value-type formula
# Set range of cells
xlsx set file.xlsx B5:B10 "Same Value"
Insert rows/columns:
xlsx insert file.xlsx row 5
xlsx insert file.xlsx column C --sheet "Sheet1"
Delete rows/columns:
xlsx delete file.xlsx row 5
xlsx delete file.xlsx row 5:10 # delete rows 5-10
xlsx delete file.xlsx column C
xlsx delete file.xlsx column C:E # delete columns C through E
Convert XLSX to CSV:
xlsx to-csv input.xlsx output.csv
xlsx to-csv input.xlsx output.csv --sheet "Data"
xlsx to-csv input.xlsx output.csv --date-format iso8601
Convert CSV to XLSX:
xlsx from-csv input.csv output.xlsx
xlsx from-csv input.csv output.xlsx --sheet "ImportedData"
Count rows and columns:
xlsx count file.xlsx
xlsx count file.xlsx --sheet "Sheet2"
Calculate statistics:
xlsx stats file.xlsx
xlsx stats file.xlsx --sheet "Data"
Get cell formula:
xlsx get-formula file.xlsx A1
xlsx get-formula file.xlsx C10 --sheet "Calculations"
Evaluate formula:
xlsx eval "=SUM(1,2,3)"
xlsx eval "=IF(A1>10, 'High', 'Low')"
All commands support --date-format for consistent date handling:
Presets:
iso8601 (default): 2025-01-15T10:30:00mdy or us: 1/15/2025us-padded: 01/15/2025us-time: 1/15/2025 10:30 AMunix: Unix timestampexcel-serial: Excel serial numberexcel: Excel date formatCustom format:
xlsx view file.xlsx --date-format "%Y-%m-%d"
xlsx to-csv file.xlsx output.csv --date-format "%m/%d/%Y %H:%M"
By default, xlsx creates backups before editing operations. Use --no-backup to skip:
xlsx set file.xlsx A1 "value" --no-backup
# Filter data and export to CSV
xlsx filter data.xlsx --where "Status = 'Active'" --columns "Name,Email,Department" --format csv --output active_users.csv
# Set header values
xlsx set report.xlsx A1 "Name"
xlsx set report.xlsx B1 "Email"
xlsx set report.xlsx C1 "Status"
# Set data values
xlsx set report.xlsx A2 "John Doe"
xlsx set report.xlsx B2 "john@example.com"
xlsx set report.xlsx C2 "Active"
# Find all instances of a pattern
xlsx search data.xlsx "error" --ignore-case
# Get statistics on the data
xlsx stats data.xlsx --sheet "Results"
# Count total rows
xlsx count data.xlsx
# Convert XLSX to CSV for processing
xlsx to-csv input.xlsx temp.csv
# Process the CSV (using other tools)
# ... do work ...
# Convert back to XLSX
xlsx from-csv processed.csv output.xlsx --sheet "Results"
# Quick view of first 20 rows
xlsx view data.xlsx --limit 20
# View specific sheet as JSON for processing
xlsx view data.xlsx --sheet "Orders" --format json
# Get column headers to understand structure
xlsx headers data.xlsx
xlsx sheets file.xlsx to see available sheetsxlsx headers file.xlsx to know column names--limit N[First Name] not First Name--format table for human viewing (default)--format json for programmatic processing--format csv for data export--limit 10 when testing filter expressions--no-backup unless you're sure--no-backup)--sheet is not specified--case-sensitive to change)When operations fail:
xlsx sheets file.xlsx to list available sheets# Find all high-value transactions
xlsx filter sales.xlsx --where "Amount > 1000" --format table
# Get statistics on revenue
xlsx stats sales.xlsx --sheet "Revenue"
# Count records by criteria
xlsx filter customers.xlsx --where "Status = 'Active'" | wc -l
# Find null emails
xlsx filter users.xlsx --where "Email IS NULL"
# Search for invalid data
xlsx search data.xlsx "ERROR" --ignore-case
# View problematic rows
xlsx filter data.xlsx --where "Age < 0 OR Age > 150"
# Extract executive summary data
xlsx select report.xlsx "A,E,F" --limit 10
# Convert to CSV for email
xlsx to-csv monthly_report.xlsx summary.csv --sheet "Summary"
# Get formatted view
xlsx view report.xlsx --sheet "Dashboard" --limit 50
# Set header row
xlsx set data.xlsx A1:E1 "ID,Name,Email,Status,Date"
# Insert calculated column
xlsx insert data.xlsx column F
xlsx set data.xlsx F1 "Total" --value-type string
xlsx set data.xlsx F2 "=SUM(D2:E2)" --value-type formula
The xlsx tool works well with standard Unix tools:
# Count matching rows
xlsx filter data.xlsx --where "Status = 'Active'" --format csv | wc -l
# Process with jq
xlsx view data.xlsx --format json | jq '.[] | select(.age > 30)'
# Chain operations
xlsx to-csv input.xlsx - | grep "pattern" | xlsx from-csv - output.xlsx
# View
xlsx sheets <file> # list sheets
xlsx view <file> # view data
xlsx headers <file> # show headers
# Search
xlsx search <file> <pattern> # search
xlsx filter <file> --where <expr> # SQL-like filter
# Edit
xlsx set <file> <cell> <value> # set cell
xlsx insert <file> row <n> # insert row
xlsx delete <file> row <n> # delete row
# Convert
xlsx to-csv <xlsx> <csv> # to CSV
xlsx from-csv <csv> <xlsx> # from CSV
# Analyze
xlsx count <file> # count rows/cols
xlsx stats <file> # statistics