agentleFS
ianallowayianalloway/openclaw-skills/data-viz/SKILL.md

data-viz

Skill4 starsChanged 5 months agoMITView on GitHub

Create data visualizations from the command line. Generate charts, graphs, and plots from CSV/JSON data without leaving the terminal.

9 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use deep-research.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • NVIDIASkill

    deep-research

    Queue deep, multi-step research and analysis tasks to the DeepAgents worker. Supports execution depth presets, request-specific rubrics, SubAgent delegation, and RubricMiddleware cross-validation.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create terminal-based charts and visualizations from CSV, JSON, or piped data.

    line 48
  2. Very specific:

    Use -d, for comma-delimited data, -d'\t' for tabs

    line 179
  3. Very specific:

    Use -H when your data has headers

    line 180
  4. Very specific:

    Use watch for live updating charts: watch -n1 'command | uplot bar'

    line 183

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Data Visualization

Create terminal-based charts and visualizations from CSV, JSON, or piped data.

Quick Visualizations with YouPlot

YouPlot (uplot) creates Unicode charts in the terminal.

Bar Chart

echo -e "Apple,30\nBanana,45\nCherry,20\nDate,35" | uplot bar -d, -t "Fruit Sales"

Line Chart

seq 1 20 | awk '{print $1, sin($1/3)*10+10}' | uplot line -t "Sine Wave"

Histogram

awk 'BEGIN{for(i=0;i<1000;i++)print rand()}' | uplot hist -t "Random Distribution" -n 20

Scatter Plot

awk 'BEGIN{for(i=0;i<100;i++)print rand()*100, rand()*100}' | uplot scatter -t "Random Points"

From CSV Files

# Bar chart from CSV
cat sales.csv | uplot bar -d, -H -t "Monthly Sales"

# Line chart with headers
cat timeseries.csv | uplot line -d, -H -t "Stock Price"

From JSON (with jq)

# Extract data from JSON and plot (CoinGecko markets as a live example)
curl -s "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=10&page=1" \
  | jq -r '.[] | "\(.symbol),\(.current_price)"' | uplot bar -d,

Termgraph (Python Alternative)

Simple horizontal bar charts:

echo -e "2020 50\n2021 75\n2022 90\n2023 120" | termgraph

With colors:

echo -e "Sales 150\nCosts 80\nProfit 70" | termgraph --color green

Gnuplot (Advanced)

For publication-quality charts:

# Quick line plot
gnuplot -e "set terminal dumb; plot sin(x)"

# From data file
gnuplot -e "set terminal dumb; plot 'data.txt' with lines"

Sparklines

Inline mini-charts:

# Using spark (if installed)
echo "1 5 22 13 5" | spark
# Output: ▁▂█▅▂

# Pure bash sparkline
data="1 5 22 13 5"; min=$(echo $data | tr ' ' '\n' | sort -n | head -1); max=$(echo $data | tr ' ' '\n' | sort -n | tail -1); for n in $data; do printf "\u258$((7-7*($n-$min)/($max-$min)))"; done; echo

ASCII Tables

Format data as tables:

# Using column
echo -e "Name,Score,Grade\nAlice,95,A\nBob,82,B\nCarol,78,C" | column -t -s,

# Using csvlook (csvkit)
cat data.csv | csvlook

Real-World Examples

Stock Price Chart

# Fetch and plot stock data (using Alpha Vantage free API)
curl -s "https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=AAPL&apikey=demo" | \
  jq -r '.["Time Series (Daily)"] | to_entries | .[:20] | reverse | .[] | "\(.key) \(.value["4. close"])"' | \
  uplot line -t "AAPL Stock Price"

System Metrics

# CPU usage over time
for i in {1..20}; do
  top -bn1 | grep "Cpu(s)" | awk '{print 100-$8}'
  sleep 1
done | uplot line -t "CPU Usage %"

API Response Times

# Measure and plot response times
for i in {1..10}; do
  curl -s -o /dev/null -w "%{time_total}\n" https://example.com
done | uplot line -t "Response Time (s)"

Tips

  • Use -d, for comma-delimited data, -d'\t' for tabs
  • Use -H when your data has headers
  • Pipe through head or tail to limit data points
  • Combine with jq for JSON data extraction
  • Use watch for live updating charts: watch -n1 'command | uplot bar'

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.