$npx -y skills add SkyworkAI/Skywork-Skills --skill skywork-music-makerCreate professional music with Mureka AI API — songs, instrumentals, and lyrics from natural language descriptions in any language. Use when users want to generate a song, create a beat or instrumental, write lyrics, clone vocals, upload reference tracks, or do anything related t
| 1 | # Skywork Music Maker (Mureka API) |
| 2 | |
| 3 | Generate professional-quality music using the Mureka API at `https://api.mureka.ai`. This skill covers the **complete music production workflow**: lyrics writing → song/instrumental generation. |
| 4 | |
| 5 | ## First-Time Setup |
| 6 | |
| 7 | Before running any API command, check if `MUREKA_API_KEY` is set. If not, guide the user to get an API key at https://platform.mureka.ai/ (register → API Keys → generate key → `export MUREKA_API_KEY="..."`), then STOP — do not attempt any API calls until the key is configured. |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## Smart Prompt Conversion (CRITICAL WORKFLOW) |
| 12 | |
| 13 | **Default behavior**: When the user doesn't specify song type, always generate a **song with lyrics** (use `mureka.py song`). Only use `mureka.py instrumental` when the user explicitly asks for instrumental, BGM, background music, or "no vocals". |
| 14 | |
| 15 | **Output defaults**: Use mp3 format unless the user requests otherwise. The `--output` flag specifies a directory — the script creates it and saves all results inside (audio files + `lyrics.txt` for songs). If the user doesn't specify a location, choose a user-friendly path with a descriptive folder name based on the song theme (e.g., `summer_pop_song/`). |
| 16 | |
| 17 | When users provide music descriptions in **natural language** (in any language), you MUST convert them to structured Mureka API prompts using this workflow: |
| 18 | |
| 19 | ### Conversion Process |
| 20 | |
| 21 | **User Input Examples:** |
| 22 | - "upbeat pop song, female vocals, guitar, perfect for summer" |
| 23 | - "sad piano ballad about lost love" |
| 24 | - "epic orchestral music for a fantasy game" |
| 25 | - "traditional Chinese music with bamboo flute and zither, misty atmosphere" |
| 26 | |
| 27 | **Your Task:** |
| 28 | 1. **Extract structured parameters** using the extraction rules below |
| 29 | 2. **Validate** the prompt meets quality standards (see Quality Checklist) |
| 30 | 3. **Present to user** for confirmation before generating |
| 31 | 4. **Run the generation** command with the structured prompt |
| 32 | |
| 33 | ### Parameter Extraction Rules |
| 34 | |
| 35 | When users provide natural language music descriptions, directly extract and structure the following parameters: |
| 36 | |
| 37 | **Required Parameters:** |
| 38 | - **genres**: music genres including fusion styles (e.g., Pop, Rock, Jazz, Pop Rap Fusion, Alternative Rock, Guofeng) |
| 39 | - **moods**: emotional tones (e.g., Happy, Melancholic, Energetic, Nostalgic, Bright) |
| 40 | - **instruments**: specific instruments (e.g., Piano, Guitar, Drums, Erhu, Guzheng, Synth Pads, Dizi) |
| 41 | - **rhythms**: rhythm characteristics (e.g., 4/4, Slow, Syncopated, Driving, Flowing) |
| 42 | - **vocals**: vocal attributes (e.g., Female, Husky, Whispered, Male, Soft, Clear) or "instrumental only" |
| 43 | - **key**: musical key if specified (e.g., C Major, A Minor, C# Major) |
| 44 | - **bpm**: beats per minute (e.g., 120) or tempo descriptor (e.g., "slow groove", "uptempo") |
| 45 | - **description**: concise summary (under 50 words) capturing mood progression, melody, harmony, timbre, texture, dynamics |
| 46 | |
| 47 | **Extraction Instructions:** |
| 48 | 1. **Translate non-English terms**: Convert ALL non-English musical terms to English while preserving cultural and musical meaning |
| 49 | 2. **Preserve specificity**: Keep detailed information including specific styles, subgenres, and cultural context (e.g., "Chinese traditional guofeng" not just "Chinese music") |
| 50 | 3. **Design dynamic arc**: Include mood progression where appropriate (e.g., "sparse opening → building tension → cathartic chorus") |
| 51 | 4. **Infer intelligently**: Make reasonable assumptions based on genre conventions when parameters are not explicitly stated |
| 52 | 5. **English output**: Final prompt string MUST be entirely in English |
| 53 | |
| 54 | **Generate Structured Prompt:** |
| 55 | Combine all extracted parameters into a comprehensive, natural-flowing description that captures the essence of the user's vision. |
| 56 | |
| 57 | ### Quality Checklist (Validate BEFORE Generation) |
| 58 | |
| 59 | Before running the generation command, verify the prompt meets these criteria: |
| 60 | |
| 61 | **MUST HAVE:** |
| 62 | - [ ] Specific genre (NOT "pop song" but "synth-pop, 2020s") |
| 63 | - [ ] BPM or tempo descriptor (e.g., "120 BPM" or "slow groove") |
| 64 | - [ ] 3-5 instruments explicitly named |
| 65 | - [ ] Mood/emotion descriptors (2-3 words) |
| 66 | - [ ] Vocal style (or "instrumental only") |
| 67 | - [ ] Structure tags in lyrics: [Verse], [Chorus], [Bridge], [Outro] |
| 68 | |
| 69 | **WATCH OUT FOR:** |
| 70 | - Vague terms: "nice", "good", "beautiful" → replace with specific descriptors |
| 71 | - Contradictions: "slow" + "energetic", "sad" + "uplifting" → pick one direction |
| 72 | - Too short: <50 chars → add more detail |
| 73 | - Long lyric lines: >10 words per line → split into shorter lines |
| 74 | - No dynamic arc: add mood progression (e.g., "sparse → building → full") |
| 75 | |
| 76 | **AVOID:** |
| 77 | - Command verbs: "create a song" → use descriptions "upbeat pop so |