ascii-mini-charts
npx machina-cli add skill partme-ai/full-stack-skills/ascii-mini-charts --openclawWhen to use this skill
CRITICAL TRIGGER RULE
- Use this skill ONLY when the user explicitly mentions the exact skill name:
ascii-mini-charts.
Trigger phrases include:
- "ascii-mini-charts"
- "use ascii-mini-charts"
- "用 ascii-mini-charts 生成 sparkline / 火花线"
- "使用 ascii-mini-charts 标注 min/max/current"
Boundary
- No statistical inference. Visualization only.
- Default output is ASCII-only. Unicode blocks are optional and MUST include an ASCII-only fallback.
- Default output width should stay <= 60 columns. For longer series, provide a compression strategy (sampling/bucketing).
How to use this skill
Inputs
- series (required numeric list)
- type (sparkline | bar | line, default sparkline)
- width (default min(len(series), 30))
- height (default 10 for bar/line)
- normalize (linear | log, default linear)
- showLabels (default true)
Outputs (required)
- chartMinimal
- chartAnnotated (with min/max/current)
- scaleNotes (normalization + outlier strategy)
Script
scripts/mini_charts.py: generate ASCII mini charts from JSON stdin
Examples
examples/sparkline.md
Quality checklist
- Trend is clear; labels are short and non-spammy
- ASCII-only output copy/pastes cleanly
- Provide a compression strategy for long series
Keywords
English: ascii-mini-charts, sparkline, ascii chart, bar chart, line chart, trend, normalize 中文: ascii-mini-charts, 火花线, ASCII 图表, 柱状图, 折线图, 趋势, 归一化
Source
git clone https://github.com/partme-ai/full-stack-skills/blob/main/skills/ascii-mini-charts/SKILL.mdView on GitHub Overview
ascii-mini-charts creates ASCII sparkline, bar, and line charts from numeric series for plain-text trend inspection. It supports minimal and annotated variants and includes normalization notes, with ASCII-only output by default and a width cap for readability.
How This Skill Works
Provide a numeric series and optional settings (type: sparkline, bar, or line; width; height; normalize). A Python script (scripts/mini_charts.py) reads JSON from stdin and outputs chartMinimal, chartAnnotated (min/max/current), and scaleNotes describing normalization and outlier handling; Unicode is optional but ASCII-only fallback is mandatory by default.
When to Use It
- When you need quick ASCII trend visuals in plain text contexts like logs, emails, or READMEs.
- When compatibility requires ASCII-only output with a clean, non-graphical representation.
- When you want both a minimal chart and an annotated chart showing min/max/current values.
- When the display width is limited (<= 60 columns) and you need a compression strategy for longer series.
- When you prefer straightforward visualization with no statistical inference, just trends.
Quick Start
- Step 1: Prepare a JSON input with series and optional settings (type, width, normalize, showLabels).
- Step 2: Pipe JSON to the script: python scripts/mini_charts.py < input.json.
- Step 3: Use the outputs: chartMinimal, chartAnnotated, and scaleNotes.
Best Practices
- Keep chart width <= 60 columns; for longer series, plan sampling or bucketing as a compression strategy.
- Choose sparkline for dense trends; switch to bar or line for clearer discrete values.
- Enable showLabels only if the target display has enough space to avoid clutter.
- Document and review scaleNotes to understand normalization (linear vs log) and outlier handling.
- Test both chartMinimal and chartAnnotated to ensure readability in your target medium.
Example Use Cases
- Sparkline of daily website visits in a README for quick at-a-glance trends.
- ASCII bar chart showing server CPU load over the last hour in a log file.
- Plain-text line chart of temperature changes for a weekly report.
- Sales trend chart in a simple ASCII dashboard for an internal memo.
- Annotated min/max/current highlights for stock price movement in a text note.