tam159/next-role/charts

Claude Code and agent skill by tam159/next-role

Trust tier 2
  • community
LLM review pending
Source check pending

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/charts

SKILL.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 shapeKindMapping
How did X move over time?linex = date, y = measure
Same, several measures or groupslineplus series, or a list of y
Same, composition over timearea with stacked=Truex, y, series
How do categories compare?barx = category, y = measure
Composition within each categorybar with stacked=Trueplus series
Share of a whole, few slicespiex = labels, y = values
How is a value distributed?histogramx = 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?histogram2dx, y = the two columns to bin
Two dimensions against one valueheatmapx = columns, series = rows, y = value
Same, as a continuous surfacecontouras heatmap, over numeric axes
Exact figures mattertableno mapping
One headline numberkpiy = 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: currency for dollars, percent for rates (pass the fraction,

not 0-100), duration_s for seconds.

  • Reuse a slug to 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 ![...](/charts/...) 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:

  1. Draw each chart with create_chart, giving each a stable slug.
  2. Write /reports/<thread id>/<slug>.md with your findings, embedding each

chart where it belongs:

markdown
## Reliability
Failures held at 3% of runs this week, all on Tuesday's deploy.
![Run failures per day](/charts/<thread id>/failures-per-day.plotly.json)
  1. 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/tam159/next-role/charts/badge)](https://verified-skill.com/skills/tam159/next-role/charts)

Something wrong with this skill or its page? Tell us.