Data Visualization
SkillFiles & storageCreate data visualizations from the command line. Generate charts, graphs, and plots from CSV/JSON data without leaving the terminal.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Data Visualization skill
What this skill tells your AI
The instructions your AI receives, as published by jiayaoqijia/cryptoskill in skills/ai-crypto/ianalloway-data-viz/SKILL.md and read by ahel’s review.
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
-Hwhen your data has headers - Pipe through
headortailto limit data points - Combine with
jqfor JSON data extraction - Use
watchfor live updating charts:watch -n1 'command | uplot bar'
Signals
- GitHub stars
- 76
- Forks
- 16
- Last commit
- Sep 2026
ahel review
K1binfo
installs-packagesK1info
remote-installer-piped-to-shell (in TRUST.auto.yaml)
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
data-viz- Source
- github.com/jiayaoqijia/cryptoskill