paddleocr
Reads text from scanned pages, photos and PDFs and returns it as structured Markdown or JSON, so you can pull tables, formulas and headers out of a document without retyping them. Covers many languages and works as input for AI tools.
Renders terminal charts from plain numeric text data or stdin, with ASCII, sparkline, bar, column, heatmap, braille and SVG output. Useful for quick data visualization without leaving the command line.
Claude Code
$ npx -y skills add ahmadawais/chartli --agent claude-code
Codex
$ npx skills add ahmadawais/chartli -a codex
Cursor
$ npx skills add ahmadawais/chartli -a cursor
Gemini CLI
$ npx skills add ahmadawais/chartli -a gemini-cli
GitHub Copilot
$ npx skills add ahmadawais/chartli -a github-copilot
OpenCode
$ npx skills add ahmadawais/chartli -a opencode
Windsurf
$ npx skills add ahmadawais/chartli -a windsurf

CLI for rendering charts in terminals from numeric text data. chartli turns plain numbers into terminal charts. ascii, spark, bars, columns, heatmap, unicode, braille, svg.
Run instantly:
npx chartli --help
Or install globally:
npm i -g chartli
Install the repository skill for agents:
npx skills add ahmadawais/chartli
Quick start:
npx chartli
npx chartli --help
npx chartli [file] [options]
Usage: chartli [options] [file]
Render terminal charts from numeric data
Arguments:
file Input file (reads from stdin if not provided)
Options:
-v, --version Output the version number
-t, --type <type> Chart type: svg, ascii, unicode, braille, spark, bars,
columns, heatmap (default: "ascii")
-w, --width <number> Chart width
-h, --height <number> Chart height
-m, --mode <mode> SVG mode: circles or lines (default: "circles")
--x-axis-label <label> Title to render for the x-axis
--y-axis-label <label> Title to render for the y-axis
--x-labels <labels> Comma-separated labels for x-axis ticks or row labels
--series-labels <labels>
Comma-separated labels for plotted series or categories
--data-labels Show raw values near plotted data when supported
--first-column-x Treat the first numeric column as x labels instead of a
plotted series
--help Display help for command
--x-axis-label and --y-axis-label to add axis titles.--x-labels for explicit tick labels.--series-labels to replace generic labels like S1 and C1.--data-labels to print raw values on or near the plotted data where the renderer supports it.--first-column-x when the first numeric column is a domain like day, month, or year.With --first-column-x, chartli will:
Example:
pnpm chartli examples/assets/core-single-series.txt -t ascii -w 24 -h 8 --first-column-x --data-labels
pnpm chartli examples/assets/core-multi-series.txt -t columns -h 8 --first-column-x --series-labels sales,costs,profit --x-axis-label Metrics --y-axis-label Value --data-labels
pnpm chartli examples/assets/weekly-signups.txt -t ascii -w 28 -h 8 --first-column-x --data-labels
signups
91 │ ● 87
│ 91 ●
│ 73
│ ● 68
66.5 │ 58 ●
│ ● 49
│42 ●
42 │●
└────────────────────────────
1 2 3 4 5 6 7
day
pnpm chartli examples/assets/weekly-metrics.txt -t columns -h 8 --first-column-x --x-axis-label Metrics --y-axis-label Count --data-labels
Count
176 29 10
█
█
█
█
█ ▓ ▒
█ ▓ ▒
────────────────────
visits trials paid
Metrics
pnpm chartli examples/assets/weekly-signups.txt -t svg -m lines -w 320 -h 120 --first-column-x --data-labels | sed -n '/^<?xml/,$p' > examples/assets/output/weekly-signups-chart.svg
This writes examples/assets/output/weekly-signups-chart.svg.
asciisparkbarscolumnsheatmapunicodebraillesvgexamples/assets/core-single-series.txtexamples/assets/core-multi-series.txtexamples/assets/image-data.txtexamples/assets/image-single-series.txtexamples/assets/image-columns-variant.txtexamples/assets/weekly-signups.txtexamples/assets/weekly-metrics.txtpnpm chartli examples/assets/image-data.txt -t ascii -w 24 -h 8
day=● sales=○ costs=◆ profit=◇
1.00 │ ○
│
│ ◇ ◇
│ ◆ ●
0.50 │ ● ◆
│ ◇ ◆ ●
│ ○ ◆
0.00 │◇ ◆ ◇ ◇
└────────────────────────
pnpm chartli examples/assets/image-data.txt -t spark
day ▁▂▃▄▅▆
sales ▁▄▂▇▅█
costs ▁▂▄▃▆▅
profit ▁▄▂▇▂▇
pnpm chartli examples/assets/image-data.txt -t bars -w 28
day |███████████████████ | 0.67
sales |▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓| 1.00
costs |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ | 0.53
profit |░░░░░░░░░░░░░░░░░░░░░░░ | 0.83
pnpm chartli examples/assets/image-data.txt -t columns -h 8
▓
▓ ░
▓ ░
█ ▓ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
───────────────────────────
day sales costs profit
pnpm chartli examples/assets/image-columns-variant.txt -t columns -h 8
▓ ░
█ ▓ ░
█ ▓ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
───────────────────────────
day sales costs profit
pnpm chartli examples/assets/image-data.txt -t heatmap
day sales costs profit
R01
R02 ░ ▒ ░ ▒
R03 ░ ░ ▒ ░
R04 ▒ ▓ ░ ▓
R05 ▒ ▒ ▓ ░
R06 ▓ █ ▒ ▓
pnpm chartli examples/assets/image-data.txt -t unicode
day sales costs profit
█
▃ █ ▅ ▅
▃ █ █ ▃ █ █
▂█ █▆█ █▂ █ █
▂██ ▂ ███ ▂ ██ ▃ █ █
▁███ █ ███ █▁██ █ █ █
▁████ █▅███ ▁████ █▁█▁█
█████ █████ █████ █████
pnpm chartli examples/assets/image-data.txt -t braille -w 16 -h 6
profit
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠈
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⡀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀
pnpm chartli examples/assets/image-data.txt -t svg -m lines -w 320 -h 120 | sed -n '/^<?xml/,$p' > examples/assets/output/image-chart.svg
<?xml version='1.0'?>
<svg xmlns='http://www.w3.org/2000/svg' width='650' height='120' version='1.1'>
<polyline ... />
<polyline ... />
<polyline ... />
<polyline ... />
</svg>
All examples are data-file driven from examples/assets/.
examples/assets/core-single-series.txtexamples/assets/core-multi-series.txtexamples/assets/image-data.txtexamples/assets/image-single-series.txtexamples/assets/image-columns-variant.txtexamples/assets/weekly-signups.txtexamples/assets/weekly-metrics.txtexamples/assets/output/pnpm chartli examples/assets/core-single-series.txt -t ascii -w 24 -h 8pnpm chartli examples/assets/core-multi-series.txt -t sparkpnpm chartli examples/assets/core-multi-series.txt -t bars -w 28pnpm chartli examples/assets/core-multi-series.txt -t columns -h 8pnpm chartli examples/assets/core-multi-series.txt -t heatmappnpm chartli examples/assets/core-multi-series.txt -t unicodepnpm chartli examples/assets/core-single-series.txt -t braille -w 16 -h 6pnpm chartli examples/assets/core-multi-series.txt -t svg -m lines -w 320 -h 120 | sed -n '/^<?xml/,$p' > examples/assets/output/core-chart.svgpnpm chartli examples/assets/image-data.txt -t ascii -w 24 -h 8pnpm chartli examples/assets/image-data.txt -t sparkpnpm chartli examples/assets/image-data.txt -t bars -w 28pnpm chartli examples/assets/image-data.txt -t columns -h 8pnpm chartli examples/assets/image-columns-variant.txt -t columns -h 8pnpm chartli examples/assets/image-data.txt -t heatmappnpm chartli examples/assets/image-data.txt -t unicodepnpm chartli examples/assets/image-data.txt -t braille -w 16 -h 6pnpm chartli examples/assets/image-data.txt -t svg -m lines -w 320 -h 120 | sed -n '/^<?xml/,$p' > examples/assets/output/image-chart.svgpnpm chartli examples/assets/weekly-signups.txt -t ascii -w 28 -h 8 --first-column-x --data-labelspnpm chartli examples/assets/weekly-metrics.txt -t columns -h 8 --first-column-x --x-axis-label Metrics --y-axis-label Count --data-labelspnpm chartli examples/assets/weekly-signups.txt -t svg -m lines -w 320 -h 120 --first-column-x --data-labels | sed -n '/^<?xml/,$p' > examples/assets/output/weekly-signups-chart.svgpnpm run example:kitchen-sinkpnpm run example:image-set:kitchen-sinkpnpm run example:labeled:kitchen-sinkpnpm run example:all-kitchen-sinkImage-set chart run:
pnpm run example:image-set:kitchen-sink
Core + image run:
pnpm run example:all-kitchen-sink
Apache-2.0 by Ahmad Awais built with Command Code.
Reads text from scanned pages, photos and PDFs and returns it as structured Markdown or JSON, so you can pull tables, formulas and headers out of a document without retyping them. Covers many languages and works as input for AI tools.
Gives your AI assistant a memory that persists across sessions, so it remembers your preferences and earlier work in this repository instead of starting fresh. Search, forget, pause and resume memories with simple commands.
Gives AI agents a library of ready-made skills for scientific work such as metabolic flux analysis, protein experiment design, time series modeling, and analytical method validation, so research tasks need less hand-built code. It works with any agent that supports the open Agent Skills standard.
Gives Claude Code skills, agents, and commands for PostHog analytics, session replay, feature flags, error tracking, and LLM observability. Includes MCP server setup and project access checks.
Renders terminal charts from plain numeric text data or stdin, with ASCII, sparkline, bar, column, heatmap, braille and SVG output. Useful for quick data visualization without leaving the command line. Install it with the command on its page. It includes chartli. Its skills do not fire on their own yet. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it