tam159/next-role/charts
Claude Code and agent skill by tam159/next-role
- community
Checking that the SKILL.md file is still in the repository.
Draw and save charts, dashboards, and written reports from warehouse queries. Use whenever an answer involves a trend, a comparison, a distribution, or a headline number worth showing, when the user asks to chart, plot, graph, visualise, or build a dashboard, and when a visual needs custom Python because create_chart cannot express it.
Install
npx vskill@latest install tam159/next-role/chartsSKILL.md
The same SKILL.md was published earlier as jsabinesh/agentic_ai/charts.
Charts
create_chart runs your SQL, draws the result, and saves it to the conversation. Charts persist: reopening the thread later still shows them.
Chart or not
Draw when the shape is the answer: a trend over time, a comparison across categories, a distribution, a two-dimensional pattern.
Do not draw when a sentence is the answer. One number is a sentence, or a kpi if it deserves emphasis. Three rows are a table. A chart of three bars is noise.
Choosing a kind
| Question shape | Kind | Mapping | |
|---|---|---|---|
| How did X move over time? | line | x = date, y = measure | |
| Same, several measures or groups | line | plus series, or a list of y | |
| Same, composition over time | area with stacked=True | x, y, series | |
| How do categories compare? | bar | x = category, y = measure | |
| Composition within each category | bar with stacked=True | plus series | |
| Share of a whole, few slices | pie | x = labels, y = values | |
| How is a value distributed? | histogram | x = the column to bin | |
| How does a value spread per category? | box (or violin for the shape) | y = raw values, x = optional category, series = optional split | |
| Where do two values cluster together? | histogram2d | x, y = the two columns to bin | |
| Two dimensions against one value | heatmap | x = columns, series = rows, y = value | |
| Same, as a continuous surface | contour | as heatmap, over numeric axes | |
| Exact figures matter | table | no mapping | |
| One headline number | kpi | y = value, x = optional label |
Use pie only up to about six slices; beyond that a bar chart reads better.
Getting it right
- Aggregate in SQL. The tool refuses more than a few thousand rows, and a chart
of raw rows is unreadable anyway. The exceptions are box, violin and histogram2d, which plot the observations themselves: select the raw values, filtered or sampled to stay under the cap.
- Order the query the way the chart should read: by date for a trend, by value
descending for a ranked bar chart.
- Give every chart a title that states the finding, not the mechanism: "LLM cost
per day by model", not "Query results".
- Put the caveat in
description. Cost charts should say the figures are list
price estimates; anything over message dates should say the timestamps are capture times.
- Set
y_format:currencyfor dollars,percentfor rates (pass the fraction,
not 0-100), duration_s for seconds.
- Reuse a
slugto replace a chart you already made rather than accumulating
near-duplicates.
After you draw one
create_chart puts the chart in the conversation itself — the user is already looking at it, with its title, caveat and row count. So in your reply, write the finding the chart shows; do not re-embed it with  and do not describe the chart as an artefact ("the chart has been generated and saved"). Embedding belongs in saved reports, below, where there is no card.
Dashboards
A dashboard is several charts plus the narrative that ties them together:
- Draw each chart with
create_chart, giving each a stableslug. - Write
/reports/<thread id>/<slug>.mdwith your findings, embedding each
chart where it belongs:
- Tell the user the report path.
Lead each section with what the chart shows. A dashboard of unexplained charts is a worse answer than three sentences.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingbackend/agents/analytics_agent/skills/analytics-agent/charts/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/tam159/next-role/charts)