关于 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. 解析意图
三种模式:
- 明确指定:用户提到艺人或曲目 → 直接搜索
- 心情/活动:用户描述氛围 → 阅读 mood-mapping.md
- 结合知识库:用户说“根据我今天的情况” → 阅读
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
根据情境命名:包含心情和日期。结合知识库的示例:“Post-shipping Celebration — Mar 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