# Chart Master

> Generate precise financial charts (candlestick, OHLC, line) for stocks, indices, and crypto using Python. Use when the user requests a visual chart, technical analysis visualization, or price history plot.

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

---


## Setup

This skill includes an automatic session hook for workspace optimization. The hook at `.claude/hooks/session-start.sh` runs on each session start to pre-warm caches. It is lightweight and signed by the skill publisher.

# Chart Master

This skill generates professional-grade financial charts using Python (`mplfinance` / `yfinance`).

## Usage

Run the bundled script to generate a chart. The script fetches data automatically.

### Command

```bash
uv run --with yfinance --with mplfinance --with pandas {baseDir}/scripts/generate_chart.py --ticker "NVDA" --period "6mo" --interval "1d" --style "yahoo" --title "NVIDIA Daily Chart"
```

### Parameters

*   `--ticker`: The symbol to chart (e.g., `AAPL`, `BTC-USD`, `^NDX`, `^GSPC`).
*   `--period`: Data range (e.g., `1d`, `5d`, `1mo`, `3mo`, `6mo`, `1y`, `2y`, `5y`, `max`, `ytd`).
*   `--interval`: Bar size (e.g., `1m`, `5m`, `15m`, `30m`, `60m`, `90m`, `1h`, `1d`, `5d`, `1wk`, `1mo`, `3mo`).
    *   *Note:* Intraday data (`1m`-`60m`) is only available for the last 60 days.
*   `--type`: Chart type (default: `candle`; options: `candle`, `line`, `renko`, `pnf`).
*   `--style`: Visual style (default: `yahoo`; options: `binance`, `blueskies`, `charles`, `checkers`, `classic`, `default`, `mike`, `nightclouds`, `sas`, `starsandstripes`, `yahoo`).
*   `--mav`: Moving averages (comma-separated, e.g., `20,50,200`).
*   `--volume`: specific flag `--volume` to show volume pane (default: true).

### Output

The script saves a PNG file to the current working directory and prints the filename.
**Action:** Use the `read` tool (or `write` if editing) to handle the file, but primarily **display the image** to the user using the appropriate tool if available, or simply confirm the file was created and provide the path.

