Terminal Line Plot
Draw readable ASCII line charts directly in the terminal from numeric series, command...
Install
npx skills add sapientinc/PRAXIST --skill terminal-line-plot -g -a claude-code -y- Repository
- sapientinc/PRAXIST5.5k
- Category
- Writing
- Updated
- 1mo ago
- License
- See repository
- Context cost
- Lightabout 770 tokens
- Runs scripts
- Yes, review before use
What it does
Draw readable ASCII line charts directly in the terminal from numeric series, command output, CSV, JSON, or manually extracted points. Use when the user asks for a curve, trend line, score progression, leaderboard trend, metric history, or any plot that should be visible in a CLI/chat transcript without opening a GUI or writing image files.
Terminal Line Plot
Use this skill to turn numeric sequences into terminal-readable line charts. It is task-agnostic: do not assume any domain, metric direction, filtering rule, or data layout unless the user or artifacts define it.
Workflow
- Identify the series to plot:
- x values are usually ordered steps, dates, versions, generations, epochs, or run ids.
- y values must be numeric.
- If multiple plausible metrics exist, choose the one the user asked for; otherwise state the selected metric before plotting.
- Preserve metric semantics:
- Use exact metric names from artifacts when available.
- Label whether higher or lower is better if known.
- Do not mix partial and complete points silently; mark provisional or incomplete points in the title, notes, or point list.
- Use
scripts/plot_series.pyfor deterministic plotting. - Print a compact table or point list when it prevents misreading the curve.
- Do not write image files unless the user explicitly asks. Prefer stdout.
Script Usage
Run the bundled script from the skill directory:
python /path/to/terminal-line-plot/scripts/plot_series.py \
--points "0:-4.49,1:-4.53,2:-4.87,3:-4.77,4:-3.23" \
--title "Best future_fitness by generation" \
--x-label generation \
--y-label future_fitness \
--higher-better
Input options:
--points "x:y,x:y,..."for quick point lists.--csv FILE --x-field FIELD --y-field FIELDfor CSV.--json FILE --x-field FIELD --y-field FIELDfor JSON arrays of objects, arrays of pairs, or mappings.--stdin csv|json|pointsto read data from stdin.
Useful options:
--height Ncontrols chart height.--x-step Ncontrols horizontal spacing between points.--provisional-x Xmay be repeated to mark incomplete points with○.--value-tableprints the plotted values below the chart.--invert-y-noteonly changes the note; it does not invert the axis.
