- Find the
deckcraft-editorservice from the tool list of currently loaded plugins. Callopen_editorwith the absolute path of this task's workspace, passingworkspaceon the first call; relative file paths can be handed to the specific open tool once the editor is ready. - When the host supports native MCP Apps, render
ui://deckcraft/panel.html. A text-only tool result does not mean the interface has been opened. - When Codex does not automatically present the panel, call
open_browser_editorand hand the returnededitorUrlto the host's built-in browser open capability. Codex Desktop can callopen_in_codex, with target as browser and url as the actual return value. Do not guess a fixed port for a local page path. - Open only one editor page per instance. Call
editor_statusand wait untilattachedorreadyis true before proceeding; if loading fails, handle the page error first. - All edits in this round use the same service. The native CLI and the Web editor are not the same in-memory document; save and explicitly reopen before switching.
Use open_presentation/new_presentation to manage presentations; add_slide, inspect_slide, and inspect_document to operate and verify; save_presentation to save.
If the host only supports MCP, tool-calling capability and embedded UI are two different things. The same editorUrl can be used in an external browser, but you must clearly state that this is not in-host embedded acceptance.
When a development candidate lacks ui/dist/adapter.mjs , it must first be built according to plugin ui/README.md . Do not guess paths from arbitrary caches and do not bypass validation. This skill installed independently does not include the editor service; you need to install the companion plugin or configure its MCP backend.
When the tool is not registered, once the plugin's actual directory is known, run node ui/dist/adapter.mjs --servein the project terminal and specify this task's workspace via the environment variable CRAFT_WORKSPACE_ROOT . Keep the process alive; this mode can display the UI, but automation must still connect to the corresponding MCP instance and must not start another backend claiming to share the session.
When done, save the project and reopen it to check; read the actual exported file. Browser storage, preview screenshots, and submitted render tasks are not equivalent to workspace delivery.