ascii-mini-charts

$npx mdskill add partme-ai/full-stack-skills/ascii-mini-charts

Generates ASCII mini charts for plain-text trend inspection in terminals, triggered by explicit skill name mentions.

  • Helps with text-based data visualization for CLI output or terminal charts.
  • Depends on Python 3.8 or higher for execution.
  • Activates only when the user specifies the exact skill name in requests.
  • Presents results as minimal and annotated ASCII charts with normalization notes.
SKILL.md
.github/skills/ascii-mini-chartsView on GitHub ↗
---
name: ascii-mini-charts
description: "Generate ASCII mini charts (sparkline/bar/simple line) for plain-text trend inspection, with minimal and annotated variants and normalization notes. Use when the user needs text-based data visualization, terminal charts, or ASCII graphs for CLI output."
license: Complete terms in LICENSE.txt
dependencies:
  - python>=3.8
---


## When 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)

### Inline Example

Input: `series=[3, 7, 2, 9, 5, 8, 1, 6]`, `type=sparkline`:

**chartMinimal:**
```
▂▅▁▇▃▆ ▄
```

**chartAnnotated:**
```
▂▅▁▇▃▆ ▄  min:1 max:9 current:6
```

Input: `series=[10, 25, 15, 30]`, `type=bar`, `height=5`:

**chartAnnotated:**
```
     ##
  ## ##
  ## ##
  ## ## ##
## ## ## ##
10 25 15 30
```

### Script Usage

```bash
# Generate sparkline from JSON data
echo '{"series": [3, 7, 2, 9, 5, 8, 1, 6], "type": "sparkline"}' | python3 scripts/mini_charts.py

# Generate bar chart with annotations
echo '{"series": [10, 25, 15, 30], "type": "bar", "height": 5, "showLabels": true}' | python3 scripts/mini_charts.py
```

## Script
- `scripts/mini_charts.py`: generate ASCII mini charts from JSON stdin

## Examples
- `examples/sparkline.md`

## Quality checklist
1. Trend is clear; labels are short and non-spammy
2. ASCII-only output copy/pastes cleanly
3. 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 图表, 柱状图, 折线图, 趋势, 归一化
More from partme-ai/full-stack-skills