driving-the-editor-ui

Drive the Summer Engine editor UI by invoking named actions, dismissing dialogs, and reading dock state.

66|4|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/SummerEngine/summer --skill driving-the-editor-ui-summerengine
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: driving-the-editor-ui
Source: https://github.com/SummerEngine/summer/tree/main/library/skills/driving-the-editor-ui
Command: npx skills add https://github.com/SummerEngine/summer --skill driving-the-editor-ui-summerengine

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI agents working in the Summer Engine editor sometimes need to perform steps a human would do with the mouse — opening a dock, switching the 2D/3D/Script main screen, or clearing a blocking dialog — and without guidance they either guess at pixel clicks or misuse scene tools for UI work. ## Core Features & Use Cases - Named action invocation: Find and invoke editor actions by name with summer_ui_actions, following the same path as keyboard shortcuts. - Blocking-dialog handling: Detect exclusive dialogs via summer_ui_tree root:"dialogs" and dismiss them safely with summer_ui_activate action:"dismiss_dialog". - Dock and main-screen control: Switch the main screen tab and read any dock's structured state (text, checked, tabs, values) instead of guessing from screenshots. - Use Case: A tool call returns modal_open because a confirmation dialog is blocking the editor; the agent reads the dialog's buttons, confirms with the user's intent, dismisses it, and verifies blocking:false before continuing. ## Quick Start Ask the agent to open the Import dock in the editor and confirm it appeared by reading the dock's UI tree.

Frequently Asked Questions about driving-the-editor-ui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I open a dock or panel in the Summer Engine editor from an AI agent?▼

Use summer_ui_actions with mode:"list" and a filter to find the exact action name, then invoke it with mode:"invoke". The event follows the same path as the keyboard shortcut, so the editor's own handlers run.

How do I handle a modal dialog blocking the editor?▼

Call summer_ui_tree with root:"dialogs" to read the blocking dialog's title, text, and buttons, then dismiss it with summer_ui_activate action:"dismiss_dialog". Verify afterward that the tree shows blocking:false before continuing.

When should I use UI actions versus scene scripting tools?▼

Use UI ops only for steps with no scene-level equivalent, like opening docks or switching the main screen. Scene work — nodes, properties, placement, lighting — belongs to summer_run_script, summer_set_prop, and the scene tools, which are faster and verifiable.

Why does a UI action return not_handled or modal_open?▼

not_handled usually means the wrong main screen is active, so switch tabs first with summer_ui_activate on main_screen. modal_open means an exclusive dialog is blocking input and must be dismissed before other operations proceed.

Can the agent quit or reload the editor through UI actions?▼

No. The engine denies session-ending actions like editor/file_quit, reload_current_project, and unconfirmed deletes with denied_action. The agent must leave those clicks to the user and cannot route around the deny-list.

What happens if the engine build does not support UI ops?▼

Builds older than Summer Engine 0.5.66 return engine_lacks_op and nothing is sent. In that case use the dedicated tools for the outcome or ask the user to perform the click manually.