diff --git a/.opencode/skills/suno/SKILL.md b/.opencode/skills/suno/SKILL.md index e061c4c..a65677e 100644 --- a/.opencode/skills/suno/SKILL.md +++ b/.opencode/skills/suno/SKILL.md @@ -24,9 +24,36 @@ HTTPS_PROXY=http://proxy:8080 HTTP_PROXY=http://proxy:8080 ``` +## Режимы генерации + +`customMode` определяет, КТО управляет созданием трека: + +| Режим | `customMode` | Кто делает музыку | `prompt` | `style`/`title` | +|---|---|---|---|---| +| **Простой** *(по умолчанию)* | `false` | Suno генерирует всё сама | Да (идея, до 500 симв.) | Не нужно | +| **Кастомный** | `true` | Агент пишет текст и стиль | Да (точный текст, до 3000/5000) | Обязательно | + +### Простой режим (customMode: false) — по умолчанию + +**Агент по умолчанию всегда использует этот режим.** Пользователь говорит идею — агент передаёт её в `prompt`, Suno сама пишет текст, аранжировку и всё остальное: + +``` +suno_generate_music + prompt: "Энергичный рок-трек о восхождении на гору, мужской вокал" + customMode: false + instrumental: false + model: "V4_5ALL" +``` + +Плюсы: быстро, дёшево, Suno отлично справляется сама. До 500 символов в `prompt`. + +### Кастомный режим (customMode: true) — когда нужен точный контроль + +Агент сам пишет текст с мета-тегами `[Verse]`, `[Chorus]` и описывает стиль. Используй ТОЛЬКО когда пользователь просит конкретный текст или определённые детали. Подробнее в [Prompt Engineering Guide](#prompt-engineering-guide). + ## Основные сценарии -### 1. Сгенерировать песню с нуля +### 1. Сгенерировать песню (простой режим, по умолчанию) ``` suno_generate_music @@ -36,28 +63,7 @@ suno_generate_music model: "V4_5ALL" ``` -Вернёт `taskId`. Затем нужно подождать и вызвать: - -``` -suno_get_task_status - taskId: "..." -``` - -Результат: 2 трека с `audio_url`, `title`, `tags`, `duration`, `prompt`. - -### 2. Сгенерировать песню в кастомном режиме - -``` -suno_generate_music - prompt: "[Verse] Ночной город, огни витрин..." - customMode: true - instrumental: false - style: "Synthwave, cinematic, 80s" - title: "Neon Rain" - model: "V4_5" -``` - -В `customMode: true` поля `style` и `title` обязательны. Если `instrumental: false` — ещё и `prompt` (он станет точным текстом песни). +Вернёт `taskId`. Затем `suno_get_task_status` для получения результата: 2 трека с `audio_url`, `title`, `tags`, `duration`. ### 3. Получить текст песни @@ -168,6 +174,8 @@ suno_get_task_status ## Prompt Engineering Guide +Этот раздел — **только для `customMode: true`**, когда пользователю нужен точный контроль над текстом и стилем трека. По умолчанию используй [простой режим](#простой-режим-custommode-false--по-умолчанию) с `customMode: false`. + Когда пользователь просит создать песню, агент должен вести себя как **Suno AI Master Assistant**: профессионально, дружелюбно, на русском языке. Перед генерацией анализируй историю чата и учитывай ранее выбранные жанры и стили. ### Три обязательных блока промпта @@ -333,8 +341,14 @@ suno_generate_music ### Проверка перед отправкой -- [ ] `customMode`, `instrumental`, `model` указаны -- [ ] Для `customMode: true` заполнены `style` и `title` +**Простой режим (`customMode: false`, по умолчанию):** +- [ ] `customMode: false`, `instrumental`, `model` указаны +- [ ] `prompt` — хорошее описание идеи (до 500 символов) +- [ ] `style` и `title` оставлены пустыми (не нужны) + +**Кастомный режим (`customMode: true`, только по запросу):** +- [ ] `customMode: true`, `instrumental`, `model` указаны +- [ ] `style` и `title` заполнены - [ ] Для вокального трека (`instrumental: false`) заполнен `prompt` с текстом - [ ] `style` не превышает лимит символов для выбранной модели - [ ] `negativeTags` — список через запятые, без `no`