{"id":70916,"plugin_id":"plugin_asdk_app_6ac6e9f5b964819189aed37b910099dc","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-29T19:01:07.856Z","digest":"6b137fe13403c102213218b2722f73d5b4b8833112a4692d449324bc65652b08","against":null,"payload":{"description":"Change music in an existing CookUp session, such as a melody, drums, sounds, tempo, arrangement or mix, or undo or redo a change. For example \"make the hi-hats busier\", \"replace the counter melody\", \"make it 64 bars\" or \"undo that\". Use when the user refers to a session or the CookUp panel already in the chat.","included_files":[],"name":"edit-a-session","skill_md_contents":"---\nname: edit-a-session\ndescription: Change music in an existing CookUp session, such as a melody, drums, sounds, tempo, arrangement or mix, or undo or redo a change. For example \"make the hi-hats busier\", \"replace the counter melody\", \"make it 64 bars\" or \"undo that\". Use when the user refers to a session or the CookUp panel already in the chat.\n---\n\n# Edit a CookUp session\n\nExplicit user instructions always take priority over these guidelines.\n\n## Steps\n1. **Which session.** Use the session from the latest CookUp panel or tool result, or the one the user names. If none is clear, call `list_sessions` or ask. Never guess a code.\n2. **Read first.** Call `get_edit_context` for exact track and clip IDs, the current notes and `expectedVersion`.\n   - Use focused mode for the part being changed.\n   - Before replacing a clip, fetch every page of its notes: notes you didn't fetch are not silence.\n   - A selected clip is a reference, not permission to change locked tracks.\n3. **Change only what was asked.** Keep everything else as it is.\n   - For a small change, use the focused tool, such as `write_midi_notes`, `set_track_mix`, `assign_drum_sound` or `set_tempo`.\n   - For several changes, send one `apply_session_edit` batch.\n   - Leave the mix alone unless the user asks (the default is preserve mode).\n4. **New sounds.** Follow the choose-sounds skill.\n5. **Locks.** Respect session locks. Change them with `set_session_constraints` only when the user asks.\n6. **Confirm.** Report the change only after the tool confirms it is applied. Note the returned `editId`.\n7. **Undo or redo.** Call `get_edit_context` for the current version, then `restore_session_version`:\n   - pass the real `editId`;\n   - use `variant` `before` to undo, `after` to redo.\n8. **Finish.** End with one `open_session` call.\n\n## If something fails\n- If an edit is refused because the session changed, read `get_edit_context` again, fix the commands and retry once.\n- Otherwise, report the error plainly. Never say an edit was saved when it wasn't.\n\n## Never\n- Invent IDs, versions or edit IDs.\n- Change parts the user did not mention.\n- Claim you heard the change unless you listened to audio a tool returned.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}