关于 viz
viz 是一个将内容分发到四种可视化工作流的技能,供需要生成图表、信息图或交互式视觉内容的用户使用。它根据参数或消息关键词选择模式,并按对应流程处理内容。
主要功能
- 01四种可视化输出模式
- 02参数与关键词识别模式
- 03按需加载模式工作流
- 04支持 URL、文件和文本输入
适用场景
- 01将内容整理为 Excalidraw 图表
- 02生成 Swiss Pulse PNG 信息图
- 03在对话中呈现 Visualizer 组件
- 04发布 HeyGenverse 交互式应用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pedronauck/ skills --skill viz安装后在 Claude Code 中输入/viz确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/swiss-pulse-tokens.mdreferences/mode-diagram.mdmode-infographic.mdmode-publish.mdmode-visualize.md详细介绍
Viz Pack — 多模式视觉分发器
通过四种输出模式之一,将任意内容转化为专业可视化内容。此技能是一个分发器:它会确定当前模式,从 references/ 加载对应模式的工作流,并执行该工作流。
第 1 步:确定当前模式
按以下优先级检查调用信息:
-
位置参数。 第一个位置参数是
$0。如果$0与diagram、infographic、visualize或publish匹配,则将其用作模式。其余参数(模式标记之后的$ARGUMENTS)是可选的内容引用(URL、文件路径或内联文本)。 -
关键词触发。 如果
$0为空或不是有效模式,则扫描最近一条用户消息,查找触发关键词并映射到对应模式:触发关键词 模式 "diagram it", "excalidraw this", "draw a diagram of this" diagram"nano this" infographic"vis it" visualize"ver it", "hey it", "heygenverse this", "put this on heygenverse as a visual" publish -
询问用户。 如果两种信号都无法确定模式,则停止并询问要生成哪种输出——
diagram(Excalidraw)、infographic(通过 Gemini 生成的 Swiss Pulse PNG)、visualize(内嵌 Visualizer 小组件),或publish(HeyGenverse 上的交互式 Swiss Pulse 应用)。不要猜测。
渲染时注入的调用上下文:模式标记是 $0,内容引用是 $ARGUMENTS。
第 2 步:加载模式工作流
读取已确定模式对应的参考文件,并从头到尾遵循其中的工作流:
| 模式 | 工作流文件 |
|---|---|
diagram | references/mode-diagram.md |
infographic | references/mode-infographic.md |
visualize | references/mode-visualize.md |
publish | references/mode-publish.md |
每次调用都要读取该文件,不要凭记忆执行,以确保应用工作流的任何更新。
第 3 步:获取内容(所有模式通用)
四种模式都接受相同来源的内容。按以下优先级确定内容目标:
- 如果
$ARGUMENTS中包含 URL → 使用web_fetch获取。如果请求被拦截(429/403),则使用关键词短语通过web_search搜索,并从搜索摘要中获取内容。 - 如果
$ARGUMENTS指向已上传的文件 → 从/mnt/user-data/uploads/读取,PDF 使用pdfplumber,DOCX 使用python-docx,CSV/TSV 使用pandas,TXT/MD/HTML 直接读取。 - 如果
$ARGUMENTS是内联文本 → 直接使用。 - 否则,扫描当前对话中提及的来源(已上传文件、之前分享的 URL、
/mnt/transcripts/中的会议记录、粘贴的文本),并使用该来源。
对于会将文本输入大模型的模式(infographic),如果内容超过 3,000 词,则提炼为核心结构;对于在客户端组装可视内容的模式(diagram、visualize、publish),如果内容超过 5,000 词,则提炼为核心结构。
第 4 步:执行已加载的工作流
严格按照已加载的工作流文件中的步骤执行。不同模式之间不得替换工具、颜色、字体或输出格式。
不可妥协的规则
- 绝不能以纯文本摘要代替用户要求的视觉输出。
- 绝不能跨模式更换输出格式(例如,请求
mode=publish时,不得输出 Excalidraw)。 - 绝不能跳过读取对应模式的工作流文件——每种模式都有不显而易见的工具约定和设计限制。
- 绝不能使用各模式调色板以外的颜色(Excalidraw:2–3 种中性色;Swiss Pulse 模式:仅限黑色/白色和 #0066FF)。
错误处理
- 模式未确定 → 执行步骤 1.3 并询问用户。
- 工作流文件缺失 → 停止并报告缺失的路径(
references/mode-<mode>.md)。 - 工具集成缺失(
Excalidraw:*、visualize:*、HeyGenverse:*)→ 报告具体缺失的集成,并询问是否继续使用其他模式。 - 缺少
GEMINI_API_KEY(仅限模式infographic)→ 停止并在继续前索取密钥。 - 内容获取失败(内容为空、无法读取或 URL 被拦截)→ 报告具体的失败原因,并请求提供其他来源。