Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add HezaoHezao/poirot --skill chart-visualizationgit clone --depth 1 https://github.com/HezaoHezao/poirotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/hezaohezao/poirot/chart-visualization)<a href="https://agentmods.dev/skills/hezaohezao/poirot/chart-visualization"><img src="https://agentmods.dev/badge/skills/hezaohezao/poirot/chart-visualization.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00017 | $0.01131 |
| Opus 5 | $0.00009 | $0.00566 |
| Sonnet 5 | $0.00003 | $0.00226 |
| Haiku 4.5 | $0.00002 | $0.00113 |
Grade A, and why
chart-visualization scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 137 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Chart Visualization
Overview
Transform data into visual charts. Intelligently select the most suitable chart type, extract parameters, and generate a chart image.
Poirot note: The original deer-flow skill uses a bundled
scripts/generate.js(Node.js + charting library). Poirot doesn't bundle that script. Usebashwith Python (matplotlib/plotly) as the rendering engine instead. Install:pip install matplotlib plotly.
Chart Selection Guide
| Data Pattern | Recommended Chart | When |
|---|---|---|
| Time Series | Line / Area | Trends over time |
| Comparisons | Bar / Column | Categorical comparison |
| Distribution | Histogram / Boxplot | Frequency distribution |
| Part-to-Whole | Pie / Treemap | Proportions |
| Relationships | Scatter | Correlation |
| Flow | Sankey | Flow between stages |
| Multi-dimensional | Radar | Compare across dimensions |
| Process | Funnel | Stage conversion |
| Hierarchy | Org chart / Mind map | Tree structure |
| Geographic | Map | Spatial data |
Workflow
1. Select Chart Type
Analyze the user's data features:
- Time dimension? → Line/Area
- Categories? → Bar/Column
- Proportions? → Pie/Treemap
- Correlation? → Scatter
- Flow? → Sankey
- Multiple dimensions? → Radar
2. Prepare Data
Extract data from user input, format as Python data structure:
data = {
"labels": ["Jan", "Feb", "Mar", "Apr", "May"],
"values": [120, 150, 180, 200, 220],
"title": "Monthly Revenue",
"xlabel": "Month",
"ylabel": "Revenue ($K)"
}
3. Generate Chart
python3 -c "
import matplotlib
matplotlib.use('Agg') # non-interactive backend
import matplotlib.pyplot as plt
labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May']
values = [120, 150, 180, 200, 220]
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(labels, values, marker='o', linewidth=2, markersize=8)
ax.set_title('Monthly Revenue', fontsize=16, fontweight='bold')
ax.set_xlabel('Month', fontsize=12)
ax.set_ylabel('Revenue ($K)', fontsize=12)
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('.poirot/outputs/chart.png', dpi=150, bbox_inches='tight')
print('Saved to .poirot/outputs/chart.png')
"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 137 lines · 17 tokens per session scan A df310c4f9ab9
chart-visualization is a skill published in the GitHub repository HezaoHezao/poirot (215 stars, last pushed 1mo ago), licensed MIT. It adds 17 tokens to every session and 1,131 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
feature-demo-recording
Record a demo video of a web feature from a real browser. Two modes -- a NARRATED film where measured voiceover drives the timeline (designed slides, subtitles, punch-in camera, rendered from an HTML timeline), and a SILENT evidence clip for a PR or a QA pass. Use when the user asks to record a video, demo, or screen…
image-authoring
Author images and diagrams as code — SVG, Pillow, Excalidraw, mermaid. Load when asked to draw, illustrate, or make an image, icon, logo, poster, or diagram.
pptx-maker
Generate or restyle a PowerPoint deck. Use when the user wants to create or edit a .pptx presentation, build slides from text or a URL, or design a reusable slide style.
artifacts
Persist, version, and iterate on LLM-generated UI (widgets, HTML, markdown). Load when the user wants to save, find, update, or iterate on a previously-rendered widget — anything that should outlive the chat scrollback.
commit
Atomic git commit with conventional message. Use when the user says "commit", "save my changes", "commit this", or wants to create a git commit. Stages specific files, writes a conventional commit message with body explaining non-obvious decisions. Never uses git add -A.
python-run
Run and debug Python scripts in the project. Use when the user says "run python", "execute this script", "debug this py file", or wants to run/modify a .py file. Handles dependency checks, linting, execution, and error analysis.