/graph:您的數字變成動畫圖表
使用者以任何形式提供數字:Mar 200K, Apr 650K, Nov 1.5M、貼上的表格、CSV 檔案、螢幕截圖或一句話。您將其轉換為一個小型規格檔,檢查一幀畫面,渲染影片,最後交出一個無聲的 MP4(約 5 秒鐘)。
${CLAUDE_SKILL_DIR} 以下是此技能的資料夾(即此 SKILL.md 所在的資料夾)。如果您的環境沒有填寫它,請使用該資料夾的路徑。將所有內容儲存在使用者目前的資料夾或他們指定的資料夾中。
0. 設定檢查
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" --check
這需要幾秒鐘;如果您不確定這台電腦是否已設定好,請執行它。"ready": true 表示可以繼續。否則,請執行它在 "fix" 下列出的命令,並告知使用者這是一次性安裝:python3 -m pip install playwright(瀏覽器驅動程式)、python3 -m playwright install chromium(僅在未安裝 Google Chrome 或 Edge 時需要,約 150 MB)以及 python3 -m pip install imageio-ffmpeg(僅在缺少 ffmpeg 時需要)。如果 pip 拒絕並顯示「externally managed environment」,請建立一個私有環境並使用其 Python 執行所有命令:python3 -m venv ~/.animate-skills && ~/.animate-skills/bin/pip install playwright imageio-ffmpeg,然後在需要時執行 ~/.animate-skills/bin/python -m playwright install chromium。在 Windows 上,請使用 py 代替 python3。
如果此處無法使用瀏覽器(例如 Claude 應用程式的沙盒環境)?請參閱此檔案末尾。
1. 撰寫規格檔
儲存 graph-<主題>.json:
{
"title": "我的 Instagram 追蹤者",
"subtitle": "2026",
"data": [["Mar", 200000], ["Apr", 650000], ["Nov", 1500000]],
"source": "Instagram",
"theme": "night"
}
規則:
- 使用使用者提供的確切數字。絕不虛構、平滑化、四捨五入或填補數值。如果某件事真的很模糊(例如哪一欄、什麼單位),問一個簡短的問題;否則直接進行。
- 寫出完整數字:650K →
650000,1.5M →1500000,12% →12並加上"suffix": "%"。 - 保持標籤簡短(最多約 8 個字元效果最佳):
Mar、Q1、2024、Mon。 - 標題說明數字代表什麼,儘可能使用使用者的措辭(最多約 30 個字元;
|強制換行)。僅在使用者有提供或從請求中明確可知時(例如「我的 Instagram 追蹤者」→ 來源 Instagram)才加入subtitle和source;不要憑空捏造。
| 欄位 | 功能說明 |
|---|---|
title、subtitle | 標題及其下方的小字(句點、單位)。 |
data | [["標籤", 數值], ...] 或 [{"label": "...", "value": n}, ...],按順序排列。 |
type | 留空則自動選擇:最多 10 個數值使用條形圖;較長的序列,以及相對於數值大小變化較小的數值(例如體重 210 → 178、價格、溫度),則使用折線圖,折線圖會聚焦於範圍內。設定為 "bar" 或 "line" 可強制指定。 |
prefix、suffix | 單位:"$"、"€"、"%"、" kg"。 |
decimals | 強制指定小數位數。預設為每個數值保留其自身小數位數。 |
compact | 預設將 10,000 以上顯示為 12K / 1.5M / 2B。false 則顯示完整數字。 |
callout | 留空則自動從第一個數值到最後一個數值產生增長標籤(↑ 7.5x;從 10x 起使用整數,↑ 77x;↑ 32%;↓ 18%)。也可以使用您自己的簡短文字(例如 "恢復獲利"),或設為 null 表示不顯示。 |
good | 當數值越低越好時設定為 "down"(例如體重減輕、債務償還、成本、比賽時間):下降會得到綠色標籤而非紅色。 |
highlight | 指定哪個長條為金色:"last"(預設)、"max"、索引值或 "none"。 |
theme | night(深藍色海軍風、珊瑚色長條;預設)、light、sunset、mint。 |
source | 圖表下方的小字「來源:...」備註。 |
size | "1080x1920"(直式,預設)、"1080x1080"、"1920x1080"。 |
duration、fps | 秒數(預設約 5)和每秒幀數(預設 30;60 更流暢但更慢)。 |
範例:examples/instagram-followers.json(條形圖)、examples/website-visitors-line.json(折線圖)。
2. 檢查最後一幀
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" graph-<主題>.json --still end --out graph-<主題>-check.png
查看圖片(需 2-3 秒產生):確保標籤可讀、無重疊、數字與使用者提供的完全相同。若不是,修正規格檔後再次檢查。
3. 渲染影片
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" graph-<主題>.json --out graph-<主題>.mp4
約需 10-20 秒。刪除檢查圖片。
4. 交付成果
將 MP4 檔案的路徑提供給使用者(如果您的環境可以顯示檔案,請顯示出來)。它沒有聲音,可以隨時配上音樂或旁白。提供一個快速的變化選項(例如其他主題、正方形尺寸、改用折線圖代替條形圖)。
此處沒有瀏覽器?(例如 Claude 應用程式的沙盒環境)
如果設定檢查無法啟動瀏覽器,請改為將動畫寫成頁面:python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" graph-<主題>.json --html graph-<主題>.html。該頁面可在任何瀏覽器中播放圖表(如果可以,請將其顯示為 artifact)。告知使用者 MP4 檔案需要一台裝有 Claude Code 的電腦,或對該頁面進行螢幕錄製。