Pinvou/pinvou-agent is an open-source desktop workspace where an AI agent helps with work, visual design, and software development. People use it to work with files and knowledge, create editable visual artifacts, connect coding agents to projects, and extend the workspace with tools, MCP servers, skills, and workflows; the catalogue skills add capabilities to that environment.
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 agentmods add skills/pinvou/pinvou-agent/visualizernpx skills add Pinvou/pinvou-agent --skill visualizergit clone --depth 1 https://github.com/Pinvou/pinvou-agentWrote 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/pinvou/pinvou-agent/visualizer)<a href="https://agentmods.dev/skills/pinvou/pinvou-agent/visualizer"><img src="https://agentmods.dev/badge/skills/pinvou/pinvou-agent/visualizer.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 | $0.00085 | $0.01757 |
| Opus 5 | $0.00043 | $0.00879 |
| Sonnet 5 | $0.00017 | $0.00351 |
| Haiku 4.5 | $0.00009 | $0.00176 |
Grade A, and why
visualizer 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 5d 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 — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
数据分析可视化
把结构化数据、表格汇总、业务指标或用户描述的数据口径转成可交付的 HTML 数据可视化仪表盘。
成功判定
一次合格交付必须同时满足:
- 已读取
references/visualizer-design-system.md。 - 已用
write_file写出.html文件。 - 已用本技能目录下的
scripts/validate_visualizer_html.py校验最终.html,且结果为通过。 - 已调用
present_artifact(path, title)展示产物卡。 - HTML 使用 Chart.js UMD:
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.js。 - 每个
<canvas>都有role="img"、描述性aria-label和 fallback text。 - Chart.js 默认 legend 关闭,并使用自定义 HTML legend。
- 数据先聚合再入图,展示数字经过合理四舍五入。
- 图表关键数值常驻显示,不只依赖 hover tooltip;数据密集时显示首尾、峰值、谷值或 Top N 等关键标签。
失败判定
如果发生以下任一情况,必须重写产物再交付:
- 使用 ECharts、Plotly、Vega、D3 伪地图或任何非 Chart.js 图表库,除非用户明确点名要求。
- HTML 中出现
echarts、Plotly、cdn.plot.ly、cdn.jsdelivr.net/npm/echarts。 - 直接在聊天正文粘贴完整 HTML,而没有写
.html文件和展示 artifact。 <canvas>缺少role="img"、aria-label或 fallback text。- 使用默认 Chart.js legend,而没有自定义 HTML legend。
- 图表数值只出现在 hover tooltip 中,画布上没有常驻数值标签。
- 使用彩虹渐变 KPI、重阴影、发光、深色 hero、emoji 或营销页式大标题。
- HTML/CSS/JS 中出现
<!-- comments -->、/* comments */或独立行// comments。 scripts/validate_visualizer_html.py返回失败。
必须先读
在执行任务前读取 references/visualizer-design-system.md,并遵守其中的 Chart.js、布局、配色、无障碍和流式输出规则。若任务很小,也至少遵守本文件的硬性规则。
交付方式
Pinvou 的聊天正文会转义或清理 <script>,所以不要把带 Chart.js 的 HTML 直接贴在普通回复正文里当最终成品。
必须按以下流程交付:
- 用
write_file写出一个.html文件,文件内容可以是完整可打开 HTML,必须包含可执行的 Chart.js 脚本。 - 用
exec_shell运行本技能目录下的校验器:python <visualizer-skill-dir>/scripts/validate_visualizer_html.py <artifact.html> --json其中<visualizer-skill-dir>是load_skill返回的 Source 所在目录。 - 如果校验失败,读取错误列表,重写
.html,再次运行校验器;不要展示失败产物。 - 只有校验通过后,才能调用
present_artifact(path, title)展示产物卡。 - 普通回复只保留简短说明,不重复粘贴整段 HTML。
触发边界
使用本技能:
- Excel/CSV/JSON/表格数据转图表、转看板、转可视化报告。
- 用户说“做数据可视化”“做图表”“生成看板”“数据仪表盘”“可视化图表”。
- 数据分析仪表盘、指标看板、可视化报告。
- 柱状图、折线图、组合图、散点图、热力图、图表卡片。
- 用户明确提到 Chart.js、canvas、数据可视化。
不使用本技能:
- 落地页、品牌页、banner、海报、简历、作品集等以视觉表达为主、没有数据图表核心诉求的任务。
- 需要真实地图但没有真实拓扑数据的任务;不要手绘伪地图。
- 需要在线查询最新数据但用户没有提供数据时,先说明需要数据源或使用可用查询工具获取数据。
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 5d ago First seen · 89 lines · 85 tokens per session scan A 2e98a971d7e6
visualizer is a skill published in the GitHub repository Pinvou/pinvou-agent (1,625 stars, last pushed today), licensed MIT. It adds 85 tokens to every session and 1,757 once invoked, about $0.0004 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
xlsx
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or…
xlsx
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify…
google-sheets
Google Sheets via gws: read/write cells, append rows, structured batch edits.
docx
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when…
doc-coauthoring
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers.…
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and…