---
phase: 04-core-track-production
plan: 02
type: execute
wave: 1
depends_on: []
files_modified:
  - .claude/skills/create-track/steps/02-structure-and-write.md
  - .claude/skills/create-track/steps/03-verify-and-save.md
autonomous: true

must_haves:
  truths:
    - "Step 02 generates singable lyrics with proper Suno section tags following the genre template"
    - "Step 02 composes a style prompt in English using the 5-tier priority formula from format.md"
    - "Step 02 adds 'All lyrics in French' to the style prompt when the track language is French"
    - "Step 03 verifies all Suno constraints (style prompt chars, lyrics chars, metatag format, language)"
    - "Step 03 writes the production brief to artists/[name]/tracks/[##]-[titre-kebab].md"
    - "Step 03 updates artists/[name]/discography.md with the new track entry"
  artifacts:
    - path: ".claude/skills/create-track/steps/02-structure-and-write.md"
      provides: "Creative lyrics generation and style prompt composition instructions"
      contains: "Planification Narrative"
    - path: ".claude/skills/create-track/steps/03-verify-and-save.md"
      provides: "Suno constraint verification and file saving instructions"
      contains: "Rapport de Verification"
  key_links:
    - from: ".claude/skills/create-track/steps/02-structure-and-write.md"
      to: "reference/templates/songs/[genre].md"
      via: "Read selected song structure template"
      pattern: "templates/songs"
    - from: ".claude/skills/create-track/steps/02-structure-and-write.md"
      to: "reference/suno/format.md"
      via: "Style prompt formula and metatag vocabulary"
      pattern: "format\\.md"
    - from: ".claude/skills/create-track/steps/03-verify-and-save.md"
      to: "artists/[name]/tracks/"
      via: "Write production brief file"
      pattern: "tracks/.*\\.md"
    - from: ".claude/skills/create-track/steps/03-verify-and-save.md"
      to: "artists/[name]/discography.md"
      via: "Append track entry to discography table"
      pattern: "discography\\.md"
---

<objective>
Create Step 02 (structure and write lyrics) and Step 03 (verify constraints and save) that together form the creative generation and finalization stages of the track production workflow.

Purpose: Step 02 is the creative heart -- generating singable lyrics with Suno metatags following genre templates, composing the style prompt, and presenting to user for review. Step 03 closes the loop -- verifying Suno constraints, formatting the production brief, writing the file, and updating the discography.

Output: 2 step files completing the 3-step create-track skill workflow.
</objective>

<execution_context>
@C:/Users/zekho/.claude/get-shit-done/workflows/execute-plan.md
@C:/Users/zekho/.claude/get-shit-done/templates/summary.md
</execution_context>

<context>
@.planning/PROJECT.md
@.planning/ROADMAP.md
@.planning/STATE.md
@.planning/phases/04-core-track-production/04-RESEARCH.md

# Suno constraints and metatag vocabulary
@reference/suno/format.md

# Song structure templates the step will read
@reference/templates/songs/pop.md
@reference/templates/songs/rap.md

# Production format and rules
@CLAUDE.md

# Discography template for understanding update format
@reference/templates/discography-template.md
</context>

<tasks>

<task type="auto">
  <name>Task 1: Create Step 02 -- Structure and Write Lyrics</name>
  <files>.claude/skills/create-track/steps/02-structure-and-write.md</files>
  <action>
Create `.claude/skills/create-track/steps/02-structure-and-write.md` following the research's Pattern 3 specification. This is the creative engine of the workflow.

**# Step 2 : Structure et Ecriture**

**## Planification Narrative** -- Before writing any lyrics, plan the narrative arc:
1. **Verse 1:** [angle/perspective -- comment le track s'ouvre]
2. **Verse 2:** [progression -- comment la narration avance]
3. **Verse 3** (si applicable): [resolution/twist/climax]
4. **Bridge** (si applicable): [contraste/pivot emotionnel]
5. **Chorus:** [coeur emotionnel -- phrase-cle qui revient]

Instruction: Presenter ce plan a l'utilisateur comme direction creative avant d'ecrire. This prevents the anti-pattern of repetitive verse content (CLAUDE.md interdit: "Ne jamais repeter le contenu entre les couplets").

**## Generation des Lyrics** -- 7 numbered operations:
1. Lire le template de structure selectionne (`reference/templates/songs/[genre].md`)
2. Choisir la structure standard ou une variation selon le concept du track (templates list variations)
3. Generer les lyrics section par section en suivant le Section Flow du template:
   - Utiliser les metatags Suno corrects: `[Intro]`, `[Verse 1]`, `[Pre-Chorus]`, `[Chorus]`, `[Bridge]`, `[Outro]`, etc.
   - Placer les delivery tags du style vocal de l'artiste (depuis la bible, champ Tags Suno) -- placement basique, l'optimisation avancee est Phase 7
   - Chaque Verse avance la narration (conformement au plan narratif ci-dessus)
   - Le Chorus est memorable et concis -- c'est le coeur emotionnel
   - Le lore guide le ton et les themes mais pas besoin de references explicites dans chaque track
4. Ecrire les lyrics ENTIEREMENT dans la langue choisie -- zero melange
5. Viser 2000-3000 caracteres de lyrics (sweet spot Suno per format.md)
6. Utiliser les termes de section canoniques en anglais (Verse, Chorus, Bridge, etc.) meme si les lyrics sont en francais (per glossary.md)
7. Si le genre est electronic: suivre la structure Build-Drop du template electronic.md au lieu de verse-chorus

**## Composition du Style Prompt** -- Follow the 5-tier priority formula from `reference/suno/format.md`:

| Priorite | Source dans la Bible | Exemple |
|----------|---------------------|---------|
| 1. Genre + Sous-genre | Identite Musicale > Genre principal + Sous-genres | Dark Pop, Electronic Pop |
| 2. Mood / Energie | Palette Emotionnelle > emotion dominante du track | Melancholic, Intimate |
| 3. Direction Vocale | Style Vocal > Tags Suno | Female Vocals, Airy, Breathy |
| 4. Instrumentation | Adapter au genre + mood du track | Piano, Synth Pads, Strings |
| 5. Production + BPM | Identite Musicale > Tempo range | Lo-Fi Production, 90 BPM |

Rules for the style prompt:
- TOUJOURS en anglais (meme pour tracks francais) -- per format.md
- Si langue == Francais: ajouter "All lyrics in French" comme tag dans le style prompt
- Si langue == English: pas de tag special necessaire
- Viser 8-15 tags, 200-500 caracteres (sweet spot per format.md)
- Pas de prompting negatif (Suno ne supporte pas "don't do X")
- Tags separes par des virgules, pas de phrases completes

**## Output de Step 2** -- Present to user:
1. L'arc narratif planifie (bref)
2. Les lyrics complets avec metatags (inline, NOT saved yet)
3. Le style prompt
4. Comptage chars preliminary (lyrics + style prompt)

Then: "Des ajustements avant de finaliser ?"
- Si oui: reviser en place, representer
- Si non: passer a Step 3

IMPORTANT: Ne PAS ecrire de fichier a cette etape. Les lyrics sont presentes au user pour revue creative. Le fichier est ecrit en Step 3 seulement. Ceci respecte CLAUDE.md ("une fois sauvegarde, il fait partie de la discographie -- pas d'etat brouillon") tout en permettant la revue creative.

Total: ~80-100 lines. This is the most substantial step file.
  </action>
  <verify>
- File exists at `.claude/skills/create-track/steps/02-structure-and-write.md`
- Contains narrative arc planning section BEFORE lyrics generation
- References `reference/templates/songs/[genre].md` for structure
- References `reference/suno/format.md` for style prompt formula
- Includes the 5-tier priority table for style prompt composition
- Contains the French language rule: add "All lyrics in French" to style prompt
- Explicitly states NOT to write files at this step
- Presents lyrics inline for user review before save
  </verify>
  <done>Step 02 provides complete instructions for narrative planning, lyrics generation following genre templates with Suno metatags, style prompt composition using the 5-tier formula, and user review before finalization</done>
</task>

<task type="auto">
  <name>Task 2: Create Step 03 -- Verify Constraints and Save</name>
  <files>.claude/skills/create-track/steps/03-verify-and-save.md</files>
  <action>
Create `.claude/skills/create-track/steps/03-verify-and-save.md` following the research's Pattern 4 specification. This is the verification and finalization step.

**# Step 3 : Verification et Sauvegarde**

**## Verification des Contraintes Suno** -- Table of checks:

| Controle | Critere | Action si echec |
|----------|---------|-----------------|
| Style prompt chars | <= 1000 (sweet spot: 200-500) | Si > 1000: couper les tags les moins prioritaires. Si > 500: signaler mais ne pas bloquer |
| Lyrics chars | <= 5000 hard limit (recommande: <= 3000) | Si > 5000: BLOQUER, reduire obligatoire. Si 3000-5000: WARNING "Suno risque de rusher" |
| Nombre de tags style | 8-15 optimal | Si < 5: WARNING "trop generique". Si > 20: WARNING "risque de contradictions" |
| Format metatags | Crochets corrects `[Tag]`, tags valides per format.md | Si invalide: corriger automatiquement |
| Langue | Monolingual (pas de melange dans lyrics) | Si melange detecte: corriger |
| Tag langue (FR) | "All lyrics in French" present dans style prompt si francais | Si absent et langue francais: ajouter automatiquement |

Style prompt sweet spot reporting zones:
- < 100 chars: "WARNING: trop generique, Suno improvise trop"
- 100-200 chars: "OK pour des styles simples"
- 200-500 chars: "OPTIMAL"
- 500-800 chars: "OK mais tags en fin de prompt ont moins d'impact"
- 800-1000 chars: "WARNING: risque de contradictions et dilution"

**## Rapport de Verification** -- Generate the verification report table:

| Controle | Resultat | Detail |
|----------|----------|--------|
| Style prompt | [OK/OPTIMAL/WARNING] | [X] chars -- [zone commentary] |
| Lyrics | [OK/WARNING] | [X] chars / 3000 (recommande) | 5000 (limite) |
| Tags style | [OK/WARNING] | [X] tags |
| Metatags | [OK] | [X] sections detectees |
| Langue | [OK] | Monolingual [langue] |

Add note at bottom: "La verification linguistique complete (comptage syllabes, analyse rimes) sera disponible dans une phase future."

**## Sauvegarde du Fichier Track** -- Write the production brief following CLAUDE.md's exact "Format de Production" order:

File path: `artists/[name]/tracks/[##]-[titre-kebab].md`

File structure (exact format from research Pattern 5):
```
# [Titre du Track]

**Artiste :** [Nom de l'artiste]
**Langue :** [Francais / English]
**Date :** [date du jour]

---

## Style Prompt

\`\`\`
[tags separes par des virgules, format Suno]
\`\`\`

**Caracteres :** [X] / 1000 ([zone])

---

## Lyrics

\`\`\`
[Lyrics complets avec metatags Suno]
\`\`\`

**Caracteres :** [X] / 3000 (recommande) | 5000 (limite)

---

## Rapport de Verification

[table from above]

---

## Notes

**Raisonnement creatif :**
[Explication des choix artistiques et narratifs]

**Structure utilisee :**
[Genre template + variation si applicable]

**Suggestions pour la suite :**
[Idees pour le prochain track]
```

Title kebab-case: minuscules, espaces en tirets, retirer les caracteres speciaux.
Track number: from discography count (determined in Step 1), zero-padded to 2 digits.

**## Mise a Jour Discographie** -- Append to `artists/[name]/discography.md`:

1. Add a new row to the Tracks table:
   `| [##] | [Titre] | [date] | [langue] | [themes explores] | [emotions dominantes] |`

2. Update Stats section:
   - Total tracks: increment by 1
   - Langues utilisees: add language if new
   - Themes explores: add any new themes

**## Confirmation** -- After saving, display:
- Fichier cree: `artists/[name]/tracks/[##]-[titre].md`
- Discographie mise a jour: `artists/[name]/discography.md`
- Suggerer prochaines etapes (new track, different language, explore other emotions)

Total: ~80-100 lines.
  </action>
  <verify>
- File exists at `.claude/skills/create-track/steps/03-verify-and-save.md`
- Contains all 6 Suno constraint checks with specific thresholds
- Contains the style prompt sweet spot zones (5 ranges from < 100 to 800-1000)
- Contains the two-tier lyrics limit: 3000 recommended / 5000 hard limit
- Contains the complete production brief file format template
- Contains discography update instructions (table row + stats)
- Contains the note about future linguistic verification
- Lyrics char reporting uses format "X / 3000 (recommande) | 5000 (limite)"
  </verify>
  <done>Step 03 provides complete instructions for Suno constraint verification with two-tier reporting, production brief file writing in CLAUDE.md format, discography auto-logging, and next step suggestions</done>
</task>

</tasks>

<verification>
1. Both step files exist in `.claude/skills/create-track/steps/`
2. Step 02 generates lyrics BEFORE saving (presents inline for review)
3. Step 03 saves AFTER user approves (no confirmation dialog, but creative review happened in Step 02)
4. Style prompt is ALWAYS in English, with "All lyrics in French" tag when language is French
5. Lyrics character limit uses two tiers: 3000 recommended, 5000 hard limit
6. Production brief follows exact CLAUDE.md format order: Titre, Artiste, Langue, Style Prompt, Lyrics, Rapport, Notes
7. Discography update is automatic (per CLAUDE.md auto-log rule)
8. Neither step file duplicates content from format.md or other references -- they point to references
</verification>

<success_criteria>
- Step 02 enables Claude to generate singable lyrics with proper Suno metatags following the genre template's Section Flow
- Step 02 composes a style prompt using the 5-tier priority formula with correct language handling
- Step 03 catches all Suno constraint violations before saving
- Step 03 writes a production brief that is copy-pasteable into Suno Custom Mode without modification
- Step 03 automatically logs the track in the discography
- Together, Steps 02 + 03 complete the creative-to-finalization pipeline of the track workflow
</success_criteria>

<output>
After completion, create `.planning/phases/04-core-track-production/04-02-SUMMARY.md`
</output>
