The bundled workspaces
Office
Per-slide editing, presentation mode, and
.pptx export. The agent collaborates on
the deck through <name>.deck.canvas.json.Powered by the Univer engine, with formulas, styles, merged cells, and frozen panes.
The agent collaborates through
<name>.sheet.univer.json.pptxgenjs and exceljs.
Canvas
An Excalidraw-style infinite space: text, shapes, images, Mermaid, tables, charts, and embedded web pages placed freely, exportable as one SVG. The agent collaborates on<name>.canvas.json — meaning the canvas contents are structured data, not a picture,
which is precisely why the agent can actually edit it.
UI Design
A Figma-style page / artboard / layer tree with a full property inspector (fills, gradients, strokes, radii, shadows, type). Documents are standalone*.uidesign.json.
This one goes further than the others: it ships its own .mcp.json, so the agent can
drive the canvas through MCP tools — adding, editing, and deleting nodes, aligning,
distributing, stacking, and grouping. Three design-system skill packs (iOS, Material, and
a generic mobile set) ship for use_skill to load.
How the agent uses a plugin
What lets a plugin do real work rather than just show more screenshots is that its output is structured data.A Canvas board is
<name>.canvas.json, a deck is .deck.canvas.json, a
spreadsheet is .sheet.univer.json, a design file is .uidesign.json. The agent
edits those JSON documents and the UI renders them — so it can add a shape or change
a cell style, rather than only redrawing the whole thing for you to look at.You open a panel to inspect and nudge; the agent keeps working on the same document.
Both are views of one file, so there is no screenshot round-trip to confirm what
happened.
ui-design takes one step further by shipping its own .mcp.json, so the agent drives
canvas nodes through MCP tools — add, edit, delete, align, distribute, stack, and
group all become parameterised calls. That is far more reliable than having the model
emit a large JSON blob and hoping it parses, and it is the argument for the “a plugin
ships its own MCP server” path.Skills
A skill is a knowledge pack loaded into the agent’s context. Skills are loaded and managed under Settings → Skills, and plugins contribute them via the manifest’sskills
field. The three design-system packs in UI Design are distributed exactly this way.
Local marketplace
plugins/marketplace.json is the repo’s marketplace manifest, installable from the in-app
plugin marketplace. Plugins live under plugins/ and are described by
.kova-plugin/plugin.json.
skills/ contributes skills,
panels.json registers panels, and mcpServers contributes an MCP server.
About build artifacts
Related settings surfaces
Beyond the workspaces above, settings include sections for MCP servers, skills, subagent definitions, computer control, observability, usage statistics with heatmaps, and backup and restore.Want to write your own plugin?
The developer docs cover the manifest shape, directory conventions, and build flow.
