spoti-cli について
spoti-cliは、Spotifyのコマンドライン操作による検索、推薦生成、プレイリスト作成を案内するスキルです。指定されたアーティストや曲を探すほか、気分や日記に基づくプレイリスト作成にも対応します。
主な機能
- 01アーティストと曲の検索
- 02シードや属性に基づく推薦生成
- 03プレイリストの作成と管理
- 04構造化されたJSON出力
- 05気分や日記に基づく選曲
活用シーン
- 01指定アーティストや曲に関連する楽曲を検索
- 02気分や活動に合わせたプレイリストを作成
- 03日記の感情の手掛かりからプレイリストを作成
- 04プレイリスト一覧の確認や既存リストへの曲追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ crafter-station/ skills --skill spoti-cliインストール後、Claude Code で/spoti-cliを入力して読み込まれたか確認します。
同梱ファイルreferences/mood-mapping.md
詳細
spoti-cli
前提条件
認証状態を確認します:spoti-cli me --json。失敗する場合:
- インストールします:
bun add -g @crafter/spoti-cli spoti-cli authを実行します。使用するダッシュボードの正確なURL、リダイレクトURI(http://127.0.0.1:8888/callback)、API のチェックボックス(Web API)が表示されます- ID を取得したら、
spoti-cli auth --client-id <CLIENT_ID>を再実行します
CLI が Spotify ダッシュボードの設定手順を案内します。手順を自分で繰り返さず、spoti-cli auth を実行するよう案内し、出力内容をそのまま貼り付けてもらいます。
ワークフロー
1. 意図を解析する
3 つのモードがあります:
- 明示的:ユーザーがアーティストやトラックを指定した場合 → 直接検索します
- 気分・アクティビティ:ユーザーが雰囲気を説明した場合 → mood-mapping.md を読みます
- Vault を参照:ユーザーが「今日の自分に基づいて」と言った場合 →
02_Journal/daily/{YYYY-MM-DD}.mdを読み、mood-mapping.md から気分のシグナルを抽出します
2. シードを見つける
spoti-cli search "Radiohead" --type artist --limit 5 --json
spoti-cli search "Everything In Its Right Place" --type track --limit 3 --json
結果から id フィールドを抽出します。
3. おすすめを取得する
spoti-cli recommend --seed-artists ID1,ID2 --seed-genres ambient --energy 0.3 --valence 0.4 --limit 25 --json
シードは合計最大 5 件です(アーティスト、ジャンル、トラックを合算)。調整可能な属性については、mood-mapping.md を参照してください。
4. プレイリストを作成する
spoti-cli create "Deep Work — Mar 24" --description "Focus music" --tracks URI1,URI2,... --json
状況に合った名前を付けます。気分と日付を含めます。Vault を参照する場合の例:「出荷完了のお祝い — 3 月 24 日」。
5. Spotify で開く
open "spotify:playlist:{PLAYLIST_ID}" 2>/dev/null || open "https://open.spotify.com/playlist/{PLAYLIST_ID}"
作成後は必ずプレイリストを開きます。まず Spotify デスクトップアプリ(URI スキーム)を試し、デスクトップアプリを利用できない場合はウェブ版に切り替えます。
6. 結果を報告する
プレイリストの URL、シードの選定理由の概要、トラック数を返します。
コマンド
| コマンド | 例 |
|---|---|
search | spoti-cli search "query" --type track --limit 10 --json |
recommend | spoti-cli recommend --seed-genres pop --energy 0.8 --limit 20 --json |
create | spoti-cli create "Name" --tracks URIs --public --json |
playlist list | spoti-cli playlist list --limit 10 --json |
playlist get | spoti-cli playlist get ID --json |
playlist add | spoti-cli playlist add ID --tracks URIs |
me | spoti-cli me --json |
すべてのコマンドは、構造化された出力を得るための --json に対応しています。
コメント
Markdown 対応