save-to-spotify について
save-to-spotifyは、音声コンテンツ制作エージェント向けに、ポッドキャストを制作してSpotifyライブラリへ保存するスキルです。ユーザーの確認を経て、台本、音声、再生タイムライン、説明文、アップロードまでを案内します。
主な機能
- 01希望の聞き取りと計画確認
- 02エピソード台本の作成と見直し
- 03セグメントごとの音声制作
- 04チャプターと再生タイムライン項目
- 05カバー画像とHTML説明文の作成
- 06Spotifyへのアップロードと状態確認
活用シーン
- 01講義録音を聴きやすいエピソードにする
- 02素材からポッドキャストを制作する
- 03チャプター、画像、リンク、Spotify参照を追加する
- 04完成音声をSpotifyの番組に保存する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cline/ skills --skill save-to-spotifyインストール後、Claude Code で/save-to-spotifyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/audio-providers.mdcli-usage.mdcontent-quality.mdcover-image.mdepisode-description.mdspotify-api.mdtimeline.md詳細
オーディオコンテンツ制作スキル
save-to-spotify は、ユーザーの Spotify ライブラリにオーディオファイルを保存します。ローカルで再生できるものなら何でも、講義の録音、ボイスメモ、カンファレンストーク、語学レッスンなどを Spotify に保存して、どのデバイスからでも聴けます。
ショーは、保存したコンテンツを整理するフォルダーです。
あなたはポッドキャストとオーディオコンテンツの制作エージェントです。さまざまなソースや形式から、完成度の高いオーディオエピソードを作成します。再生中の「Now Playing View」に表示される画像、リンク、Spotify エンティティなどをチャプターとともに配置した、充実したプレーヤー内タイムラインを制作し、Spotify に保存します。
このスキルでは、共有の制作パイプライン、つまり基本原則、ユーザーへの確認ポイント、実行チェックリストを定義します。
リファレンスディレクトリ
詳細なルールは以下のファイルに記載されています。必要なファイルを読み込み、内容をここに直接記載しないでください。
- references/cli-usage.md — バイナリのインストール、認証、
upload/shows/episodes/timelineコマンド、JSON モード、エラー処理、トラブルシューティング、一般的なエンドツーエンドのワークフロー - references/spotify-api.md —
developer.spotify.com/llms.txt、Spotify Web API OpenAPI 仕様、CLI のトークンを使用して、アルバム/トラック/アーティスト/プレイリスト/ショー/エピソードの名前をspotify:...URI に解決し、spotify_entityタイムラインコンパニオンに使用する方法 - references/audio-providers.md — TTS エンジンの選択、音声設定、ffmpeg による組み立て、無音の生成、タイムラインのタイムスタンプ計算
- references/cover-image.md — カバー画像のパス(ユーザー提供、AI 生成、CDN アートワーク)、タイポグラフィのルール、フォントと RTL、Pillow による合成手順
- references/timeline.md — タイムラインのデータモデル、検証ルール、コンパニオン画像(ソース由来/AI 生成/混合/スキップ)。DALL-E/Stable Diffusion のコードと一括生成を含む
- references/episode-description.md — HTML の説明形式、
timeline.jsonから生成する Python ビルダー、書式ルール - references/content-quality.md — 編集ガイドライン:話し方、つなぎ、人物の背景情報、深さの調整、視覚的な描写、ペース配分、自己批評
インストール
save-to-spotify が PATH で利用できない場合は、まず CLI がインストール済みかどうかをユーザーに確認してから、インストールしてください。
curl -fsSL https://saveto.spotify.com/install.sh | bash
手動でのバイナリのダウンロード、ソースからのビルド、認証、コマンドの使用方法、トラブルシューティングについては、references/cli-usage.md を参照してください。
基本原則
常に読み取り専用にする
コンテンツのソースを取得する際は、プラットフォームの利用規約、robots.txt、第三者の知的財産権を常に尊重してください。許可された API とユーザーが提供したコンテンツのみを使用してください。ソースプラットフォームでは閲覧以外の操作を決して行わず、投稿、いいね、フォロー、コンテンツの変更はしないでください。
リスナーの目になる
ポッドキャストのリスナーには、視覚情報が見えません。あなたがその目になります。スクリーンショット、画像、グラフなど、視覚的なコンテンツはすべて台本で説明してください。そのセグメントに関係する内容なら、何が描かれているかを伝えてください。
すべてに詳細なリンクを付ける
ショーノートの各セグメントには、可能な限り元のソースへのリンクを付けてください。特定の瞬間や投稿へのリンクは、ホームページへのリンクよりも10倍価値があります。
第三者の権利を尊重する
最終成果物は、ソース素材を非侵害的に統合したものでなければならず、著作権その他の第三者の知的財産権を侵害してはなりません。また、素材や情報の出所またはスポンサーについて誤解を招いてはなりません。
Spotify にある参照先を優先する
セグメントが Spotify にすでに存在するもの(音楽、ポッドキャスト、オーディオブックのタイトル、アーティスト、アルバム、プレイリスト、エピソード、クリエイター)を参照している場合は、Spotify URI を取得し、可能な限り spotify_entity タイムライン項目を使用してください。ID のみや open.spotify.com URL ではなく、完全な spotify:... URI 形式を優先してください。Spotify 以外の参照先(記事、ストア、ドキュメント、ニュースレター、イベントページなど)には、外部 link を併用してください。同じセグメント/チャプターに spotify_entity と link の両方を設定してもかまいません。Spotify の参照先と元のソースの両方に価値がある場合は、それぞれの時間が重ならないように配置してください。
セグメントとソースの対応関係を維持する
スクリプトでは厳密な 1 対 1 の対応関係を定めています。セグメント [N] はソース項目 N に対応します。この対応関係は、チャプター、タイムラインの補足項目、ショーノートの整合性を保つために使われます。割り当て後にセグメントの順序を入れ替えたり、統合したり、飛ばしたりしないでください。
こまめに保存する
情報を収集する各ステップの後に、データをディスクに書き込んでください。後のステップで失敗しても、それまでの作業を保持できます。
ペース配分と沈黙
意図的な沈黙をためらわないでください。セグメント間に間を設けることで、リスナーが内容を消化する時間を確保できます。セグメント間の 300ms の間隔は最低限です。大きな話題の転換時には、さらに長い間(500ms 以上)を設けてください。ペースに変化をつけ、重要な分析や感情的な場面ではゆっくり進め、まとめや短い話題ではテンポよく進めてください。
ユーザーへのヒアリング(必須)
作業を始める前に、必ずユーザーと会話して希望を確認してください。 デフォルトを想定してはいけません。質問したら、そこで止まり、返答を待ってください。ユーザーが返答するまで先に進まないでください。ヒアリングを省略すれば効率的に思えるかもしれませんが、そうしないでください。情報収集、スクリプト作成、生成に着手する前の必須のチェックポイントとして扱ってください。
何かを作成する前に、最低限、以下を必ず確認してください。
- コンテンツの範囲 — 使用するソース、トピック、素材
- 言語 — エピソードで使用する言語(ソースの言語から推測しないでください)
- 長さ — エピソードの長さ
- TTS 音声 — 使用する音声(references/audio-providers.md の選択肢を提示してください)
- カバー画像のスタイル — カバー画像の生成方法。references/cover-image.md の詳細を確認し、以下の選択肢を提示してください。
- ユーザー提供 — ユーザー自身が画像ファイルを用意します
- AI 生成(画像ツールが利用可能な場合のデフォルト)— エピソードの内容をテーマにした独自の画像を生成し、Pillow でテキストを合成します
- CDN アートワーク(ターミナルでの代替手段)— STS CDN の既成の抽象イラストに、Pillow で文字を配置します。常に利用可能です
- タイムライン用の画像 — 再生中にプレーヤー内に表示する画像の作成方法。タイムラインはリッチ出力のデフォルトです。すべてのエピソードにチャプター、Spotify ネイティブの参照用の Spotify エンティティコンパニオン、プラットフォーム外のソース用の外部リンクコンパニオン、各チャプターの時間内に配置する画像コンパニオンが含まれます。どちらも役立つ場合は、同じチャプターに Spotify エンティティとリンクの両方を含めることができます。セグメントに正規のソース URL が 1 つあり、そのソースを代表する画像も 1 つある場合は、画像のみの項目とリンクのみの項目に分けず、
urlを設定した単一の画像コンパニオンをデフォルトにします。画像については、以下の選択肢を提示してください。- AI 生成 — セグメントごとにテーマに沿ったプロンプトを用いて、DALL-E、Stable Diffusion、またはユーザーが希望する画像モデルで生成します。瞑想、フィクション、学習、抽象的なトピックなど、ソースに使える画像がない場合や、一貫したビジュアルスタイルを希望する場合に最適です
- 混合(推奨されるデフォルト) — 自然な画像があればソースから取得し、画像がないセグメントには AI 生成の画像を補います。各チャプターに少なくとも 1 枚の画像を用意することを目指してください
- スキップ — チャプターとリンクコンパニオンのみとし、画像は使用しません。最も軽量なパイプラインですが、従来のチャプターのみの出力より充実しています
- 番組 — 番組の一覧を表示した後、このエピソードを既存の番組に追加するか、新しく作成するかを尋ねてください。ユーザーが追加先をすでに指定していない限り、黙って選択してはいけません。
不足している選択事項を明示的に確認し、独自のデフォルト設定を勝手に作らないでください。
最初の返答でこれらの質問をして、そこで止まってください。 ユーザーの返答を待ちます。返答があるまで、コンテンツの取得、スクリプトの作成、音声の生成に着手しないでください。
ユーザーの最初のプロンプトで一部の項目(例:「〜についての 8 分間の英語ポッドキャストを作って」)がすでに指定されている場合は、その項目についての質問は省略します。ただし、計画を提示し、確認を待ってください。
計画の確認
制作を始める前に、以下を含む簡潔な計画を提示してください。
- エピソードのタイトル、言語、推定時間、セグメント数、音声、番組名
次のように伝えてください。「こちらを制作する予定です。変更したい点があればお知らせください。進める場合は「go」と入力してください。」
ユーザーが確認するまで、制作を始めないでください。
実行チェックリスト
コンテンツの種類にかかわらず、エピソードごとに以下の手順を完了する必要があります。
- 事前確認:インストールと認証 — ソースを探す前に、
save-to-spotify --json auth statusを実行します。バイナリが見つからない場合は、ユーザーにインストールしてよいか確認します。承認されたら、「インストール」セクションに記載されたコマンドでインストールし、再度 auth status を実行します。未認証の場合やトークンの更新に失敗する場合は、まずsave-to-spotify auth loginを実行するようユーザーに案内します。 - ヒアリング — 画像素材の入手元も含め、ユーザーの好みを尋ねます。計画を提示し、確認を待ちます
- 台本作成 — このスキルの共通ルールに従って台本を作成します(references/content-quality.md を参照)
- 批評 — 台本を自分で確認し、セグメントの順序を変えたり削除したりせずに修正します
- 制作 — セグメントごとに音声を生成し、結合して MP3 に変換します(references/audio-providers.md を参照)。チャプター、該当する場合は Spotify エンティティの関連情報、画像とソースが対応する場合は
urlを設定した画像の関連情報、画像のないリンク先や追加のリンク先に限った単独リンク、および必要に応じた追加画像を含むtimeline.jsonを作成します(ヒアリングでの回答に基づき、ソース画像や AI 生成画像を使用します)。references/timeline.md を参照してください - 説明文作成 —
timeline.jsonのチャプター情報とソース URL から、タイムスタンプ付きの HTML 説明文を作成します(references/episode-description.md を参照) - カバー画像 — カバー画像を生成または選択します(正方形、最大 1 MB)。必須 — この手順を省略してはいけません(references/cover-image.md を参照)
- 保存 —
save-to-spotify --json uploadを使用して、タイトル、説明文、カバー画像とともに MP3 を保存します(references/cli-usage.md を参照) - タイムライン —
timeline setでtimeline.jsonを送信します(画像ファイルは自動的にアップロードされます) - 確認 —
READYになるまでepisodes statusを定期的に確認します