Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add unbias38/my-claude-skills --skill music-disc-videogit clone --depth 1 https://github.com/unbias38/my-claude-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/unbias38/my-claude-skills/music-disc-video)<a href="https://agentmods.dev/skills/unbias38/my-claude-skills/music-disc-video"><img src="https://agentmods.dev/badge/skills/unbias38/my-claude-skills/music-disc-video/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/unbias38/my-claude-skills/music-disc-video"><img src="https://agentmods.dev/badge/skills/unbias38/my-claude-skills/music-disc-video.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00236 | $0.03374 |
| Opus 5 | $0.00118 | $0.01687 |
| Sonnet 5 | $0.00047 | $0.00675 |
| Haiku 4.5 | $0.00024 | $0.00337 |
Grade A, and why
music-disc-video scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.
music-disc-video:一首歌 → 旋轉碟片 + 滾動歌詞
把「封面圖 + 音樂 + 歌詞」做成:
- 單一 HTML 檔 —— 雙擊就能播,圖跟音樂都內嵌,複製到任何電腦都不會破
- MP4 影片 —— 1920×1080 / 1080×1920 / 1080×1080,可直接上傳社群
第一次使用先做這個
python3 <SKILL_DIR>/scripts/env.py
會檢查 numpy、Pillow、中文字型、ffmpeg 有沒有齊。有 ✗ 的照著它給的指令裝。
Windows 上通常沒有
python3這個指令,本文所有python3都改成python。 跑起來說「找不到 python3」就是這個原因,不是環境壞了。
工作流(給 Claude 跟著做)
💡
<SKILL_DIR>是本 SKILL.md 所在的資料夾。 ⚠️ 所有產出都寫進使用者的歌曲資料夾,不要寫進 skill 資料夾。
步驟 1:確認素材,建立歌曲資料夾
跟使用者要三樣東西,放進同一個資料夾:
| 素材 | 說明 |
|---|---|
| 封面圖 | .png / .jpg,正方形最好(會同時當背景、封面、碟片) |
| 音樂 | .mp3 |
| 歌詞 | .srt / .lrc / 純文字都可以,沒有時間軸也沒關係(見步驟 2) |
然後在該資料夾建立 project.json:
{
"title": "歌名",
"subtitle": "英文副標或留空",
"art": "cover.png",
"audio": "song.mp3",
"lyrics": "lyrics.txt",
"layout": "16x9",
"out_prefix": "musicdisk"
}
layout 要問使用者想要哪一種(用 AskUserQuestion):
| 值 | 尺寸 | 適合 |
|---|---|---|
16x9 |
1920×1080 | YouTube、電腦螢幕、上課投影 |
9x16 |
1080×1920 | IG Reels、抖音、YouTube Shorts |
1x1 |
1080×1080 | IG 貼文 |
16x9-solo 9x16-solo 1x1-solo |
同上 | 純音樂版(無歌詞,碟片放大置中) |
純音樂版不需要 lyrics 欄位。
步驟 2:歌詞沒有時間軸的話,先對時
有兩條路。先建議方法 A,使用者做不到才走方法 B。
方法 A:請 Gemini 直接聽出時間軸(快,優先推薦)
叫使用者到 Google AI Studio 上傳這首歌的音檔或影片,送出這段 prompt:
請提取這部影片的完整字幕,格式要求如下:
1. 使用 SRT 字幕格式
2. 每一句話(以句號、問號、感嘆號為斷句點)獨立一條,不要把多句話合併
3. 時間軸精確到秒,格式為 HH:MM:SS,毫秒 --> HH:MM:SS,毫秒
4. 不要用時間區間概括一整段,要逐句對應
輸出範例:
1
00:00:01,000 --> 00:00:03,500
第一句話。
2
00:00:03,500 --> 00:00:05,200
第二句話。
把輸出存成 .srt 放進歌曲資料夾、更新 project.json 的 lyrics 就好 ——
標準 SRT 是 lyrics.py 原生支援的格式,不用再轉檔。
第 2 點(逐句斷開)和第 4 點(不要用區間概括)是關鍵: 少了它們,模型很容易回一整段配一個大時間區間,那樣歌詞會整段整段跳、不會逐句走。
拿到之後一定要在步驟 4 的網頁版驗收。 唱歌的咬字和拖拍跟講話不一樣, 模型抓的時間點常常偏早或偏晚一點,尤其是前奏後的第一句和轉折句。 偏移不大的話直接在歌詞檔上手改幾句最快。
方法 B:手動敲拍對時(方法 A 不能用時的備案)
python3 <SKILL_DIR>/scripts/timetap.py <歌曲資料夾>
會產生「敲拍對時.html」。主動幫使用者打開它,並說明:
播放後每唱到一句新歌詞就敲一下空白鍵,敲錯按 Backspace,
標完按「匯出歌詞檔」。然後把下載到的檔案放回資料夾、更新 project.json 的 lyrics。
What ships with it
27 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 220 B
- assets/template.html 20 KB
- assets/timetap.html 8.8 KB
- layouts/_generate.py 6.3 KB runs code
- layouts/16x9-solo.json 5.1 KB
- layouts/16x9.json 4.3 KB
- layouts/1x1-solo.json 5.1 KB
- layouts/1x1.json 5.6 KB
- layouts/9x16-solo.json 5.1 KB
- layouts/9x16.json 5.6 KB
- README.md 8.0 KB
- scripts/autotune.py 12 KB runs code
- scripts/build_html.py 5.5 KB runs code
- scripts/env.py 7.1 KB runs code
- scripts/layout.py 16 KB runs code
- scripts/lyrics.py 8.7 KB runs code
- scripts/prepare.py 7.8 KB runs code
- scripts/render_video.py 27 KB runs code
- scripts/spectrum.py 6.3 KB runs code
- scripts/timetap.py 3.0 KB runs code
- scripts/webshot.py 5.6 KB runs code
- tests/fixture/cover.png 278 KB
- tests/fixture/lyrics.txt 416 B
- tests/fixture/project.json 204 B
- tests/fixture/tone.mp3 141 KB
- tests/make_fixture.py 4.8 KB runs code
- tests/regress.py 6.6 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 263 lines · 236 tokens per session scan A 29eaebd3a1a2
music-disc-video is a skill published in the GitHub repository unbias38/my-claude-skills (2 stars, last pushed 17d ago), licensed MIT. It adds 236 tokens to every session and 3,374 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
stuck
Diagnoses a broken course setup by reading the folder, so the student never has to describe the problem in English. Takes no argument. Reports which class they are on and which files are filled, then names one blocker and one fix: Claude Code opened at the wrong level, .claude/skills/ missing, skills not loading…
grill-me
One move you can run on anything: point grill-me at a target and it makes you defend your thinking from first principles until the true matter is clear. Point it at your working contract and it rewrites the weak lines in place. Point it at a brief and it produces a Requirements Handshake. Point it at research, an…
information-architecture
Map the user journey first, then derive the screen inventory, navigation and hierarchy from it, flagging any screen that serves no journey step. Writes the four-part markdown plus an HTML diagram of the step-to-screen mapping. Use after the brief is settled and before tokens or UI.
persona-acid-test
Stress-test a design through three lenses, confused user, skeptical engineer and impatient PM, before it goes to a stakeholder. Requires an actual design, an HTML file, Figma link or screenshot.
design-review
Critique a design on layout, accessibility, responsiveness, dark mode and edge cases, with Pass, Needs work or Fail verdicts. Use on a built screen.
design-tokens
Establish color, typography, spacing, radius and motion as named role-based tokens. Use before building any interface.