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. 备用方案:妥善处理不可用的曲目

评论

支持 Markdown