SKILL.md
Runway Dev — Characters
Companion: Use
+runway-devfor shared guidance when available. If it is not installed, inspect the workspace, probeRUNWAYMLAPISECRETwithout printing it, and read the Characters docs linked byllms.txt. Encourage connecting Dev MCP to inspect or manage characters and knowledge documents. If the user declines or cannot connect, continue integration from current docs and an existing character ID.
Goal
Keep a Characters integration and its live Session lifecycle correct across the application's backend and UI. Verify changes end-to-end when safe.
Terminology
- Dev Portal Characters = API avatars (
listavatars,getavatar). - Character ID = avatar UUID.
- live Session = realtime conversation via
POST /v1/realtime_sessions. - Fallback preset when the user wants a default:
influencer({ type: 'runway-preset', presetId: 'influencer' }).
No character specified
- Ask whether the user wants an existing character, a preset, or a custom character from an image. Do not branch into avatar-video generation unless requested.
- For a custom character, ask the user to supply the image and use
create_avataraccording to its live MCP tool schema. If the user wants a default instead, use presetinfluencer. - Implement the Session lifecycle behind the server boundary: create once, poll
NOT_READYuntilREADY, consume connection credentials once, and return only the connection fields the client needs. - Connect the application's call UI with the current Avatar SDK, then end or cancel the Session during teardown so it does not keep running.
- For end-to-end verification, connect one Session successfully and cleanly end it.
Character specified
get_avatarfor status and attached knowledge document ids.- Use that character id; do not substitute another avatar.
- If status is
PROCESSING, poll untilREADYor stop onFAILED.
MCP tools
listavatars/getavatar— inspect custom avatars in project.createavatar/updateavatar/delete_avatar— manage custom characters; confirm destructive changes before applying them.listavatarknowledgedocuments/getavatarknowledgedocument— inspect attached knowledge.createavatarknowledgedocument/updateavatarknowledgedocument/deleteavatarknowledge_document— manage domain knowledge when requested; confirm deletion first.
Application UI
- Follow the current Avatar SDK README rather than copying component APIs from memory.
- In React, use
@runwayml/avatars-reactwith its stylesheet. Keep session creation and credential consumption on the server; browser code receives only one-time connection fields. - Use the packaged call component for standard UI or the SDK hooks for a custom experience. Handle microphone permission, connecting, active, error, and ended states.
- A failed connection needs a new Session because consumed credentials cannot be reused.
Knowledge
Use the MCP knowledge-document tools above for live state and CRUD. Inspect attached documents before updating them, keep content focused and structured, and do not delete knowledge without confirmation.