From dj-music
This skill should be used when the user asks to deliver a set, export a set, finalize a set, do a rekordbox export, sync a set to YM, or generate a cheat sheet. Covers M3U8, Rekordbox XML, JSON guide, cheat sheet export and YM sync.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dj-music:deliver-setThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guide the user through exporting a completed DJ set via the v1 polymorphic dispatchers. See @docs/tool-catalog.md (**20 tools** = 14 core dispatchers + 6 UI Prefab + 27 resources + 6 prompts).
Guide the user through exporting a completed DJ set via the v1 polymorphic dispatchers. See @docs/tool-catalog.md (20 tools = 14 core dispatchers + 6 UI Prefab + 27 resources + 6 prompts).
Review set quality first
local://sets/{id}/review — hard conflicts (score=0.0) surface hereui_set_view(set_id=<id>) — energy arc + transition badges + cheatsheetbuild-set — replacement / new version) before deliveryEnsure audio files on disk (L4)
entity_create(entity="audio_file", data={"track_ids": [...], "persistent": true})
(handler audio_file_download fetches MP3 from provider + registers DjLibraryItem + bumps features to L4 / structure)Use the deliver_set_workflow prompt
deliver_set_workflow(set_id=<id>, formats=["m3u8","json","cheatsheet"], sync_to_ym=false)app/prompts/; list via list_prompts MCP method.Inspect output resources
local://sets/{id}/cheatsheet?version=<v>local://sets/{id}/narrativelocal://sets/{id}/fullgenerated-sets/{sanitized_set_name}/ — numbered MP3 copies + format artifacts.Optional: Sync to Yandex Music
sync is locked by default. Unlock once per session:
unlock_namespace(namespace="sync", action="unlock")playlist_sync(playlist_id=<set.linked_playlist_id>, direction="push", source="yandex", dry_run=false)provider_write(provider="yandex", entity="playlist", operation="create", params={"name": "..."})
then add tracks: provider_write(provider="yandex", entity="playlist", operation="add_tracks", params={"kind": <kind>, "track_ids": [...], "revision": <rev>})
(provider:write also needs unlock)Verify output
generated-sets/ directory| Format | Content | Use Case |
|---|---|---|
| M3U8 | Standard + #EXTDJ-* tags (BPM, key, energy, cues, transitions) | DJ software, media players |
| Rekordbox XML | Full Rekordbox-compatible XML with cues, loops, beatgrid | Rekordbox DJ import |
| JSON Guide | Per-track / per-transition details + analytics | Programmatic access, tooling |
| Cheat Sheet | Human-readable text: BPM, key, transition type, score, warnings | Print for live DJ performance |
Valid values passed to the workflow prompt: m3u8, rekordbox, json, cheatsheet. Default if omitted: ["m3u8", "cheatsheet"].
dry_run=true on playlist_sync previews YM mutations without applying — use before pushaudio_file_download handler — no need for a separate analyze calldeliver_set_workflow — answer continue or abortCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub evgenygurin/dj-music-plugin --plugin dj-music