# Suno Loop

> Suno (suno.com/create) で楽曲生成をキューに追加し続けるスキル。 パラメータ(lyric mode / style / vocal gender)はハードコードせず、 リポジトリ直下の prompt.txt を毎回読み込んで使う。 テーマは既存曲と重複しない新しい詩的な内容を都度生成する。 Trigger: "suno", "曲を作り続けて", "suno loop", "queueに追加", "prompt.txtを使って生成".

- Skill: `hikaruegashira/suno-loop` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add hikaruegashira/suno-loop`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hikaruegashira/suno-loop/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: HikaruEgashira (https://skillmd.com/u/hikaruegashira)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hikaruegashira/suno-loop

---


# suno-loop

[Suno](https://suno.com) の作成画面 (https://suno.com/create) で `prompt.txt`
の設定に従い、楽曲生成を1件キューに追加する Claude Code スキル。
呼び出しごとに `prompt.txt` を読み直すため、ファイルの内容を変更すれば
それが次のイテレーションに反映される。

**役割はDJ。** 新曲を作ることが目的ではなく、常に再生が途切れない状態を
維持することが目的。生成した曲は作って終わりにせず、必ず再生キューに
積んでから次のイテレーションに進むこと。

ブラウザ操作には [claude-in-chrome](https://docs.claude.com) MCP ツール
(`tabs_context_mcp` / `navigate` / `computer` / `find` / `read_page` /
`browser_batch`) を使用する。Suno には事前に手動でログインしておくこと。

## 前提条件

- Chrome + claude-in-chrome 拡張機能が接続済みであること
- Suno アカウントにログイン済みであること
- 生成には Suno のクレジットを消費する（有料機能）。無限ループで実行する場合は
  クレジット消費・課金額を必ず自分で把握し、上限を決めてから実行すること

## パラメータファイル (prompt.txt)

スキルと同じディレクトリ（またはカレントディレクトリ）に `prompt.txt` を置く。
`prompt.example.txt` を参考にすること。

フォーマット例:
```
lyric (prompt mode): japanese, poem
style: tropical house, uk garage, syncopated, happy
vocal gender: female
```

- `lyric`: 歌詞モード。"prompt mode" と書かれていれば Suno の Lyrics を
  Prompt モードにし、詩的なテーマ文(トピック)を都度新しく書く。
  "write mode" なら歌詞全文を Write モードで書く。
- `style`: Suno の Styles 欄にそのまま入力する文字列（カンマ区切り）。
- `vocal gender`: `Male` / `Female` のどちらかをクリックする。

**呼び出しの都度ファイルを Read で再読込みすること。** 値が変わっている前提で動く。

## 手順（1イテレーション = 1回のCreate）

1. `prompt.txt` を Read し、lyric モード・style・vocal gender を取得する。
   ファイルが存在しない/パースできない場合は実行を止めてユーザーに報告する。
2. claude-in-chrome の主要ツール (tabs_context_mcp, navigate, computer, find,
   read_page, browser_batch) が未ロードなら ToolSearch でロードする。
3. `tabs_context_mcp` で既存タブを確認する。suno.com/create の既存タブが
   あれば再利用し、なければ `navigate` で開く。
3.5. **Queue パネルを必ず開いて中身を確認する。** Queue パネルはデフォルトで
   閉じており、かつ再生中の曲がない（プレーヤーバーが空）と表示できない。
   - 画面下部のプレーヤーバーに曲が表示されていなければ、曲一覧のいずれか
     （再生可能な曲）の Play ボタンをクリックして再生を開始する。
   - プレーヤーバー右側のアイコン列の一番左（≡▶ のようなアイコン、
     いいね/コメント/共有/音量アイコン群のさらに左）をクリックすると
     画面右に "Queue" パネルが開き、`Now playing` / `Next in queue` /
     `Next up` の3セクションが表示される。
   - ワークスペース曲一覧を見て、前回のイテレーションで生成完了した曲
     （一覧上部・スピナーではなく再生可能になっている曲）のうち
     `Next in queue` にまだ入っていないものがあれば、各曲の「...」メニュー
     → `Add to Queue` をクリックして追加する（生成される曲は通常2バリエー
     ションなので両方追加する）。
   - **クリックして終わりにしない。** 追加操作のたびに Queue パネルを
     再確認し、`Next in queue` に該当曲が実際に増えていることを目で見て
     確認する。トースト通知等の分かりやすいフィードバックはないため、
     パネルの中身を見る以外に成功を確認する手段はない。
   - `Next up` には全曲がフォールバックとして自動で並ぶため、そこにしか
     ないだけでは「キューに追加した」ことにならない。明示的に
     `Next in queue` に入れる。
4. スクリーンショットで画面状態を確認する。
   - `Advanced` モードになっていなければクリックして切り替える。
   - `More Options` が閉じていれば開く。
5. `Vocal Gender` を prompt.txt の値に合わせてクリックする。
6. `Styles` 欄をクリックして全選択 (`cmd+a` / `ctrl+a`) し、prompt.txt の
   style 値で上書き入力する。
7. `Lyrics` の Write/Prompt/Instrumental トグルを prompt.txt の lyric
   モードに合わせる。
8. ワークスペースの曲一覧に表示されている既存タイトル/テーマをざっと見て、
   重複しない新しい詩的なテーマ文を考え、`Lyrics` 欄
   (Prompt モードの場合はトピック説明欄)に入力する。
   - style の情景に合う情景（例: 海、光、ダンス、季節、解放感など）を選び、
     既出テーマの反復を避ける。
9. `Create` ボタンをクリックし、2秒待ってスクリーンショットを撮り、
   キューに追加されたこと（生成中を示すスピナーの新規エントリ）を確認する。
10. 画面左上のクレジット残高を確認する。1回の Create で通常 10 クレジット
    (2バリエーション) 消費する。**残高があらかじめ決めた下限を下回ったら
    以降の生成を行わず、ユーザーに報告して終了する。**
11. 進行中(スピナー)の曲数が多い場合は、Suno 側の同時生成上限を超えない
    よう次のイテレーションまで間隔を空ける。
12. **イテレーションの最後に再生が止まっていないか確認する。** プレーヤー
    バーが一時停止/無曲状態なら Play を押して再開する。DJ役として、次の
    イテレーションに移る前に必ず「何かが再生中」の状態にしてから終える。

## 継続ループにする場合

このスキル単体は1イテレーション(1回のCreate)のみ行う。
「停止するまで続けて」と指示された場合は Claude Code の `/loop`
(引数なし = 自己ペース)などの仕組みと組み合わせ、次回起動プロンプトとして
「suno-loop スキルを実行」を渡す。`prompt.txt` は次回起動時にも都度読み直
されるため、ループ実行中にファイルの内容を書き換えれば次のイテレーション
から反映される。

無限ループでの実行はクレジット消費(課金)が止まらないリスクがあるため、
必ず停止条件・上限を決めたうえで実行すること。

## 停止条件

- `prompt.txt` が存在しない、またはパースできない
- クレジット残高があらかじめ決めた下限を下回った
- Suno 側でエラー（Create ボタンが無効、エラーメッセージ表示、ログアウト状態など）
- ユーザーが停止を指示した

いずれかに該当したらループを終了し、状況をユーザーに報告する。

