Hyperframes Media
chmonitor/chmonitor
Audio and media assets for HyperFrames compositions, produced by one shared audio engine (scripts/audio.mjs) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound…
每日名言語音任務。產生「語音 + 封面圖靜態影片 +(選配)HeyGen 數位人影片」並發送給主人. An agent skill from LeoYeAI/openclaw-master-skills.
$ npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills daily-voice-quote --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/daily-voice-quote .claude/skills/daily-voice-quote && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "daily-voice-quote" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/daily-voice-quote into .claude/skills/daily-voice-quote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "daily-voice-quote", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/daily-voice-quoteType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills daily-voice-quote --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/daily-voice-quote .agents/skills/daily-voice-quote && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "daily-voice-quote" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/daily-voice-quote into .agents/skills/daily-voice-quote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "daily-voice-quote", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills daily-voice-quote --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/daily-voice-quote .cursor/skills/daily-voice-quote && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "daily-voice-quote" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/daily-voice-quote into .cursor/skills/daily-voice-quote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "daily-voice-quote", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/daily-voice-quote--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills daily-voice-quote --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/daily-voice-quote .gemini/skills/daily-voice-quote && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "daily-voice-quote" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/daily-voice-quote into .gemini/skills/daily-voice-quote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "daily-voice-quote", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills daily-voice-quoteInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/daily-voice-quote .github/skills/daily-voice-quote && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "daily-voice-quote" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/daily-voice-quote into .github/skills/daily-voice-quote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "daily-voice-quote", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills daily-voice-quote --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/daily-voice-quote .opencode/skills/daily-voice-quote && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "daily-voice-quote" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/daily-voice-quote into .opencode/skills/daily-voice-quote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "daily-voice-quote", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
daily-voice-quote每日名言語音任務。產生「語音 + 封面圖靜態影片 +(選配)HeyGen 數位人影片」並發送給主人. An agent skill from LeoYeAI/openclaw-master-skills.
Daily Voice Quote is an agent skill from LeoYeAI/openclaw-master-skills. 每日名言語音任務。產生「語音 + 封面圖靜態影片 +(選配)HeyGen 數位人影片」並發送給主人。
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `_meta.json`, `references/holidays.md` and `references/quotes.md`).
It sits in Media & Creative, covering Text to speech and voice. It works with HeyGen and ElevenLabs. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
ffmpegcurlffprobeuvpython3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.line.meAlso links to:
try.elevenlabs.ioheygen.comapi.elevenlabs.ioaistudio.google.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ELEVENLABS_API_KEYCHANNEL_ACCESS_TOKENLINE_CHANNEL_ACCESS_TOKENGEMINI_API_KEYHEYGEN_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Daily Voice Quote loads about 3.5k tokens when it runs, and up to ~5.7k if it reads all its reference files. Until then it costs about 17 tokens; SKILL.md has 851 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 851 words, ~3,503 tokens.
.claude/skills/daily-voice-quote/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.這個 skill 會在每天早上:
最終產出三件套:語音、靜態影片、HeyGen 數位人影片。
每天早上自動選一則名人名言,用主人的聲音念出來,並搭配一張美感封面圖與影片版本發送給主人。若你沒有 HeyGen 帳號,也可以只做「語音 + 靜態影片」。
avatars/ 目錄ELEVENLABS_API_KEYcurl -X POST "https://api.elevenlabs.io/v1/voices/add" \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
-F "name=主人的名字" \
-F "files=@/path/to/voice-sample.mp3" \
-F "description=Voice clone for daily quotes"voice_id,記下來。# 1. 確認 API Key 存在
echo $ELEVENLABS_API_KEY # 應該有值
# 2. 列出所有可用語音
sag voices
# 3. 測試語音生成
sag -v "YOUR_VOICE_NAME" -o /tmp/test.mp3 "早安,這是一個語音測試。"⚠️ sag 所有指令都需要 ELEVENLABS_API_KEY 環境變數。如果沒有,請先設定。
如果暫時沒有 ElevenLabs API Key,可以先用 OpenClaw 內建的 tts tool:
tts({ text: "早安!今天想分享 Steve Jobs 的一句話..." })音色不會是主人的聲音,但流程可以先跑起來。
CHANNEL_ACCESS_TOKEN + USER_ID / GROUP_IDmessage tool 或 tts toolLINE 對語音和影片的格式有嚴格限制,格式不對會無法在聊天裡直接點開播放!
語音訊息(audio message):
| 項目 | 要求 |
|---|---|
| 格式 | M4A(.m4a)- AAC 編碼 |
| 來源 | 必須是 HTTPS 公開 URL(不接受本地檔案路徑) |
| duration | 必須提供毫秒數(如 21000 = 21 秒) |
| ❌ 不行 | MP3 直接發送(LINE 不支援 audio type 用 MP3) |
| ✅ 轉換 | ffmpeg -i input.mp3 -c:a aac -b:a 128k output.m4a -y |
影片訊息(video message):
| 項目 | 要求 |
|---|---|
| 格式 | MP4(.mp4)- H.264 視訊 + AAC 音訊 |
| 來源 | 必須是 HTTPS 公開 URL(支援 Range requests) |
| previewImageUrl | 必須提供影片預覽圖 URL(JPEG/PNG) |
| ❌ 不行 | ngrok + Python SimpleHTTPServer(不支援 Range requests,LINE 無法播放) |
| ✅ 可行 | ngrok + Node.js static server、HeyGen CDN URL、任何支援 Range requests 的 CDN |
公開 URL 方案:
LINE Push API 範例:
# 語音
curl -s -X POST https://api.line.me/v2/bot/message/push \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $LINE_CHANNEL_ACCESS_TOKEN" \
-d '{
"to": "YOUR_LINE_USER_ID",
"messages": [{
"type": "audio",
"originalContentUrl": "https://your-domain.com/daily-quote.m4a",
"duration": 21000
}]
}'
# 影片
curl -s -X POST https://api.line.me/v2/bot/message/push \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $LINE_CHANNEL_ACCESS_TOKEN" \
-d '{
"to": "YOUR_LINE_USER_ID",
"messages": [{
"type": "video",
"originalContentUrl": "https://your-domain.com/daily-quote.mp4",
"previewImageUrl": "https://your-domain.com/daily-quote-preview.jpg"
}]
}'不要用固定清單輪播!每天根據上下文 動態選擇 最有共感的名言。
每天 cron 執行時自動收集:
references/holidays.md)web_search 當天重大新聞(尤其 AI、科技、政策相關)從以下類別選擇主人和粉絲會有共感的人物:
| 類別 | 人物範例 |
|---|---|
| 科技先驅 | Alan Turing, Ada Lovelace, Nikola Tesla, Tim Berners-Lee, Grace Hopper |
| 科學家 | Einstein, Feynman, Marie Curie, Carl Sagan, Hawking |
| 區塊鏈/Web3 | Satoshi Nakamoto, Vitalik Buterin, Naval Ravikant |
| 創業家 | Steve Jobs, Elon Musk, Jeff Bezos, Marc Andreessen, Peter Thiel |
| 投資大師 | Warren Buffett, Charlie Munger, Ray Dalio |
| 東方智慧 | 老子, 孔子, 莊子, 王陽明 |
| 民主/領導 | Churchill, Mandela, MLK, Lincoln, 甘地 |
| 哲學家 | Marcus Aurelius, Seneca, Epictetus |
| 文藝/思想 | Leonardo da Vinci, Hemingway |
完整人物與名言範例見
references/quotes.md⚠️ 排除有重大醜聞/爭議的人物 ⚠️ 避免太政治敏感的人物(注意主人所在地的政治脈絡)
| 情境 | 加權方向 | 偏好類別 |
|---|---|---|
| 週一 | 激勵、新開始、行動力 | 創業家、領導者 |
| 週五 | 反思、展望、輕鬆 | 哲學家、科學家 |
| 週末 | 人生智慧、生活 | 東方智慧、哲學家 |
| AI 重大新聞 | 科技思考、人機關係 | Turing, Feynman, Hawking |
| 加密/Web3 新聞 | 去中心化、金融哲學 | Satoshi, Vitalik, Buffett |
| 國安/國際局勢 | 勇氣、韌性、準備 | Churchill, Lincoln, Mandela |
| 能源議題 | 科學、創新、永續 | Tesla, Curie, Sagan |
| 節日 | 與節日主題呼應的名人名言 | 教師節→孔子 等 |
| 普通日 | 人生智慧、好奇心 | Feynman, 老子, Marcus Aurelius |
web_search 確認原文正確性和出處memory/used-quotes.md(或你偏好的追蹤檔)生成 3-5 個候選名言,選最佳的一個。記錄選擇理由到日誌。
⚠️ 必須是「名人 + 名言」,不是祝賀詞 / 成語 / 諺語 語音稿開頭可加節日問候,但名言本身要有明確出處
⛔ 絕對不要把語音稿當文字訊息發送! 語音稿裡有
[short pause]等 TTS 標籤,這些只是給 sag 引擎用的,使用者看到會覺得壞掉了。 只發送:① 音訊檔 ② 靜態影片 ③ HeyGen+字幕影片。不要發送任何純文字訊息。
每日名言有 三份獨立的文稿,各有不同需求,不能互相混用:
| 稿件 | 用途 | 特色 |
|---|---|---|
| ElevenLabs 語音稿 | sag CLI 生語音 | 可用 [short pause], [excited] 等 TTS 情緒標籤 |
| HeyGen 影片稿 | 數位人影片台詞 | 中英文用換行 + 過渡句分隔,❌ 不能用 TTS 標籤 |
| ZapCap 字幕稿 | 影片字幕顯示 | 修 Whisper 錯誤 + punctuation 控制分頁 |
**流程:**選名言 → 寫語音稿 → sag 生成 → ffmpeg 轉 m4a → 發送(只發音訊檔,不發文字)
語音稿模板(含情緒標籤,僅供 TTS 引擎使用,絕不直接發送給使用者):
早安,我是{SPEAKER_NAME}。[short pause]
今天想分享{AUTHOR}的一句話:[short pause]
{QUOTE_ZH} [short pause]
{QUOTE_EN} [short pause]
{CLOSING_WORDS}[short pause] 等標籤只有 ElevenLabs 支援,其他平台不認得產生語音(範例):
# 1. 生成 MP3
ELEVENLABS_API_KEY="YOUR_ELEVENLABS_API_KEY" \
sag -v "YOUR_VOICE_NAME" \
--speed 0.95 --stability 1.0 --similarity 0.85 \
-o /tmp/daily-quote.mp3 "${SCRIPT}"
# 2. 轉換為 M4A(LINE 必須!MP3 不能直接在 LINE 聊天裡播放)
ffmpeg -i /tmp/daily-quote.mp3 -c:a aac -b:a 128k /tmp/daily-quote.m4a -y
# 3. 取得音訊長度(LINE audio message 需要 duration 毫秒數)
# 從 ffmpeg 輸出讀取,例如 time=00:00:21.16 → 21160 ms
# 或用 ffprobe:
ffprobe -v error -show_entries format=duration \
-of default=noprint_wrappers=1:nokey=1 /tmp/daily-quote.m4a
# → 乘以 1000 得到毫秒數📱 LINE 用戶注意:語音必須是 M4A 格式(AAC 編碼)才能在聊天裡直接點開播放。MP3 不行!詳見上方「LINE 媒體格式要求」。
⚠️ 超重要:
--input-image是讓 AI 重新生成新照片,不是去背剪貼!
⚠️ 封面圖主角 = 主人(不是 AI Agent!)
--input-image⚠️ 封面圖比例 = 直式 9:16
好的 prompt 範例:
Generate a vertical 9:16 portrait of this person wearing a traditional outfit,
standing in a festive scene with soft lantern lights. The person is smiling
confidently. Overlay elegant text: "{QUOTE_ZH} — {AUTHOR}".
Cinematic lighting, Instagram story style.壞的 prompt(不要用):
Paste this person onto a red background...
Cut out the person and place into the scene...
Use the AI agent character as the main subject...生成封面圖(範例,用 nano-banana-pro skill):
GEMINI_API_KEY="YOUR_GEMINI_API_KEY" \
uv run /opt/homebrew/lib/node_modules/openclaw/skills/nano-banana-pro/scripts/generate_image.py \
--prompt "YOUR_PROMPT" \
--input-image "/path/to/avatars/photo.jpg" \
--filename "/tmp/daily-quote-cover.png" \
--resolution 2K合成靜態影片(封面圖 + 語音 = 影片):
# 合成 MP4(H.264 + AAC)- LINE 可直接播放的格式
ffmpeg -loop 1 -i /tmp/daily-quote-cover.png -i /tmp/daily-quote.mp3 \
-c:v libx264 -tune stillimage -c:a aac -b:a 128k \
-pix_fmt yuv420p -shortest \
-vf "scale=720:1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2" \
/tmp/daily-quote-static.mp4 -y
# 截取預覽圖(LINE video message 必須提供 previewImageUrl)
ffmpeg -i /tmp/daily-quote-static.mp4 -vframes 1 -q:v 2 /tmp/daily-quote-preview.jpg -y📱 LINE 用戶注意:影片必須是 MP4 格式(H.264 視訊 + AAC 音訊),且需要透過支援 Range requests 的 HTTPS URL 提供,LINE 才能在聊天裡直接點開播放。同時必須提供預覽圖 URL。詳見上方「LINE 媒體格式要求」。
⚠️ HeyGen 影片稿是獨立的!不要直接複製 ElevenLabs 語音稿!
HeyGen 影片稿規則:
--language "en" 是 TTS 引擎參數(因為 clone voice 訓練語言是英文),不是要把口白改成英文![short pause] 等 ElevenLabs 標籤(HeyGen 不認得)⚠️⚠️ 中英文切換處理(關鍵!)
HeyGen TTS 在中英文切換時容易產生怪聲音或咬字不清。解法:
生命中沒有什麼值得恐懼的,只有需要理解的。
原文是這樣說的。
Nothing in life, is to be feared, it is only, to be understood.英文名言用逗號斷句(防止 TTS 黏字):
Nothing in life, is to be feared, it is only, to be understood.Nothing in life is to be feared it is only to be understood.英文人名前後加逗號:
今天分享,居禮夫人,的一句話。驗證:生成前把口白稿印出來檢查所有英文斷句
HeyGen 影片稿模板:
早安,我是{SPEAKER_NAME}。
今天想分享,{AUTHOR}的一句話。
{QUOTE_ZH}
原文是這樣說的。
{QUOTE_EN_WITH_COMMAS}
{CLOSING_WORDS}⚠️ 重要語音參數(A/B 測試確認最佳設定):
HEYGEN_API_KEY="YOUR_HEYGEN_API_KEY" \
python3 /path/to/heygen/generate_video.py \
--text "${SCRIPT_PLAIN}" \
--avatar-id "YOUR_AVATAR_ID" \
--voice-id "YOUR_HEYGEN_VOICE_ID" \
--speed 0.98 \
--emotion "Friendly" \
--language "en" \
--dimension "720x1280" \
--aspect-ratio "9:16" \
--output /tmp/daily-quote-heygen.mp4關鍵設定(缺一不可):
--speed 0.98 - 最自然的語速--emotion "Friendly" - 溫暖友善的語氣--language "en" - 即使中文內容也用 en(clone voice 原始訓練語言)如果沒有 HeyGen 帳號,直接跳過本段即可。
ZapCap 字幕稿是獨立於語音稿和影片稿的第三份文稿! 它只管「觀眾看到的字幕文字和分頁」。
如果有使用 ZapCap 加字幕,approve 前必須手動修正 transcript:
⚠️ Whisper 轉錄常見問題(每次都要檢查!):
Nothinginlifeistobefeared → 拆成 Nothing in life is to be fearedTheodoreRoosevelt → Theodore Roosevelt開始行動祝 → 開始 行動 祝⚠️ 字幕分頁控制(關鍵!):
ZapCap transcript 只支援 "type": "word" 和 "type": "punctuation" 兩種 type。
"type": "linebreak"(會回 400 Bad Request)punctuation type + "text": "。" 來強制換頁在以下位置插入 {"type": "punctuation", "text": "。", "start_time": X, "end_time": X, "confidence": 1}:
成功分頁範例(居禮夫人名言):
[頁1] 早安 我 是 葛如鈞
[頁2] 今天 想 分享 居禮夫人 的 一句 話
[頁3] 生命 中 沒 有 什麼 值得 恐懼 的
[頁4] 只有 需要 理解 的
[頁5] 現 在 是 時候 去 理解 更多
[頁6] 這樣 我們 才能 少 一些 恐懼
[頁7] 原文 是 這樣 說 的
[頁8] Nothing in life is to be feared, it is only to be understood.
[頁9] 面對 未知 不要 害怕 去 理解 它
[頁10] 祝 大家 週末 愉快完整修正流程:
punctuation 元素("。")PUT 更新 transcriptPOST approve → 等 render{
"name": "每日名言語音",
"schedule": { "kind": "cron", "expr": "0 6 * * *", "tz": "Asia/Taipei" },
"payload": {
"kind": "agentTurn",
"model": "anthropic/claude-sonnet-4",
"message": "請執行 daily-voice-quote:產生語音 + 靜態影片(選配 HeyGen),並送到 LINE。使用環境變數:YOUR_LINE_CHANNEL_ACCESS_TOKEN / YOUR_LINE_USER_ID / YOUR_AUDIO_PUBLIC_URL。"
}
}{
"name": "每日名言語音",
"schedule": { "kind": "cron", "expr": "0 6 * * *", "tz": "Asia/Taipei" },
"payload": {
"kind": "agentTurn",
"model": "anthropic/claude-sonnet-4",
"message": "請執行 daily-voice-quote:產生語音 + 靜態影片(選配 HeyGen),並用 message/tts 工具送到當前 channel。"
}
}Q1:沒有主人照片怎麼辦?
Q2:沒有 ElevenLabs 怎麼辦?
tts tool 先產生語音,但音色就不是主人的聲音。免費註冊 ElevenLabs 就能用自己的聲音!Q3:HeyGen 額度不足怎麼辦?
Q4:如何更換名言清單?
references/quotes.md,或在腳本中指定 QUOTES_FILE。Q5:LINE 聊天裡點語音/影片沒反應或無法播放?
scripts/send-daily-quote.sh:完整 bash 腳本(無硬編碼,全部用環境變數)references/quotes.md:名言清單references/holidays.md:節日清單© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/daily-voice-quote of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Daily Voice Quote next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Daily Voice Quote this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Hyperframes Mediachmonitor/chmonitor | 301 | 1 repos | ~2.8k | Automated safety check: Notes | GPL-3.0 | |
| Super Video MakerBomx/super-video-maker-skill | 310 | — | ~11k | Automated safety check: Notes | None | |
| Motion Videobestagentkits/motion-video-skill | 118 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Text To Speechcalesthio/OpenMontage | 66k | — | ~2.4k | Automated safety check: Pass | AGPL-3.0 | |
| AI Voiceoversocial-media-skills/skills | 134 | — | ~1.1k | Automated safety check: Pass | MIT |
chmonitor/chmonitor
Audio and media assets for HyperFrames compositions, produced by one shared audio engine (scripts/audio.mjs) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound…
Bomx/super-video-maker-skill
End-to-end AI video production skill for agentic frameworks.
bestagentkits/motion-video-skill
Produce beat-synced 1080p motion-graphic videos in HyperFrames (HTML + GSAP) with an AI voice-over, Vietnamese karaoke captions, SFX and generated music, in one of two proven styles (glass keynote…
calesthio/OpenMontage
Generate speech audio from text using HeyGen's Starfish TTS model.
social-media-skills/skills
The AI narration / voiceover mini-skill (ElevenLabs-led). An agent skill from social-media-skills/skills.
minhnv0807/ai-business-skills
Dung khi mot CA NHAN muon len hinh bang AI thay vi tu quay — pipeline avatar AI: 3 tier cong cu, 4 workflow gom avatar don, dich da ngon ngu, san xuat hang loat va hybrid nguoi that cong AI; nhan…
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Categories
每日名言語音任務。產生「語音 + 封面圖靜態影片 +(選配)HeyGen 數位人影片」並發送給主人. An agent skill from LeoYeAI/openclaw-master-skills. Daily Voice Quote is an agent skill from LeoYeAI/openclaw-master-skills.
Daily Voice Quote fits situations like: tasks that involve Text to speech and voice.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a claude-code`. Or copy the skill folder (skills/daily-voice-quote in LeoYeAI/openclaw-master-skills) into .claude/skills/daily-voice-quote in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a codex`. Or copy the skill folder (skills/daily-voice-quote in LeoYeAI/openclaw-master-skills) into .agents/skills/daily-voice-quote in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill daily-voice-quote -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/daily-voice-quote, .gemini/skills/daily-voice-quote, .github/skills/daily-voice-quote and .opencode/skills/daily-voice-quote in your project.
Going by SKILL.md and its folder, Daily Voice Quote needs a shell for the scripts in its folder, the command-line tools its instructions call (ffmpeg, curl, ffprobe, uv and python3) and credentials named ELEVENLABS_API_KEY, CHANNEL_ACCESS_TOKEN, LINE_CHANNEL_ACCESS_TOKEN and GEMINI_API_KEY. Our summary lists: Python 3; Node.js; A Bash shell; A credential in ELEVENLABS_API_KEY; A credential in GEMINI_API_KEY.
SKILL.md names 5 domains. In commands or code: api.line.me; the agent is likely to contact it when it follows the instructions. As links in the text: try.elevenlabs.io, heygen.com, api.elevenlabs.io and aistudio.google.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Daily Voice Quote is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Daily Voice Quote: Hyperframes Media (chmonitor/chmonitor, 301 stars), Super Video Maker (Bomx/super-video-maker-skill, 310 stars), Motion Video (bestagentkits/motion-video-skill, 118 stars) and Text To Speech (calesthio/OpenMontage, 66k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.