/minimal-graphics:以形狀與動態圓點解釋概念
使用者提出一個概念(「點子如何病毒式傳播」、「法案如何成為法律」、「水循環」、「你的注意力去了哪裡」)。你選出能呈現該概念的運動模式,撰寫一份簡短的規格,檢查影格,渲染影片,並交付一支無聲 MP4(5-7 秒)。
以下的 ${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 因「外部管理環境」而拒絕,請一次性地建立一個私有環境,並在後續所有指令中使用其 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. 選擇模式
| 模式 | 呈現內容 | 適用情境 | 欄位 |
|---|---|---|---|
spread | 一個圓點接觸 2-4 個其他圓點,每個圓點再接觸更多,一圈一圈擴散 | 病毒式概念、口耳相傳、連鎖反應、推薦、倍增效應 | branches(2-4,預設 3)、depth(2-5,預設 4)、sequence(可選的短標籤,對應每一圈,例如 ["1","3","9","27","81"] 或 ["$1k","$2k","$4k"],顯示在標題下方的橫線上,隨著每圈亮起;每個標籤幾個字元) |
flow | 依序編號的形狀,一個圓點從一個形狀移動到下一個,最終形成穩定流動 | 工作原理、流程、管線、食譜 | steps:2-6 個短標籤;shapes(形狀是裝飾用:["circle"] 使它們全部為圓形); sequence(可選,與 spread 相同;無則省略) |
cycle | 循環上的步驟,一個圓點持續繞行 | 水循環、習慣迴圈、反饋迴圈、季節、睡眠週期 | steps:3-6 個短標籤;center:中間的一個詞 |
converge | 許多圓點流入一個不斷變大的圓圈(或 "direction": "out":一個圓圈將圓點傳送到多處) | 你的注意力、時間或金錢去了哪裡;多個輸入匯聚成一個結果 | sources:2-6 個標籤(可選);weights:每個來源分配多少圓點;center:圓圈中的詞;count:圓點數量(預設約 40) |
compare | 2-3 個數量並排顯示,以圓點(每單位一個點)或按數量比例縮放的圓圈呈現 | 「X 對比 Y」的數量:糖分、成本、時間、卡路里 | groups:[{"label": "...", "value": n, "unit": "..."}];highlight:要著色的組別索引 |
如果沒有完全符合的模式,請選用最接近的一個,並用一句話說明;不要強迫使用會產生誤導的圖像。模式呈現的是概念的結構;takeaway 這行則以文字說明重點。關於兩種力量平衡的點子(供給與需求、工作與生活平衡)沒有專屬模式:請將它們展現為能達到平衡的 cycle,或直接說明。
2. 撰寫規格
儲存 minimal-<主題>.json:
{
"title": "點子如何病毒式傳播",
"pattern": "spread",
"branches": 3,
"depth": 4,
"takeaway": "每個人再告訴三個人",
"theme": "coral"
}
常見欄位:title(概念,作為簡短標題或問題,最多約 40 個字元)、subtitle(可選,標題下方的小字)、takeaway(一句話的重點;動畫結束時顯示在標題下方,較長文字會自動縮小以符合空間)、theme(coral 預設、ink 黑色、paper 米白色、blue、mint)、size("1080x1920" 預設、"1080x1080"、"1920x1080")、duration(秒數;預設 5-6,有 takeaway 時會更長;較長 duration 只會延長結尾停留時間)、speed(0.7 = 所有動作慢 30%,1.3 = 更快)、fps(預設 30)。
撰寫規則:
- 標籤務必精簡:每個最多 4 個詞(sequence 標籤:幾個字元即可)。避免使用術語。
- 數字必須屬實。如果概念需要你不確定的數據,請省略或說明僅供示意。
- 一個影片只講一個概念。如果使用者的概念有兩部分,請製作兩個影片(兩個規格)。
範例在 examples/ 資料夾中:idea-goes-viral.json、bill-becomes-law.json(flow)、water-cycle.json(cycle)、where-attention-goes.json(converge)、soda-vs-apple.json(compare)。
3. 檢查兩個影格
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" minimal-<主題>.json --still 2 --out minimal-<主題>-check1.png
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" minimal-<主題>.json --still end --out minimal-<主題>-check2.png
--still 可指定秒數,或 end。檢視圖片:標籤是否清晰可讀且未被裁切?圖片是否正確傳達了概念?若否,請調整後再次檢查。
4. 渲染影片
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" minimal-<主題>.json --out minimal-<主題>.mp4
約需 10-25 秒。刪除檢查用的圖片。
5. 交付
將 MP4 的路徑提供給使用者(若你的環境可顯示檔案,請直接秀出)。影片不含聲音,可直接配上音樂或旁白。提供一個變化方案(另一種模式或主題)。
沒有瀏覽器?(例如 Claude 應用程式的沙盒環境)
如果環境檢查無法啟動瀏覽器,請改將動畫輸出為網頁:
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" minimal-<主題>.json --html minimal-<主題>.html。該網頁可在任何瀏覽器中播放(若能,請以 artifact 形式展示)。告知使用者 MP4 需要在安裝了 Claude Code 的電腦上產生,或透過螢幕錄製該網頁來取得。