Skill: Song Ideation Engine
Purpose
Generate complete song concepts from inspiration sources: mood, current events, astrological energy, trending sounds, persona archetypes, and user input.
Trigger
When the user wants to create a new song, brainstorm ideas, or asks for inspiration.
Process
Step 1: Gather Inspiration Context
Before generating concepts, collect context from multiple sources:
- •User Intent: What mood, theme, or message do they want?
- •Current Date: Today's energy — day of week, season, time of day affects mood
- •Trending: What genres/sounds are trending on Suno, TikTok, Spotify
- •Persona Fit: Which artist persona best matches this concept?
- •Catalog Gap: What genres/moods are missing from the existing catalog?
Step 2: Generate Song Concept
Output a complete concept with ALL of these fields:
yaml
# Song Concept title: "Working Title" subtitle: "Optional tagline or hook line" persona: "FrankX | Lyssandria | Draconia | AI Music Academy" mood: ["primary mood", "secondary mood"] energy: "low | medium | high | intense" genre: primary: "Main genre" secondary: "Crossover genre" suno_tags: ["tag1", "tag2", "tag3"] bpm_range: "120-130" key: "Am | Cm | etc." duration: "2:00-3:30" language: "en | ja | es | ru | multi" theme: "One sentence describing the song's message" hook_idea: "The memorable line or musical moment" verse_concept: "What the verses explore" chorus_concept: "What the chorus delivers" bridge_concept: "The emotional shift" visual_mood: "What the album cover should evoke" target_playlist: "What Spotify/Suno playlist this fits" similar_artists: ["Reference artist 1", "Reference artist 2"] distribution_priority: "high | medium | low"
Step 3: Generate 3 Variations
Always provide 3 concept variations:
- •Option A: Safe bet — proven genre, strong hook potential
- •Option B: Genre fusion — unexpected combination with crossover appeal
- •Option C: Experimental — push boundaries, niche but memorable
Step 4: Persona Matching
Each persona has a distinct voice and genre affinity:
| Persona | Voice | Genres | Mood Range |
|---|---|---|---|
| FrankX | Authentic, technical, warm | Hip hop, electronic, rock, world | Full range |
| Lyssandria | Ethereal, powerful, mystical | Orchestral, ambient, darkwave, Celtic | Atmospheric to intense |
| Draconia | Fierce, primal, commanding | Metal, drum & bass, industrial, punk | High energy to intense |
| AI Music Academy | Educational, accessible | Pop, folk, acoustic, jazz | Calm to medium |
Step 5: Save to Queue
After the user selects a concept, save it to data/song-concepts.json:
json
{
"id": "concept-{timestamp}",
"status": "ideated",
"concept": { ... },
"createdAt": "ISO date",
"selectedVariation": "A|B|C",
"sunoPrompt": null,
"trackId": null
}
Quality Gates
- •Every concept MUST have a clear hook idea
- •Genre tags must be Suno-compatible (check suno-mastery skill)
- •Persona assignment must match genre/mood affinity
- •No duplicate themes within last 10 concepts
- •Duration should match genre norms (DnB: 3-4min, Pop: 2:30-3:30, Ambient: 4-6min)
Anti-Patterns
- •NEVER generate generic "love song" or "party track" without specific angle
- •NEVER ignore the user's stated mood in favor of "what performs well"
- •NEVER assign a persona that doesn't match the genre
- •NEVER suggest genres the user hasn't shown interest in without explaining why