| name | suggest-songs |
| description | medley-generator の既存曲プールの傾向をもとに、ボカロ / J-POP / J-ROCK から メドレー向きの曲をサジェストするスキル。「曲をサジェストして」「おすすめの曲を教えて」 「〇〇(アーティスト名)でいくつか提案して」「夏っぽい曲ない?」「他にも曲追加したい」 など、追加する曲の候補を求められたら必ずこのスキルを使う。 既存曲との重複を必ず避け、選ばれた曲は manage-songs スキルで追加する。 |
suggest-songs
src/data/songs.json の傾向を読んで、次に足すと嬉しい曲を提案するスキル。
推薦して終わりではなく、選ばれた曲を manage-songs で実際に追加するところまでが仕事。
進め方
1. プールの傾向を掴む(必ず最初に)
node .claude/skills/suggest-songs/scripts/profile.mjs
総数 / mastery内訳 / 複数曲あるアーティスト / タグ分布 / 1曲だけのアーティスト が出る。
複数曲あるアーティストほど好みが強く出ているので、その周辺(同アーティストの別曲、
同系統の作家)は当たりやすい。
重複チェック用の全曲一覧はこれ:
node .claude/skills/suggest-songs/scripts/profile.mjs --titles
2. 候補を選ぶ
ユーザーの指定(アーティスト名・ジャンル・「夏っぽい」等のテーマ・曲数)に沿って選ぶ。
指定がなければ ボカロ / J-POP / J-ROCK からバランスよく。
選ぶときの基準:
- 既存と重複しない(1 の一覧と必ず突き合わせる。表記ゆれも見る)
- プールの傾向に沿う: このプールはボカロが主軸で、アニソン・J-POP が続く。
弾き語り/メドレーで映える有名曲が中心
- 偏りすぎない: 同一アーティストばかりにせず、時代(黎明期〜近年)や
作風を散らす。ユーザーが特定アーティストを指定した場合はその限りではない
- 既に多いアーティスト(Deco*27・ヨルシカ等)は「まだ入っていない代表曲」を狙う
3. 作者名を DB で裏取りする(引けるなら)
「この曲はこのPの曲」という紐付けは記憶で書くと外す。 実際にロウワーを
ツミキ(正しくは ぬゆり)、エゴロックを ツミキ(正しくは すりぃ)として挙げて、
2回とも登録時に DB で気づいた。曲そのものは合っていても、提案の時点で
アーティスト名が違うとユーザーが別の曲だと思って選んでしまう。
ship-song-prs のスクリプトで、候補をまとめて引ける:
python3 -c "
import sys; sys.path.insert(0,'.claude/skills/ship-song-prs/scripts')
import jwid, time
jwid.start()
for t in ['ロウワー', 'エゴロック', 'ダーリンダンス']:
for r in jwid.rows(jwid.search(t, match=jwid.EXACT))[:3]:
print(t, '->', r[2], '| 著作者:', r[3], '| アーティスト:', r[4])
time.sleep(1)
"