From producer-dashboard
Producer Dashboard MCP — 56 tools for managing songs, focus mode, collaborators, collaborator deals, tags, buckets, comments, todos, library views, search, share pages, split sheets, and royalty earnings. Use when the user mentions music production, songs, tracks, stages, collaborators, royalties, or sharing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/producer-dashboard:producer-dashboardThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The Producer Dashboard MCP connects the agent to a music production management app. It provides tools across songs, focus mode, collaborators, collaborator deals, tags, buckets, comments, todos, sharing, split-sheet export, royalty earnings import, search, and library views. Use these tools to help producers manage their library, track progress, earnings, and collaboration.
The Producer Dashboard MCP connects the agent to a music production management app. It provides tools across songs, focus mode, collaborators, collaborator deals, tags, buckets, comments, todos, sharing, split-sheet export, royalty earnings import, search, and library views. Use these tools to help producers manage their library, track progress, earnings, and collaboration.
Use this skill when the user mentions songs, tracks, music production, stages, buckets, collaborators, comments, royalties, earnings, sharing, or any music workflow management task.
track_group_id, bucket IDs, collaborator IDs, tag IDs, and share IDs for follow-up tool calls.The core entity. Each song has:
seed → sprout → sapling → plant → tree → finishedneeds_rework, needs_mix, needs_master, needs_vocals, needs_lyrics, needs_collaborator, ready_for_release, open_for_artistshigh, medium, low, or unsetfocus_override, last_active_at, project_file_modified_at, is_focused, and focus_sourceSongs are created and deleted through the file import system, not this MCP surface.
Song -> has many collaborators
Song -> has many tags
Song -> has many comments
Song -> has many todos
Song -> belongs to one bucket
Song -> can appear in share pages
Collaborator -> can have share status
Collaborator -> can reference a publisher
Collaborator -> can have deal rows
| User says | Tool parameter | Value |
|---|---|---|
| "finished tracks" / "complete" | stages=finished | finished |
| "new ideas" / "early ideas" | stages=seed | seed |
| "in progress" | stages=sprout,sapling,plant | comma-separated |
| "mature" / "nearly done" | stages=tree | tree |
| "needs mixing" | workflow=needs_mix | needs_mix |
| "ready to release" | workflow=ready_for_release | ready_for_release |
| "high excitement" | excitement_min=70 | 70-100 |
| "high priority" | priority=high | high |
| "what am I focused on?" | list_focused_tracks | |
| "latest album" | resolve by bucket name or recent songs | |
| collaborator name | resolve with list_collaborators or lookup_collaborator first |
Most Producer Dashboard requests break into:
find -> filter -> act -> summarize
Use multiple small tool calls instead of one large speculative action.
Example: "Have there been any new comments on my latest album in the past few days?"
1. list_buckets -> find the album bucket by name
2. list_songs(bucket_id=<id>, limit=50) -> get song IDs in that bucket
3. list_comments(since="<recent>", limit=50) or search_comments(...) -> get recent comments
4. Cross-reference recent comments with song IDs from step 2
5. Summarize by song and count
Example: "Put all the latest releases in a bucket for easy access"
1. list_buckets -> check whether a Releases bucket exists
2. create_bucket(name="Releases") if needed
3. list_songs(stages=finished, limit=50) -> get song IDs
4. batch_update_songs(track_group_ids=[...], bucket_id=<bucket_id>)
5. Summarize what moved
Example: "Add Joshua as a collaborator on all my tree-stage songs with 50/50 splits"
1. lookup_collaborator(email=...) or list_collaborators -> resolve collaborator
2. list_songs(stages=tree, limit=50) -> get song IDs
3. add_collaborator_to_song(...) for each target song
4. Summarize songs changed and any skips
Example: "Create a share page for my finished tracks with downloads enabled"
create_share_page(stages="finished", title="Finished Tracks", download_bounces=true, download_stems=true)
For advanced shares, create_share_page also supports password, expiry, view mode, download_split_sheet, per-track permissions, explicit track_files, track_order, filter snapshots, column visibility, bucket artwork, and custom share images. Use list_shares to inspect those advanced fields after creation.
Example: "What am I working on right now?"
list_focused_tracks
set_focus_override(track_group_id=<id>, override="pinned")
clear_focus_overrides
Example: "Export a split sheet for this bucket as CSV"
export_split_sheet(bucket_id=<id>, format="generic", file_type="csv")
Example: "Import this MusicBed royalty statement"
1. Parse the source statement yourself and reconcile source totals before import.
2. Use list_songs/search context to resolve source track names to stable track_group_id values.
3. Prepare one normalized rows array per source statement, retaining source_sheet_name and source_row_number on each row.
4. Call import_royalty_earnings(filename=<source>, source_provider=<provider>, rows=[...], expected_total_net_amount=<statement total>, source_file_text/source_file_base64=<optional source content>).
5. Treat duplicate responses as a successful no-op: no committed rows were created.
Do not use backend fuzzy matching or browser royalty import UI. The agent owns parsing, matching, and reconciliation before calling import_royalty_earnings.
Example: "Give me a full overview of my library"
1. get_library_stats
2. list_buckets
3. list_todos
4. list_comments(since="<recent>", limit=10)
5. list_songs(workflow=needs_mix)
6. Synthesize into a concise dashboard summary
list_songsget_songupdate_songbatch_update_songslist_focused_tracksset_focus_overrideclear_focus_overrideslist_bucketsget_bucketcreate_bucketupdate_bucketdelete_bucketlist_tagslist_tag_categoriesget_song_tagsassign_tagsremove_tagcreate_tagdelete_taglist_collaboratorslookup_collaboratorget_song_collaboratorslist_publishersadd_collaborator_to_songremove_collaborator_from_songshare_with_collaboratorsget_share_statuscreate_collaboratorupdate_collaboratordelete_collaboratorlist_collaborator_dealscreate_collaborator_dealupdate_collaborator_dealdelete_collaborator_dealcreate_publisherupdate_publisherdelete_publishercreate_share_pagelist_sharesdelete_shareexport_split_sheetimport_royalty_earningslist_commentscreate_commentupdate_commentdelete_commentlist_todoscreate_todoupdate_tododelete_todolist_saved_viewsget_recent_activitylist_workflow_definitionsget_subscription_statusget_library_statssearch_commentsOn first use, the client will prompt the user to authenticate with Producer Dashboard in the browser. Tokens are scoped and stored by the client and server OAuth flow.
Some operations require permissions enabled in Producer Dashboard under Settings > AI Agent Access:
sharingdestructive_operationsbulk_operationsexport_dataedit_songsread_libraryread_collaboratorscomments_todosnpx claudepluginhub rosscrispin/producer-dashboard-mcp-plugin --plugin producer-dashboardGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.