--- description: バンド名を受け取り、Web検索で情報を収集して whoisband.yyamashita.com の本番APIに登録する --- # バンド登録スキル 本番API(`https://whoisband.yyamashita.com`)に直接 POST してバンドとメンバーを登録する。 ## 使い方 ``` /register-band BAND_NAME ``` 例: `/register-band 東京事変` ## 手順 ### Step 1: 既存バンドの重複確認 ```bash curl -s "https://whoisband.yyamashita.com/api/bands" | python3 -c " import json,sys data=json.load(sys.stdin) name='$ARGUMENTS'.strip() matches=[b for b in data if b['name']==name or b['slug']==name.lower()] print('FOUND:' + json.dumps(matches) if matches else 'NOT_FOUND') " ``` 既に登録済みであればその旨をユーザーに伝えてスキップする。 ### Step 2: Web検索で情報収集 引数のバンド名を使い、WebSearch / WebFetch で以下を収集する: 1. `{バンド名} バンド 公式` で日本語検索 2. `{バンド名} band official site` で英語検索 3. Wikipedia ページが見つかれば WebFetch で詳細取得(メンバー・概要) 4. 公式サイトが見つかれば WebFetch で SNS リンクを収集 5. X アカウントは `{バンド名} band x.com OR twitter.com` で検索 収集対象: - **活動拠点** (area): 出身地・拠点都市(例: "東京", "大阪") - **ステータス** (status): 活動中→`active` / 活動休止→`hiatus` / 解散→`disbanded` - **説明** (description): 200字以内の概要文(日本語) - **リンク** (links): URL を下記 label で分類 - `official` 公式サイト / `x` X(Twitter) / `instagram` / `youtube` / `spotify` - `apple_music` / `wikipedia` / `soundcloud` / `bandcamp` / `tiktok` / `linktree` / `other` - **メンバー** (members): 名前と担当パート一覧 ### Step 3: 既存アーティストの確認 ```bash curl -s "https://whoisband.yyamashita.com/api/artists" ``` メンバー名と照合して既存/新規を振り分ける。 ### Step 4: 新規アーティストを登録(メンバーがいる場合) メンバーごとに順番に実行してUUIDを取得する: ```bash curl -s -X POST "https://whoisband.yyamashita.com/api/artists" \ -H "Content-Type: application/json" \ -d '{ "name": "メンバー名", "links": [], "message": "golive自動登録" }' ``` レスポンスの `id` フィールド(UUID)を控えておく。 ### Step 5: バンドを登録 取得したメンバーの UUID を使って band を POST する: ```bash curl -s -X POST "https://whoisband.yyamashita.com/api/bands" \ -H "Content-Type: application/json" \ -d '{ "name": "バンド名", "area": "活動拠点", "status": "active", "description": "説明文", "links": [ { "label": "official", "url": "https://..." }, { "label": "x", "url": "https://x.com/..." } ], "members": [ { "artist_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "role": "Vocal" }, { "artist_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "role": "Guitar" } ], "message": "golive自動登録" }' ``` `role` は複数パートを `"Vocal, Guitar"` のようにカンマ区切りで書ける。 使えるロール: Vocal, Guitar, Bass, Drums, Keyboard, DJ, Strings, Brass, Percussion, Programming, Manipulator, Turntable, Other ### Step 6: 結果確認 レスポンスの `id` からURLを生成してユーザーに提示: ``` 登録完了: バンド名 → https://whoisband.yyamashita.com/bands/of/{id} ``` slug 重複エラー(409)が出た場合は `slug` フィールドを追加して別の値を指定して再実行する。 ## 注意事項 - 情報が見つからないフィールドは省略(`area`, `description`, `links` はすべてオプション) - メンバー情報が一切取れない場合は `members` を空配列にしてバンドのみ登録する - 解散済みバンドは `status: "disbanded"` を設定する