ApiliumHub
Back to browse

spreadsheet-tools

ApiliumApiliumv1.0.31100
officialplatinum (7/8)Clean scan

Spreadsheet data processing — CSV, TSV, JSON with miller and xsv

Install

mayros skill install spreadsheet-tools
mayros skill install [email protected]

README


name: spreadsheet-tools description: Spreadsheet data processing — CSV, TSV, JSON with miller and xsv type: semantic user-invocable: true semantic: skillVersion: 1 permissions: graph: [read, write] memory: [recall, remember] assertions: - predicate: "data:processed" requireProof: false queries: - predicate: "data:processed" scope: agent - predicate: "data:context" scope: agent allowedTools: ["*"] metadata: mayros: requires: bins: [mlr]

spreadsheet-tools

CSV/TSV/JSON data processing with miller (mlr) and xsv. Filter, sort, aggregate, join, and convert structured data files from the command line.

Installation

miller (mlr) -- Swiss army knife for structured data

# Preview CSV (pretty print)
mlr --icsv --opprint head -n 10 data.csv

# Convert CSV -> JSON
mlr --icsv --ojson cat data.csv

# Convert JSON -> CSV
mlr --ijson --ocsv cat data.json

# Convert CSV -> TSV
mlr --icsv --otsv cat data.csv

# Filter rows
mlr --csv filter '$age > 30' data.csv

# Select columns
mlr --csv cut -f name,email,age data.csv

# Sort by multiple fields (e.g. department ascending, then salary descending)
mlr --csv sort-by -f department -nr salary data.csv

# Group by and aggregate
mlr --csv stats1 -a count,mean,sum -f salary -g department data.csv

# Add computed column
mlr --csv put '$total = $price * $quantity' data.csv

# Rename columns
mlr --csv rename old_name,new_name data.csv

# Remove duplicates
mlr --csv uniq -f email data.csv

# Join two files
mlr --csv join -j id -f lookup.csv data.csv

# Chain operations
mlr --csv filter '$status == "active"' then sort-by -f department -nr salary then cut -f name,department,salary data.csv

# Statistics summary
mlr --csv stats1 -a min,max,mean,median,count -f salary data.csv

xsv (fast CSV toolkit, optional)

# Preview
xsv table data.csv | head -20

# Get stats
xsv stats data.csv | xsv table

# Search
xsv search -s name "Smith" data.csv

# Select columns
xsv select name,email data.csv

# Sort
xsv sort -s salary -N -R data.csv

# Count rows
xsv count data.csv

# Frequency analysis
xsv frequency -s department data.csv

# Join files
xsv join id data.csv id lookup.csv

# Sample random rows
xsv sample 100 data.csv

# Split into chunks
xsv split -s 1000 output_dir data.csv

Safety

  • Show row and column counts before processing large files
  • For write operations, confirm the output file path before proceeding
  • Show a preview of the first 5 rows to verify the data looks correct
  • Warn if the output file already exists

Semantic Integration

  • Use skill_assert with data:processed to record each completed data operation
  • Use skill_memory_context to recall previous data processing history
  • Query data:context for metadata about processed datasets (row counts, column names)

Versions

v1.0.3Feb 27, 2026
v1.0.2Feb 27, 2026
v1.0.1Feb 27, 2026
v1.0.0Feb 27, 2026

Comments

Sign in to leave a comment.

Loading comments...