viz について
viz は、コンテンツを 4 種類のビジュアル作成ワークフローに振り分けるスキルです。引数やメッセージ内のキーワードからモードを選び、対応する手順に沿って処理します。
主な機能
- 014 種類のビジュアル出力モード
- 02引数やキーワードによるモード判定
- 03モード別ワークフローの読み込み
- 04URL、ファイル、テキストの入力
活用シーン
- 01コンテンツから Excalidraw 図を作成
- 02Swiss Pulse PNG のインフォグラフィック生成
- 03Visualizer ウィジェットをインライン表示
- 04HeyGenverse のインタラクティブアプリ公開
インストール
コマンドをコピーしてターミナルで実行します。
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 — マルチモード・ビジュアルディスパッチャー
4 つの出力モードのいずれかを使用して、あらゆるコンテンツをプロフェッショナルなビジュアルに変換します。このスキルはディスパッチャーです。有効なモードを判定し、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:コンテンツを取得する(全モード共通)
4 つのモードはすべて、同じソースからコンテンツを受け取ります。以下の優先順位でコンテンツの対象を解決します。
$ARGUMENTSに URL が含まれている場合 →web_fetchで取得します。ブロックされた場合(429/403)は、検索スニペットからコンテンツを取得できるよう、主要なフレーズを使ってweb_searchにフォールバックします。$ARGUMENTSがアップロード済みファイルを指している場合 → PDF にはpdfplumber、DOCX にはpython-docx、CSV/TSV にはpandasを使い、TXT/MD/HTML は直接読み取って/mnt/user-data/uploads/から取得します。$ARGUMENTSがインラインテキストの場合 → そのまま使用します。- それ以外の場合 → 現在の会話内から参照されたソース(アップロード済みファイル、以前に共有された URL、
/mnt/transcripts/にある会議の文字起こし、貼り付けられたテキスト)を探し、それを使用します。
コンテンツが 3,000 語を超える場合は、テキストを LLM に渡すモード(infographic)では要点の構成にまとめます。クライアント側でビジュアルを組み立てるモード(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)→ 失敗内容を具体的に報告し、別のソースを求めます。