mcpField
V
viz

viz

github.com/pedronauck创意与媒体644174 次安装1 周前更新
代码仓库

关于 viz

viz 是一个将内容分发到四种可视化工作流的技能,供需要生成图表、信息图或交互式视觉内容的用户使用。它根据参数或消息关键词选择模式,并按对应流程处理内容。

主要功能

  1. 01四种可视化输出模式
  2. 02参数与关键词识别模式
  3. 03按需加载模式工作流
  4. 04支持 URL、文件和文本输入

适用场景

  1. 01将内容整理为 Excalidraw 图表
  2. 02生成 Swiss Pulse PNG 信息图
  3. 03在对话中呈现 Visualizer 组件
  4. 04发布 HeyGenverse 交互式应用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pedronauck/skills --skill viz

安装后在 Claude Code 中输入/viz确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
swiss-pulse-tokens.md
references/
mode-diagram.md
mode-infographic.md
mode-publish.md
mode-visualize.md

详细介绍

Viz Pack — 多模式视觉分发器

通过四种输出模式之一,将任意内容转化为专业可视化内容。此技能是一个分发器:它会确定当前模式,从 references/ 加载对应模式的工作流,并执行该工作流。

第 1 步:确定当前模式

按以下优先级检查调用信息:

  1. 位置参数。 第一个位置参数是 $0。如果 $0 与 diagram、infographic、visualize 或 publish 匹配,则将其用作模式。其余参数(模式标记之后的 $ARGUMENTS)是可选的内容引用(URL、文件路径或内联文本)。

  2. 关键词触发。 如果 $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
  3. 询问用户。 如果两种信号都无法确定模式,则停止并询问要生成哪种输出——diagram(Excalidraw)、infographic(通过 Gemini 生成的 Swiss Pulse PNG)、visualize(内嵌 Visualizer 小组件),或 publish(HeyGenverse 上的交互式 Swiss Pulse 应用)。不要猜测。

渲染时注入的调用上下文:模式标记是 $0,内容引用是 $ARGUMENTS。

第 2 步:加载模式工作流

读取已确定模式对应的参考文件,并从头到尾遵循其中的工作流:

模式工作流文件
diagramreferences/mode-diagram.md
infographicreferences/mode-infographic.md
visualizereferences/mode-visualize.md
publishreferences/mode-publish.md

每次调用都要读取该文件,不要凭记忆执行,以确保应用工作流的任何更新。

第 3 步:获取内容(所有模式通用)

四种模式都接受相同来源的内容。按以下优先级确定内容目标:

  1. 如果 $ARGUMENTS 中包含 URL → 使用 web_fetch 获取。如果请求被拦截(429/403),则使用关键词短语通过 web_search 搜索,并从搜索摘要中获取内容。
  2. 如果 $ARGUMENTS 指向已上传的文件 → 从 /mnt/user-data/uploads/ 读取,PDF 使用 pdfplumber,DOCX 使用 python-docx,CSV/TSV 使用 pandas,TXT/MD/HTML 直接读取。
  3. 如果 $ARGUMENTS 是内联文本 → 直接使用。
  4. 否则,扫描当前对话中提及的来源(已上传文件、之前分享的 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 被拦截)→ 报告具体的失败原因,并请求提供其他来源。

评论

支持 Markdown