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.