Skill: Music Content Studio
Purpose
Manage the complete song catalog as a content studio — track status, analytics, assets, and readiness for each song. This is the "single pane of glass" for the music production pipeline.
Trigger
When the user asks to see their catalog, check song status, manage drafts, or review analytics.
Song Lifecycle States
code
IDEATED → CREATING → DRAFT → NEEDS_ASSETS → READY → PUBLISHED → PROMOTING
| State | Meaning | Next Action |
|---|---|---|
IDEATED | Concept exists, no audio yet | Run /create-song |
CREATING | Sent to Suno, awaiting result | Wait for generation |
DRAFT | Audio exists, not finalized | Review, remaster, or approve |
NEEDS_ASSETS | Audio approved, missing cover/video | Run /generate-assets |
READY | All assets complete | Run /publish-song |
PUBLISHED | Live on platforms | Monitor metrics |
PROMOTING | Active PR campaign running | Track outreach results |
Studio Views
1. Dashboard View (Default)
Show a summary when /studio is called:
code
=== Music Studio Dashboard === Catalog: 74 indexed / 626 total on Suno Albums: 5 | Playlists: 16 | Personas: 4 Pipeline Status: Ideated: 3 concepts waiting Creating: 0 in progress Draft: 5 need review Needs Assets: 12 songs Ready: 8 to publish Published: 46 live Promoting: 2 active campaigns Top Performers (7-day): 1. Trust in Yourself — 77 plays, 44.2% engagement 2. The Awakening — 142 plays, 14.1% engagement 3. Vibe O S — 128 plays, 18.8% engagement Action Items: ! 12 songs need cover art ! 5 albums missing Lemon Squeezy products ! 3 concepts ready for Suno generation
2. Catalog View
Full table of all songs with filters:
code
/studio catalog [--status=draft] [--persona=FrankX] [--genre=rock] [--sort=plays]
Show for each song:
- •Title, persona, genre, duration
- •Status (with color indicator)
- •Plays, likes, engagement rate
- •Asset status: cover (Y/N), hook video (Y/N), full video (Y/N)
- •Distribution status: Suno (Y/N), DistroKid (Y/N), YouTube (Y/N)
3. Album View
Group songs by album with completion metrics:
code
/studio albums
Show for each album:
- •Title, track count (resolved/total), genre
- •Total plays, total likes, avg engagement
- •Commerce status (Lemon Squeezy product ID)
- •Missing: cover art, tracks, LS product
- •Suggested new tracks to add from catalog
4. Analytics View
Performance insights:
code
/studio analytics [--period=7d|30d|all]
- •Top tracks by plays and by engagement (separate rankings)
- •Genre performance breakdown
- •Persona performance comparison
- •Growth trends (if historical data available)
- •DistroKid candidates (auto-ranked by composite score)
5. Asset Pipeline View
What needs to be generated:
code
/studio assets
- •Songs without cover art (sorted by priority)
- •Songs without hook videos
- •Songs without full videos
- •Album covers needed
- •Playlist thumbnails needed
Data Management
Song Status Tracking
Maintain data/song-status.json:
json
{
"songs": {
"song-id": {
"status": "NEEDS_ASSETS",
"concept": "concept-id or null",
"sunoId": "abc123",
"assets": {
"coverArt": null,
"hookVideo": null,
"fullVideo": null,
"lyrics": true
},
"distribution": {
"suno": true,
"distrokid": false,
"youtube": false,
"tiktok": false
},
"updatedAt": "ISO date"
}
}
}
Sync with Suno Data
When the user has a data/inventories/{clientId}/music.json:
- •Read all tracks from inventory
- •Cross-reference with song-status.json
- •Flag new tracks not yet in status tracking
- •Update play/like counts from inventory
Integration Points
- •Ideation skill: Receives concepts, creates IDEATED entries
- •Suno mastery skill: Updates status to CREATING → DRAFT
- •Cover art skill: Updates asset.coverArt field
- •Video hooks skill: Updates asset.hookVideo field
- •Distribution skill: Updates distribution fields
- •Analytics from lib/music.ts: getTrackAnalytics(), getGenreDistribution()
Quality Rules
- •NEVER show stale data — always read fresh from data files
- •ALWAYS show action items at the bottom of every view
- •Sort by priority: NEEDS_ASSETS songs with high plays first
- •Flag songs that have been in DRAFT for >7 days
- •Suggest album groupings for orphaned songs