braydoncoyer

Spotify History

資料分析v1.1.0
作者:braydoncoyer更新於 2026-05-11共 2 個版本 · 最新版本釋出於 2026-01-24spotify-history@clawhub_braydoncoyer/spotify-history
資料洞察使用者分析#Music

據 AlphaMoat 統計,截至 2026-09,Spotify History 累計下載 3,707 次、獲 4 個星標,在全部 5,078 個 AI 技能中排名第 2,896 位,在「資料分析」分類(399 個)中排名第 221 位。

累計安裝
136
累計下載
3707
星標
4
全站排名
#2,896
全站前 58% · 「資料分析」前 56%
平台累計安裝累計下載星標評論
ClawHub ↗12137074-
SkillHub ↗13637064—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

完成一次 OAuth 授權後,技能可查詢最近播放、按時間範圍檢視常聽藝人或曲目,並基於音樂偏好生成推薦。訪問令牌會儲存在本地並自動重新整理。請注意,授權範圍可能超過音樂歷史所需,原始 JSON 命令還可呼叫授權令牌允許的其他端點;客戶端憑據和令牌也會持久儲存在磁碟。請僅授予所需的最小許可權,在可信裝置上使用,保護憑據檔案,並在呼叫原始端點前確認資料範圍。

資料釋出於 2026-10-29

可以用來做什麼

  • 檢視最近播放記錄或分析音樂偏好

什麼時候用

  • 獲取常聽藝人、曲目並探索相似音樂推薦

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

配置 Spotify OAuth 後,在使用者請求時訪問其音樂資料

月度資料趨勢

累計下載3707
2568318037912026-03 · 累計下載 26522026-05 · 累計下載 31062026-06 · 累計下載 32412026-07 · 累計下載 34762026-08 · 累計下載 36262026-09 · 累計下載 370726-0326-09
星標4
3452026-03 · 星標 42026-05 · 星標 42026-06 · 星標 42026-07 · 星標 42026-08 · 星標 42026-09 · 星標 426-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-093707—4
2026-083626+4.3%4
2026-073476+7.3%4
2026-063241+4.3%4
2026-053106—4
2026-032652—4

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

4.6 KB · ClawHub v1.1.0
---
name: spotify-history
description: Access Spotify listening history, top artists/tracks, and get personalized recommendations via the Spotify Web API. Use when fetching a user's recent plays, analyzing music taste, or generating recommendations. Requires one-time OAuth setup.
---

# Spotify History & Recommendations

Access Spotify listening history and get personalized recommendations.

## Setup (One-Time)
展開全部(共 161 行)

### Quick Setup (Recommended)

Run the setup wizard:
```bash
bash skills/spotify-history/scripts/setup.sh
```

This guides you through:
1. Creating a Spotify Developer App
2. Saving credentials securely
3. Authorizing access

### Manual Setup

1. **Create Spotify Developer App**
   - Go to [developer.spotify.com/dashboard](https://developer.spotify.com/dashboard)
   - Click **Create App**
   - Fill in:
     - **App name:** `Clawd` (or any name)
     - **App description:** `Personal assistant integration`
     - **Redirect URI:** `http://127.0.0.1:8888/callback` ⚠️ Use exact URL!
   - Save and copy **Client ID** and **Client Secret**

2. **Store Credentials**

   **Option A: Credentials file (recommended)**
   ```bash
   mkdir -p credentials
   cat > credentials/spotify.json <<EOF
   {
     "client_id": "your_client_id",
     "client_secret": "your_client_secret"
   }
   EOF
   chmod 600 credentials/spotify.json
   ```

   **Option B: Environment variables**
   ```bash
   # Add to ~/.zshrc or ~/.bashrc
   export SPOTIFY_CLIENT_ID="your_client_id"
   export SPOTIFY_CLIENT_SECRET="your_client_secret"
   ```

3. **Authenticate**

   **With browser (local machine):**
   ```bash
   python3 scripts/spotify-auth.py
   ```

   **Headless (no browser):**
   ```bash
   python3 scripts/spotify-auth.py --headless
   ```
   Follow the prompts to authorize via URL and paste the callback.

Tokens are saved to `~/.config/spotify-clawd/token.json` and auto-refresh when expired.

## Usage

### Command Line

```bash
# Recent listening history
python3 scripts/spotify-api.py recent

# Top artists (time_range: short_term, medium_term, long_term)
python3 scripts/spotify-api.py top-artists medium_term

# Top tracks
python3 scripts/spotify-api.py top-tracks medium_term

# Get recommendations based on your top artists
python3 scripts/spotify-api.py recommend

# Raw API call (any endpoint)
python3 scripts/spotify-api.py json /me
python3 scripts/spotify-api.py json /me/player/recently-played
```

### Time Ranges

- `short_term` — approximately last 4 weeks
- `medium_term` — approximately last 6 months (default)
- `long_term` — all time

### Example Output

```
Top Artists (medium_term):
  1. Hans Zimmer [soundtrack, score]
  2. John Williams [soundtrack, score]
  3. Michael Giacchino [soundtrack, score]
  4. Max Richter [ambient, modern classical]
  5. Ludovico Einaudi [italian contemporary classical]
```

## Agent Usage

When user asks about music:
- "What have I been listening to?" → `spotify-api.py recent`
- "Who are my top artists?" → `spotify-api.py top-artists`
- "Recommend new music" → `spotify-api.py recommend` + add your own knowledge

For recommendations, combine API data with music knowledge to suggest similar artists not in their library.

## Troubleshooting

### "Spotify credentials not found!"
- Make sure `credentials/spotify.json` exists **or** environment variables are set
- Credential file is checked first, then env vars
- Run `bash skills/spotify-history/scripts/setup.sh` to create credentials

### "Not authenticated. Run spotify-auth.py first."
- Tokens don't exist or are invalid
- Run: `python3 scripts/spotify-auth.py` (or with `--headless` if no browser)

### "HTTP Error 400: Bad Request" during token refresh
- Credentials changed or are invalid
- Re-run setup: `bash skills/spotify-history/scripts/setup.sh`
- Or update `credentials/spotify.json` with correct Client ID/Secret

### "HTTP Error 401: Unauthorized"
- Token expired and auto-refresh failed
- Delete token and re-authenticate:
  ```bash
  rm ~/.config/spotify-clawd/token.json
  python3 scripts/spotify-auth.py
  ```

### Headless / No Browser
- Use `--headless` flag: `python3 scripts/spotify-auth.py --headless`
- Manually open the auth URL on any device
- Copy the callback URL (starts with `http://127.0.0.1:8888/callback?code=...`)
- Paste it back when prompted

## Security Notes

- Tokens stored with 0600 permissions (user-only read/write)
- Client secret should be kept private
- Redirect URI uses `127.0.0.1` (local only) for security

## Required Scopes

- `user-read-recently-played` — recent listening history
- `user-top-read` — top artists and tracks
- `user-read-playback-state` — current playback
- `user-read-currently-playing` — currently playing track

「資料分析」分類下的熱門技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。