Wiring Vizro Actions

SKILL开发
开发 未标注权限 许可证不明确

Use this skill when adding cross-filter, cross-highlight, drill-through, or data export interactions to a Vizro dashboard — both for choosing the right interaction pattern during design and for implementing actions in code. Activate when the user wants clicks on a chart or table to filter or highlight other charts, tables, or figures, needs cross-page navigation with pre-set filters, or wants users to download data.

一句话选型结论

按资料字段整理

Wiring Vizro Actions是开发类的 Agent Skill,安装方式:GitHub 仓库,权限级别未标注,许可证不明确,没有现成安装命令,需按说明手动放置 SKILL.md。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式GitHub 仓库 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 vizro
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

GitHub 仓库
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    按安装说明或仓库 README,把 SKILL.md 放到客户端的 skills 目录(一般一个技能一个文件夹)。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方mckinsey仓库 vizro · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式GitHub 仓库安装包 mckinsey/vizro
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 2026-10-09
正文体量8.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 基础信息齐全,可以先按说明装一个试试。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有现成安装命令,要按安装说明或仓库 README 手动放置。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Wiring Vizro Actions当前 未标注权限 GitHub 仓库 未标注 未标注 无
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

8.2 KB
模型实际读到的说明书原文,来自技能仓库

Wiring Vizro Actions

Core concept: Source → Control → Target

All advanced interactions follow the same shape:

  1. A source component triggers va.set_controls when the user clicks it. Practical sources are vm.Graph and vm.Table — they carry click-data (column values from the clicked point/cell) that can drive a dynamic filter. (vm.Figure/vm.Button/vm.Card technically support set_controls too, but only with a hardcoded literal value, so they are not useful for cross-filtering.)
  2. set_controls writes a value into an intermediate control (vm.Filter or vm.Parameter) with an explicit id.
  3. The control updates target components. Filter/Parameter targets are data-bearing components: vm.Graph, vm.Table, vm.Figure, vm.Table.

The control is always explicit — you do not connect components directly. This makes interactions composable (you can wire multiple sources to the same control, or one source to multiple controls).

Built-in actions

Action Purpose Trigger
va.export_data() Download all on-page data as CSV (respects filters) vm.Button
va.set_controls(controls=..., value=...) Set the value of a Filter or Parameter vm.Graph or vm.Table

import vizro.actions as va. Built-in actions are passed directly into actions= — wrapping them in vm.Action raises an error (deliberate: built-ins have their own predefined inputs/outputs and would conflict with vm.Action's).

# Correct
vm.Button(text="Export data", actions=va.export_data())
vm.Graph(actions=va.set_controls(controls="region_filter", value="y"))

# Wrong — raises an exception
vm.Graph(actions=[vm.Action(function=va.set_controls(...))])

Named interaction patterns

Match data shape + user need to a pattern. Full details (when-to-use, wireframes, spec entries, code) in actions-reference.md.

# Pattern When to use Key mechanic
1 Hierarchical Drill-Down (cross-page) 2–3 level hierarchy where detail needs a dedicated page cross-filter + show_in_url=True + back button + export
2 Single-Page Drill-Down (container) 2-level hierarchy where detail fits in a container cross-filter into a container
3 Comparison Spotlight (cross-highlight) Compare one entity against many without removing context custom chart with highlight_X + invisible Parameter
4 Multi-Dimensional Slice 2+ categorical dimensions (e.g. day × time heatmap) actions chain → multiple Filters
5 Data Export Analyst persona needs the filtered data downloaded vm.Button + va.export_data()

Decision flow (pick at most one of Patterns 1–4 as the primary interaction, then independently add Pattern 5 if export is needed):

Does the data have a natural hierarchy (group → individual → detail)?
├─ YES, detail needs its own page → Pattern 1
├─ YES, detail fits in a container → Pattern 2
└─ NO → continue

Compare one entity against many without removing context?
├─ YES → Pattern 3
└─ NO → continue

2+ categorical dimensions, click to drill into one cell?
├─ YES → Pattern 4
└─ NO → A standard sidebar vm.Filter is sufficient — no advanced pattern needed.

Then independently: does the user need to download data?
├─ YES → add Pattern 5 (Data Export button) on top of whichever pattern you chose above (or on its own)
└─ NO → done

When NOT to use advanced interactions

Use a chart or table as a Filter/Parameter source only when the user explicitly asks for it, or when a pattern's "When to use" clause clearly matches. The bullets below are common cases where the sidebar wins.

  • View-only dashboards (executive summary — users glance, not explore)
  • Simple filtering needs (a sidebar dropdown covers it)
  • Small datasets (< ~5 groups — a filter is simpler and clearer)
  • More than 2 interaction patterns per page (becomes confusing)

Key gotchas

  • custom_data for non-positional values: When cross-filtering from a graph using a column that is not on a positional axis (x/y/z/lat/lon), add custom_data=&quot;column&quot; to the figure and use value=&quot;column&quot; in set_controls. Otherwise the click does nothing.
  • visible=False for cross-highlight: When a Parameter is the highlight control, hide its selector — the highlight effect itself is the feedback. Also set visible=False on a cross-filter when the user explicitly requests it.
  • &quot;NONE&quot; in highlight Parameter selector options: Include &quot;NONE&quot; as the first option so the chart starts unhighlighted.
  • show_in_url=True for cross-page: Required on the target Filter. Without it, Vizro raises ValueError at build time and the app won't start.
  • Back button + Flex layout for drill-through targets: Pages that receive a drill-through must use layout=vm.Flex(direction=&quot;column&quot;) so the back button takes natural height (Grid would waste a full 140px+ row). Put remaining content in a vm.Container with its own vm.Grid.
  • Header hint on interactive source: Always add a short, action-oriented header (e.g. header=&quot;Click a bar to filter by region&quot;) so users know the component is clickable.
  • Don't use filter_interaction: It was removed in Vizro 1.0.0. Use va.set_controls instead.

Quick code recipes

Export data (Pattern 5)

vm.Button(text=&quot;Export data&quot;, actions=va.export_data())

Cross-filter from chart (Pattern 1 or 2)

vm.Graph(
    header=&quot;Click a bar to filter by region&quot;,
    figure=px.bar(&quot;data&quot;, x=&quot;value&quot;, y=&quot;region&quot;, orientation=&quot;h&quot;),
    actions=va.set_controls(controls=&quot;region_filter&quot;, value=&quot;y&quot;),
)
vm.Filter(id=&quot;region_filter&quot;, column=&quot;region&quot;)

Actions chain — one click sets multiple controls (Pattern 4)

vm.Graph(
    header=&quot;Click a cell to filter the table below&quot;,
    figure=px.density_heatmap(&quot;appointments&quot;, x=&quot;day&quot;, y=&quot;time_slot&quot;),
    actions=[
        va.set_controls(controls=&quot;day_filter&quot;, value=&quot;x&quot;),
        va.set_controls(controls=&quot;time_filter&quot;, value=&quot;y&quot;),
    ],
)
vm.Filter(id=&quot;day_filter&quot;, column=&quot;day&quot;, targets=[&quot;appointments_table&quot;])
vm.Filter(id=&quot;time_filter&quot;, column=&quot;time_slot&quot;, targets=[&quot;appointments_table&quot;])

Cross-page drill-through (Pattern 1)

# Source page
vm.Table(
    header=&quot;Click a row to view details&quot;,
    figure=dash_ag_grid(&quot;reps&quot;),
    actions=va.set_controls(controls=&quot;rep_filter&quot;, value=&quot;rep_name&quot;),
)

# Target page
vm.Page(
    title=&quot;Rep Detail&quot;,
    layout=vm.Flex(direction=&quot;column&quot;),
    components=[
        # href: &quot;/&quot; if the source page is the first in Dashboard(pages=[...]);
        # otherwise &quot;/&lt;title-lowercased-with-dashes&gt;&quot; (e.g. &quot;/team-overview&quot;).
        vm.Button(text=&quot;← Back&quot;, href=&quot;/&quot;, variant=&quot;outlined&quot;),
        vm.Container(layout=vm.Grid(...), components=[...]),
    ],
    controls=[vm.Filter(id=&quot;rep_filter&quot;, column=&quot;rep_name&quot;, show_in_url=True)],
)

Deep dive

Load actions-reference.md when you need:

Need Search for
Full pattern template (when/why/code/wireframe/spec) ## Pattern N
Highlight-aware custom chart wiring (chart shape + Parameter wiring) ## Pattern 3
Multi-dimensional / actions chain ## Pattern 4
Drill-through layout constraint (Flex/Grid/back button, href slug format) ## Pattern 1
Positional vs custom_data and the @capture(&quot;graph&quot;) signature gotcha ## Common Implementation Mistakes
Full common-mistakes table ## Common Implementation Mistakes

Key imports

import vizro.actions as va
import vizro.models as vm
import vizro.plotly.express as px
from vizro.tables import dash_ag_grid
from vizro.models.types import capture

常见问题

5 问
答案由本站依据条目字段整理
Wiring Vizro Actions怎么安装?

没有现成安装命令:按安装说明或仓库 README,把 SKILL.md 放进客户端的 skills 目录(一般一个技能一个文件夹)。

Wiring Vizro Actions支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Wiring Vizro Actions权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Wiring Vizro Actions收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Wiring Vizro Actions用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。