visualize

A chart and dashboard renderer for the nui chat panel. It turns supplied HTML into charts, graphs, tables, or dashboards shown directly in the conversation.

In plain words
What is it for?
Use it to display data visualizations such as trend charts, comparison graphs, tables, and dashboards in nui chat.
Why use it?
It avoids making users open a separate file or relying on pasted images to view data. The result appears inside the chat where the request was made.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/plmbr/nui/visualize
Any agent
npx skills add plmbr/nui --skill visualize
Clone the repo
git clone --depth 1 https://github.com/plmbr/nui

Made for: Claude Code, Codex.

Per session 22 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 384 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00022 $0.00384
Opus 5 $0.00011 $0.00192
Sonnet 5 $0.00004 $0.00077
Haiku 4.5 $0.00002 $0.00038

Measured yesterday against content hash 07a4bab190b2, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

visualize 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 yesterday.

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.

internal/skills/builtins/visualize/SKILL.md · 34 lines

What it actually says

Visualize (nui)

When the user asks for a chart, graph, table, or dashboard, render it inline in the nui chat panel using show_visualization on the nui-viz MCP server.

Required workflow (same turn)

  1. Build self-contained HTML (Chart.js v3/v4 API from CDNs is fine — nui rewrites CDN chart.js tags to its bundled v4 copy at /vendor/chart.min.js).
  2. Call show_visualization with the HTML in the html field.
  3. Optionally set title.

Do this before sending any closing assistant text. Never stop after "building the chart" without calling the tool.

Do not paste markdown images, data:image/... URIs, or base64 in your text after calling show_visualization — nui already renders the chart inline.

Do not

  • Do not invoke the Skill tool or the dataviz bundled skill.
  • Do not use Write / Edit to save .html files.
  • Do not tell the user to open a file in a browser.

Example

{
  "title": "California demographics",
  "html": "<!DOCTYPE html><html><head><script src=\"https://cdn.jsdelivr.net/npm/chart.js\"></script></head><body><canvas id=\"c\"></canvas><script>new Chart(document.getElementById('c'),{type:'pie',data:{labels:['A','B'],datasets:[{data:[60,40]}]}});</script></body></html>"
}
Changes

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.

  1. yesterday First seen · 34 lines · 22 tokens per session scan A 07a4bab190b2

Subscribe to this mod's changes

visualize is a skill published in the GitHub repository plmbr/nui (5 stars, last pushed 5d ago), licensed MIT. It adds 22 tokens to every session and 384 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-31.

Related

Other skills, from other repositories

doubt-driven-review

In-flight adversarial check on a non-trivial decision BEFORE it stands — distinct from post-hoc review of a finished diff. Use on "stress-test this decision", "are we sure about this", "verify before commit", "poke holes in this", when working in unfamiliar code, or before an irreversible step (migration, prod deploy…

BlackBeltTechnology/pi-agent-dashboard · 90 tokens

release-cut

Cut a new pi-agent-dashboard release: promote ## [Unreleased] in CHANGELOG.md, bump every workspace package.json per SemVer, commit, tag v , and push — triggering the Release workflow that publishes every non-private workspace, builds the Electron artifacts, and creates a GitHub Release. Use on "cut a release"…

BlackBeltTechnology/pi-agent-dashboard · 93 tokens

ship-it

Worktree-side implementation orchestrator for an OpenSpec change. Idempotent: gates automated scenarios on filesystem reality, owns the red-test fix loop, runs the docker harness with always-teardown, then drives ship-change inline. Escape hatch writes SHIPITBLOCKED.md. Runnable headless. Triggers: "ship it", "build…

BlackBeltTechnology/pi-agent-dashboard · 92 tokens

faq-mine

Mine docs/faq.md from README.md, docs/.md, and the pi-hermes memory stores. Dispatches @fast subagents per source, dedupes against the existing FAQ, and merges entries in caveman style. Use when asked to "build / regenerate / extend the FAQ", "mine docs into FAQ", "mine hermes memory into FAQ", "surface runtime…

BlackBeltTechnology/pi-agent-dashboard · 94 tokens

session-to-guideline

Turn a pi session into a Markdown "how-we-did-it" collaboration guideline: reads the session's JSONL transcript and synthesizes a reusable playbook of which prompts worked, what had to be steered, and how to reproduce the result faster. Use when: "document this session", "write up how we did X with the AI", "make a…

BlackBeltTechnology/pi-agent-dashboard · 93 tokens

scenario-design

Draft real-life test SCENARIOS (not smoke tests) from a change/feature spec. Derives edge-case, performance, frontend-quirk and error-handling scenarios with ISTQB techniques, routes each to a test level, and writes test-plan.md, emitting clarification questions on a spec gap. Use on "design test scenarios", "what…

BlackBeltTechnology/pi-agent-dashboard · 88 tokens