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 instructions/blakefeiza/vizwright/claude-mdgit clone --depth 1 https://github.com/blakefeiza/vizwrightWrote 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/instructions/blakefeiza/vizwright/claude-md)<a href="https://agentmods.dev/instructions/blakefeiza/vizwright/claude-md"><img src="https://agentmods.dev/badge/instructions/blakefeiza/vizwright/claude-md.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.01500 | $0.01500 |
| Opus 5 | $0.00750 | $0.00750 |
| Sonnet 5 | $0.00300 | $0.00300 |
| Haiku 4.5 | $0.00150 | $0.00150 |
Grade A, and why
vizwright CLAUDE.md 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 4d 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 — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.
vizwright — Orchestrator
Agent-orchestrated Tableau dashboard builder. A dataset + a business
question go in; an insights narrative and a lint-scored .twbx dashboard
come out. You (the main session) are the orchestrator: parse the
request, run the pipeline, route errors. You do not do the specialists'
work yourself — delegate to the subagents.
Routing (automatic — no keywords needed)
Run the FULL pipeline when the user asks to build/create/generate a
dashboard or viz from data. Run stages 0–1 only when they ask for
analysis/insights without a dashboard. Run stage 4 only when they drop a
screenshot/render for review. Resume a run at the failed stage rather than
restarting; run state lives in runs/<run>/.
Pipeline
- Setup (you): pick a short kebab-case run name;
mkdir -p runs/<run>/renders; profile the data:python3 tools/profile_data.py <dataset> --out runs/<run>/profile.json. If the user gave no explicit question, propose one from the profile and confirm it in your reply before proceeding. - insights-analyst →
runs/<run>/analytics_plan.md+insights.md. Pass: question, dataset path, run dir. It must back every group comparison withtools/stat_check.py(coded Welch t-tests + Bonferroni, not LLM judgment) and cite the corrected p-value + effect size. Surface the headline finding to the user as soon as this stage returns — it has standalone value. - dashboard-designer →
runs/<run>/design_spec.md. Pass: run dir. It reads the stage-1 artifacts + design-standards skill. - xml-author →
output/<run>.twb+output/<run>.twbx(validated AND design-linted: bothvalidate_twb.pyandlint_design.pymust pass before packaging — formatting defects are caught statically here, never spent on a render iteration). On validator failure it fixes and retries internally; if it reports unimplementable spec items, send those back to dashboard-designer for a spec revision, then re-run. - Render step: if
.envexists (Tableau Cloud credentials), runpython3 tools/publish_render.py output/<run>.twbx --dashboard-only— it publishes and drops rendered PNGs intoruns/<run>/renders/. Check its exit code: non-zero means nothing exported — do NOT proceed to the linter against an emptyrenders/dir; treat as a stage-3 bug. Otherwise fall back to the manual path: ask the user to openoutput/<run>.twbxin Tableau Desktop and save a screenshot intoruns/<run>/renders/. (Tableau load errors are a stage-3 bug — read~/Documents/My Tableau Repository/Logs/log.txt, greplogic-assert, route the assert + element to xml-author.) 4b. Render gate (deterministic, always run before the linter):python3 tools/verify_render.py runs/<run>/renders. This coded check fails fast on a missing, blank, truncated, or solid-fill render (a worksheet that errored draws nothing) — no LLM needed. On failure, the render is unusable: route back to xml-author with the failing check, do NOT run the design-linter on it. - design-linter →
runs/<run>/lint_report.mdwith score + verdict. Record it:python3 tools/run_state.py <run> record --score N --verdict PASS|ITERATE. - Iterate: before each new authoring attempt,
python3 tools/run_state.py <run> bump(persists the counter toruns/<run>/iteration_state.json, surviving a session crash; exit code 3 = cap reached → stop and summarize what's stuck). Verdict ITERATE → xml-author applies the report's fixes (stage 3) → render (4, 4b) → linter re-scores (5). Verdict PASS → done: summarize headline insight, score, and file paths. - Series consistency (optional): when a run belongs to a family of
related dashboards,
python3 tools/lint_consistency.py output/*.twbflags palette/font/canvas/format drift so the set reads as one system.
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.
- 4d ago First seen · 98 lines · 1,500 tokens per session scan A c2a9e3d558d2
vizwright CLAUDE.md is an instructions file published in the GitHub repository blakefeiza/vizwright (3 stars, last pushed 1mo ago), licensed MIT. It adds 1,500 tokens to every session, about $0.0075 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.
Other instructions, from other repositories
vizro CLAUDE.md
Claude Code instructions for mckinsey/vizro, covering vizro development guide for ai agents, development setup (across all packages), only dependency: hatch, working directory and common hatch commands across all packages.
vizro copilot-instructions.md
Copilot instructions for mckinsey/vizro, covering github copilot instructions for vizro, pull requests from bots and automated tooling and everything else.
TreeMap-Disk-Visualizer AGENTS.md
Instructions for Prithvi-Web/TreeMap-Disk-Visualizer, covering treemap for agents, two ways in, the core workflow: scan → inspect → dry-run → act, the safety model (enforced server-side, not advisory) and mcp specifics.
vizro AGENTS.md
AGENTS.md instructions for mckinsey/vizro, a project described as: Vizro is a low-code toolkit for building high-quality data visualization apps.
explainer-pack CLAUDE.md
Claude Code instructions for Angelopvtac/explainer-pack, covering explainer-pack — invariants, public-clean is non-negotiable, what's in the box, discipline is locked. themes are a parameter and when editing the skill.
Vibe-Research AGENTS.md
AGENTS.md instructions for simonlin1212/Vibe-Research, covering vibe-research-agent 金融研究宪法, 0. 三条不可越线, 1. 数据纪律(五问 gate:给出任何数字或结论前逐条自问), 2. 研究哲学(评估框架,不是预测工具) and 3. 估值口径(你只选输入、解释输出;计算交给 calc/).