mcpField
S
Spotify Automation

Spotify Automation

github.com/claude-office-skillsクリエイティブ・メディア5454.6k 回インストール39 週間前に更新
リポジトリ

Spotify Automation について

Spotify Automation は、Spotify の再生、プレイリスト管理、音楽の探索、音響分析を自動化するスキルです。API 操作に加え、デイリーミックスやパーティー用プレイリストのワークフロー例を紹介します。

主な機能

  1. 01再生と音量の操作
  2. 02プレイリスト作成と曲の管理
  3. 03曲、アーティスト、ジャンルからのレコメンド
  4. 04音響特徴の分析

活用シーン

  1. 01再生、シャッフル、音量の操作
  2. 02プレイリストの作成と更新
  3. 03曲やジャンルを起点にした音楽探し
  4. 04デイリーミックスやパーティー用ワークフローの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/claude-office-skills/skills --skill spotify-automation

インストール後、Claude Code で/spotify-automationを入力して読み込まれたか確認します。

詳細

Spotify オートメーション

Spotify の音楽再生、プレイリスト管理、音楽発見ワークフローを自動化します。

主な機能

再生コントロール
playback_commands:
  - play_track: "spotify:track:xxx"
  - pause
  - next_track
  - previous_track
  - set_volume: 75
  - set_shuffle: true
  - set_repeat: "context"  # track, context, off
  - seek_position: 30000  # milliseconds
  - transfer_playback:
      device_id: "device_xxx"
プレイリスト管理
playlist_operations:
  create:
    name: "{{playlist_name}}"
    description: "{{description}}"
    public: false
    collaborative: false
    
  add_tracks:
    playlist_id: "xxx"
    tracks:
      - "spotify:track:xxx"
      - "spotify:track:yyy"
    position: 0  # optional
    
  smart_playlist:
    name: "Workout Mix"
    criteria:
      energy: "> 0.8"
      tempo: "> 120"
      genres: ["electronic", "pop"]
    limit: 50
    refresh: weekly
音楽の発見
recommendations:
  seed_tracks: ["track_id_1", "track_id_2"]
  seed_artists: ["artist_id"]
  seed_genres: ["pop", "rock"]
  
  target_features:
    energy: 0.8
    danceability: 0.7
    valence: 0.6  # positiveness
    
  limit: 20
オーディオ分析
audio_features:
  - acousticness: 0.0-1.0
  - danceability: 0.0-1.0
  - energy: 0.0-1.0
  - instrumentalness: 0.0-1.0
  - liveness: 0.0-1.0
  - loudness: -60 to 0 dB
  - speechiness: 0.0-1.0
  - tempo: BPM
  - valence: 0.0-1.0 (mood)
  - key: 0-11 (C to B)
  - mode: 0 (minor) or 1 (major)

ワークフローの例

デイリーミックスジェネレーター
workflow:
  trigger: daily at 6:00 AM
  steps:
    - get_recently_played: 50
    - analyze_mood: based_on_audio_features
    - get_recommendations: 
        based_on: recent_tracks
        mood: current_time_appropriate
    - create_playlist: "Today's Mix - {{date}}"
    - add_tracks: recommended
パーティーモード
party_playlist:
  trigger: "party mode"
  actions:
    - get_top_tracks:
        time_range: medium_term
        limit: 20
    - get_recommendations:
        seed: top_tracks
        energy: "> 0.8"
        danceability: "> 0.7"
    - shuffle_and_play
    - set_crossfade: 5  # seconds

API の例

// Search and Play
const results = await spotify.search("Bohemian Rhapsody", ["track"]);
await spotify.play({ uris: [results.tracks.items[0].uri] });

// Create Smart Playlist
const recs = await spotify.getRecommendations({
  seed_genres: ["chill"],
  target_energy: 0.4,
  limit: 30
});
const playlist = await spotify.createPlaylist("Chill Vibes", {
  description: "AI-curated relaxation",
  public: false
});
await spotify.addTracksToPlaylist(playlist.id, recs.tracks.map(t => t.uri));

ベストプラクティス

  1. レート制限:Spotify API の制限を守ります
  2. キャッシュ:頻繁にアクセスするデータをキャッシュします
  3. ユーザーの同意:適切なスコープをリクエストします
  4. フォールバック:利用できないトラックを適切に処理します

コメント