关于 Spotify Automation
Spotify Automation 是一项自动化 Spotify 播放、歌单管理、音乐发现和音频分析的技能。它介绍了基于 API 的操作,并给出每日混音和派对歌单等工作流示例。
主要功能
- 01播放与音量控制
- 02创建歌单及管理曲目
- 03根据曲目、艺人或流派获取推荐
- 04分析音频特征
适用场景
- 01控制播放、随机播放和音量
- 02创建及更新歌单
- 03根据种子曲目或流派发现音乐
- 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));
最佳实践
- 速率限制:遵守 Spotify API 限制
- 缓存:缓存经常访问的数据
- 用户同意:请求适当的权限范围
- 备用方案:妥善处理不可用的曲目
评论
支持 Markdown