mcpField
C
classical-887

classical-887

github.com/tdiminoその他4143 回インストール1 週間前に更新
リポジトリ

classical-887 について

NPR Composer API から WRHV 88.7 FM のプレイリストを取得し、楽曲の再生リンクを示すコマンドラインスキルです。任意の Spotify 機能で、プレイリストの作成、監査、整理、書き出しと操作履歴の確認ができます。

主な機能

  1. 01現在と最近の放送曲を表示
  2. 02放送履歴の検索と絞り込み
  3. 03Markdown と JSON のレポート生成
  4. 04Spotify プレイリストの作成と名前変更
  5. 05プレイリストの監査、書き出し、整理
  6. 06Spotify プレイリスト操作の記録

活用シーン

  1. 01最近放送された楽曲を探す
  2. 02再生リンク付きのプレイリストレポートを作る
  3. 03放送曲から Spotify プレイリストを作成
  4. 04所有する Spotify プレイリストを確認・整理

インストール

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

$npx skills add https://github.com/tdimino/claude-code-minoan --skill classical-887

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
references/
api-reference.md
spotify-setup.md
scripts/
classical_887.py

詳細

Classical 887

WRHV 88.7 FM(Classical WMHT)で現在放送中の曲を確認できます。ハドソンバレーのクラシック音楽局です。NPR Composer API に問い合わせて、リアルタイムのプレイリストデータを取得し、YouTube、Spotify、Apple Music、IMSLP、IDAGIO、Internet Archive、Musopen で聴くためのクリック可能なリンクを提供します。

使用する場面

  • 88.7 で現在放送中の曲を確認する
  • 聴き直すためのリンク付きで最近のトラックを取得する
  • Markdown のプレイリストレポートを作成する
  • ラジオで聴いた特定の曲を探す
  • ラジオのトラックから Spotify プレイリストを作成する
  • Spotify プレイリストの名前を変更する
  • 所有する Spotify プレイリストを監査する(一覧表示、検索、並べ替え)
  • 増え続けた Spotify プレイリストを整理する(安全な一括削除)
  • 整理する前にプレイリストのトラックデータを JSON にエクスポートする
  • プレイリスト操作履歴を確認する

前提条件

  • requests Python パッケージ(uv pip install --system requests)
  • API キーは不要です — NPR の公開 Composer API を使用します
  • Spotify 連携(任意): spotipy パッケージ(uv pip install --system spotipy)と Spotify Developer App の認証情報

使い方

# What's playing right now (default)
python3 ~/.claude/skills/classical-887/scripts/classical_887.py

# Last 10 tracks
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --recent 10

# Today's full playlist (pages through all tracks for today)
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period today

# Last week as Markdown report
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period week --markdown ~/Desktop/classical-week.md

# Last month as Markdown report
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period month --markdown ~/Desktop/classical-month.md

# Specific date (Valentine's Day)
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --date 2026-02-14

# Search for a composer across a date range
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period week --search bach

# Full performer details (album, label, catalog number)
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --recent 5 --verbose

# Raw JSON output
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --now --json

# Create Spotify playlist from today's tracks
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period today --spotify-playlist

# Add yesterday's tracks to the persistent playlist
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period yesterday --spotify-playlist

# Custom playlist name from a specific date
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --date 2026-02-14 --spotify-playlist "Valentine's Classical"

# Last week's Bach on Spotify
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period week --search bach --spotify-playlist "Bach on 88.7"

# Rename the default playlist
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-rename "Hudson Valley Classical"

# Rename a specific playlist with a new description
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-playlist "Bach on 88.7" --spotify-rename "Bach Collection" --spotify-description "Curated Bach from WRHV 88.7 FM"

# View playlist operation log as Markdown
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-log-report

# Audit all owned Spotify playlists
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-audit

# Audit with search filter and sort by track count
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-audit --search "Rediscover*" --sort tracks

# Dry run cleanup (preview only, no deletion)
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-cleanup "Rediscover*"

# Execute cleanup with safety cap
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-cleanup "Rediscover*" --confirm --max 10

# Export playlist tracks to JSON before cleanup
python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-export ~/Desktop/exports --search "Rediscover*"

パラメーター

フラグ説明デフォルト
--now現在放送中の曲を表示しますオン(他のモードが指定されていない場合)
--recent N直近の N 件のトラックを表示します(1–100)オフ
--date YYYY-MM-DD指定した日付の全トラックを取得しますオフ
--period PERIODtoday、yesterday、week、month のいずれかの期間のトラックを取得しますオフ
--search QUERY作曲家、曲、演奏者で結果を絞り込みますオフ
--verbose詳細情報をすべて表示します(アルバム、レーベル、カタログ、全演奏者)オフ
--json生の JSON 出力を表示しますオフ
--markdown [FILE]クリック可能なリンク付きの Markdown レポートを書き出しますclassical-playlist.md
--sort FIELDtime(新しい順)、duration(長い順)、composer(A–Z)で並べ替えますtime
--spotify-playlist [NAME]Spotify プレイリストを作成または更新しますClassical 88.7 FM
--spotify-rename NEW_NAME既存の Spotify プレイリストの名前を変更します(--spotify-playlist で現在の名前を指定しない限り、デフォルトでは Classical 88.7 FM の名前を変更します)オフ
--spotify-description DESC名前の変更時に新しい説明を設定します(--spotify-rename と併用)オフ
--spotify-log-reportプレイリスト操作ログを Markdown レポートとして表示しますオフ
--spotify-audit所有する Spotify プレイリストをすべて一覧表示します(--search および --sort と併用できます)オフ
--spotify-cleanup PATTERNグロブパターンに一致するプレイリストを削除します(--confirm がない場合はドライラン)オフ
--spotify-export [DIR]一致するプレイリストのトラックを JSON ファイルにエクスポートします.
--confirm整理を実行します(このオプションがない場合、--spotify-cleanup はプレビューのみです)オフ
--max N安全上限:1 回の実行で削除するプレイリストの最大数上限なし
--spotify-client-id IDSpotify アプリのクライアント ID(または SPOTIFY_CLIENT_ID 環境変数)—
--spotify-client-secret SECRETSpotify アプリのクライアントシークレット(または SPOTIFY_CLIENT_SECRET 環境変数)—

出力

デフォルトでは、作曲家、曲、演奏者、再生時間、聴取リンク(YouTube、Spotify、Apple Music、IMSLP、IDAGIO、Internet Archive、Musopen)が表示されます。

Markdown レポートには、現在放送中の曲のヘッダー、7 つのプラットフォームへのリンクを含む最近のトラック一覧、作曲家の索引が含まれます。

プレイリストログ

すべての --spotify-playlist 操作は、~/.claude/skills/classical-887/playlist-log.jsonl に JSONL エントリを自動的に追記します。各エントリには次の情報が記録されます。

  • 日付と操作(作成/追加)
  • プレイリスト名と Spotify URL
  • 追加されたトラック(作曲家、曲、演奏者、再生時間、Spotify URI)
  • Spotify で見つからなかったトラック
  • 合計数(一致/不一致)

--spotify-log-report でログを Markdown レポートとして表示できます。ログファイルは追記専用で、標準の jq コマンドで検索できます。

# Count total operations
wc -l ~/.claude/skills/classical-887/playlist-log.jsonl

# Show all playlist names used
cat ~/.claude/skills/classical-887/playlist-log.jsonl | jq -r '.playlist_name' | sort -u

# Total tracks matched across all operations
cat ~/.claude/skills/classical-887/playlist-log.jsonl | jq '.matched_count' | paste -sd+ | bc

データソース

NPR Composer API(api.composer.nprstations.org/v1/widget/)。WMHT のプレイリストウィジェット(classicalwmht.org/playlist)で使用されています。

API の全ドキュメント:references/api-reference.md

放送局情報

WRHV 88.7 FM(ニューヨーク州ポキプシー)、WMHT-FM 89.1(スケネクタディ)の同時放送です。放送局の詳細については、references/api-reference.md をご覧ください。

フォールバック

NPR Composer API が利用できない場合:

# Check the playlist page directly
firecrawl scrape "https://classicalwmht.org/playlist" --only-main-content

リファレンスドキュメント

ファイル内容
references/api-reference.mdNPR Composer API:エンドポイント、リクエスト/レスポンスのスキーマ、フィールドリファレンス
references/spotify-setup.mdSpotify Developer App のセットアップ、OAuth、環境変数、Dev Mode に関する注意事項

コメント