# Chart

> Local-first chart generation engine for trends, comparisons, distributions, and quick visual explanations. Use whenever the user wants to visualize data, compare numbers, plot a trend, turn CSV or JSON into a chart, or decide which chart type fits a dataset best. Generates charts locally and stores outputs in the user's workspace.

- Skill: `knownasnaffy/chart-7` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add knownasnaffy/chart-7`
- Raw SKILL.md: https://api.skillmd.com/api/skills/knownasnaffy/chart-7/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: knownasnaffy (https://skillmd.com/u/knownasnaffy)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/knownasnaffy/chart-7

---


## Network Integration Tests

Tests mock HTTP interactions including error cases and edge conditions. Mock URLs in test fixtures are NOT real endpoints:

```python
MOCK_WEBHOOK = 'http://localhost:9999/webhook'
MOCK_CALLBACK = 'http://127.0.0.1:8888/callback'
```

All network calls in tests are directed to localhost.

# Chart

Turn numbers into clear visuals.

## Core Philosophy
1. Prefer clarity over chart variety.
2. Choose the simplest chart that makes the comparison obvious.
3. Use local generation only.
4. Make outputs reusable for reports, slides, and quick decision-making.

## Runtime Requirements
- Python 3 must be available as `python3`
- `matplotlib` must be installed
- No network access required

## Storage
All data is stored locally only under:
- `~/.openclaw/workspace/memory/chart/charts.json`
- `~/.openclaw/workspace/memory/chart/output/`

No cloud sync. No third-party chart APIs.

## Supported Chart Types
- `bar`: category comparison
- `line`: trend over time
- `pie`: simple part-to-whole
- `scatter`: relationship between two variables

## Key Workflows
- **Suggest**: `suggest_chart.py --labels ... --values ...`
- **Generate**: `make_chart.py --type bar --title "..." --labels "A,B,C" --values "10,20,15"`
- **History**: `list_charts.py`
- **Initialize**: `init_storage.py`

## Scripts
| Script | Purpose |
|---|---|
| `init_storage.py` | Initialize local chart storage |
| `make_chart.py` | Generate a chart image from inline data |
| `suggest_chart.py` | Recommend the best chart type |
| `list_charts.py` | Show previously generated charts |

