{"id":12900,"plugin_id":"plugin_asdk_app_6a9c5f87e3648191840c0b30d98b0cae","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:02:26.381Z","digest":"0c4dd59d3a1d19668d09930d8d7fc44d2c9d98d51b56c4de6ada203da20fc33b","against":null,"payload":{"name":"keep-veyrpiano-open","description":"Maintain visual and state continuity for an active VeyrPiano session by re-presenting the same live composition at its latest authoritative revision. Use after a VeyrPiano roll has been opened whenever the user continues composing, asks the assistant to inspect, discuss, play, or change the music, says “continue,” “your turn,” “your go,” “open it,” “where is it,” or otherwise expects the instrument to remain available across conversation turns.","included_files":[],"skill_md_contents":"---\nname: keep-veyrpiano-open\ndescription: Maintain visual and state continuity for an active VeyrPiano session by re-presenting the same live composition at its latest authoritative revision. Use after a VeyrPiano roll has been opened whenever the user continues composing, asks the assistant to inspect, discuss, play, or change the music, says “continue,” “your turn,” “your go,” “open it,” “where is it,” or otherwise expects the instrument to remain available across conversation turns.\n---\n\n# Keep VeyrPiano Open\n\n## Hold the active instrument\n\nTreat an opened VeyrPiano roll as the shared workspace for the active musical session, not as a disposable tool result. Keep the same composition visually present in the newest assistant turn while that session remains active.\n\nMaintain these bindings:\n\n- the exact VeyrPiano connector;\n- the composition identifier;\n- the latest authoritative revision;\n- the chosen inline or fullscreen presentation mode;\n- camera, selection, playhead, loop, and other view state when the tool supports them.\n\nDo not upgrade versions, switch endpoints, create another composition, or reset view state merely to render the instrument again.\n\n## Re-present after every meaningful turn\n\nPerform reads, mutations, and reasoning first. Before mutation, call `get_composition` when the revision may have changed. After any requested change, call `open_piano_roll` with the same exact `compositionId` as the final presentation-producing tool action. It resolves the latest authoritative revision.\n\nFollow the rendered roll with only the prose needed to orient the user. The instrument is the primary continuation surface; prose supports it.\n\nRe-present the roll after:\n\n- an assistant-authored musical change;\n- a state inspection or discussion that continues the composition;\n- playback, navigation, selection, loop, tempo, or meter work;\n- a short continuation cue such as “your turn,” “go,” or “continue”;\n- any report that the roll disappeared or is no longer visible.\n\nDo not issue a duplicate render inside the same response when the latest successful tool result already presents the correct composition and revision.\n\n## Protect authority and provenance\n\nNever use a stale snapshot to overwrite newer user work. If the active revision is uncertain or a mutation reports a conflict, reread authority before rendering or changing anything.\n\nRender calls must be observational: they must not mint a new composition, create notes, advance the musical revision, or change authorship. If the available “open” operation has such side effects, do not use it as a continuity mechanism.\n\nPreserve authoritative note provenance. An assistant mutation must remain assistant-authored; a passive re-render must not restamp either user's notes.\n\n## Recover the surface\n\nWhen the user asks “Where is it?” or says the piano vanished, re-render the same current roll immediately. Do not direct the user to scroll back to an older card, provide only a composition identifier, or open a blank replacement.\n\nIf more than one composition could be active, resolve the ambiguity from recent authoritative tool state. Ask the user only when the correct composition cannot be determined safely.\n\nIf the required VeyrPiano connector or rendering tool is unavailable, say that the roll cannot be re-presented in the current turn. Do not claim that it is open.\n\n## Respect the host limitation\n\nDo not claim that the roll is permanently pinned. ChatGPT controls card placement and may move older turns offscreen. This skill provides practical continuity by placing the same live roll in the newest relevant response.\n\nDo not silently move to fullscreen as a substitute for keeping the inline roll visible. Preserve the user's chosen presentation mode unless they request a change.\n\n## End the session deliberately\n\nStop re-presenting the roll when the user explicitly closes it, selects another composition, requests prose-only discussion, or clearly leaves the piano-roll session. A temporary explanatory exchange about the active music does not end the session.\n\nUse `use-veyrpiano` alongside this skill when the user needs help operating the visible instrument.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}