Skip to main content

board

Plan, create, edit, chart, read back, and visually verify Board canvas units with the Lite Interface.

Aller à l'installation

Informations de source

Dépôt
dream-num/univer-cli
Dernière activité de la source
7 septembre 2026 à 04:56
Langue détectée de SKILL.md
anglais
Étoiles
7
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
11 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
board
description
Plan, create, edit, chart, read back, and visually verify Board canvas units with the Lite Interface.
# Board units Use native editable Board elements to express the user's intent. Choose shape types, layout, spacing, colors, and emphasis for the actual content; examples are not templates that every Board must follow. ## Start with the task - Inspect an existing Board before editing; preserve unrelated content and deliberate manual layout. - For a new relationship-heavy diagram, draft a compact [BoardSpec](references/board-spec.md) to preserve meaning before choosing geometry. Translate it through Facade APIs; it is not an SDK input or another persisted model. - Direct edits, standalone charts, images, sticky notes, and freehand work can call their dedicated APIs without a spec. Do not invent graph relations just to use one. - Read only the relevant reference below. Use `univer skills get board` for this entrypoint and `univer skills path board --json` to locate selected files; `--full` loads every reference and is unnecessary for ordinary tasks. | Task | Read when needed | | --------------------------------------------------------------- | ---------------------------------------------------- | | Relationship planning, semantic IDs and nesting | [BoardSpec](references/board-spec.md) | | Flowcharts, activity lanes, fork/join, composite states | [Flow and state](references/flow-state.md) | | Lifelines, activation bars, messages and fragments | [Sequence](references/sequence.md) | | Class/ER compartments, relation ends and cardinalities | [Class and ER](references/class-er.md) | | Use cases, component interfaces, deployment/package nesting | [Structural UML](references/uml-structure.md) | | Mind maps, trees, timelines and family selection | [Mind maps](references/mind-map.md) | | Tables, charts, images, sticky notes, resources, embeds and Ink | [Content selection](references/content-selection.md) | | Endpoint selection, routing diagnostics or animation | [Connector routing](references/connector-routing.md) | | Multiple texts, label sizing, wrapping or placement | [Connector labels](references/connector-labels.md) | | Explicit multi-profile coverage or UI regression testing | [Diagram review](references/diagram-review.md) | The profile narrows the search, not the design. Mix native primitives where the intent warrants it; no fixed node size, layout direction, color palette, or animation count is required. ## Work through the installed API Create a Board only when a new unit is needed; retain its returned unit ID: ```bash univer unit add canvas.univer --worktree <id> --type board --name "Planning Board" --json univer inspect board canvas.univer --worktree <id> --unit <board-id> --json univer api show FBoard.insertShape FBoard.insertConnector ``` `inspect board` is a selector-free overview. `inspect board-element id:<element-id> ...` gives type-specific detail without the full snapshot. Both are read-only. Query only the Facade methods/types needed for the next operation with `api find` / `api show`, rather than loading the entire capability catalog. `execute` predefines `univerAPI`, `api`, and the `FBoard` named `board`; do not redeclare them. The installed SDK is authoritative: before a large batch, probe selected runtime methods/enums in a read-only call if their availability is uncertain. An indexed type alone does not establish runtime support. Do not invent parameters or upgrade dependencies to match a reference; report unavailable capabilities or explain a semantics-preserving fallback. ```bash univer execute canvas.univer --worktree <id> --unit <board-id> -e ' const shape = board.insertShape({ shapeType: api.Enum.ShapeTypeEnum.RoundRect, transform: { left: 80, top: 80, width: 180, height: 100 } }); if (!shape) throw new Error("Cannot insert Board shape"); shape.getText().setText("Review"); return { shapeId: shape.getId(), elements: board.describeElements() };' ``` `insertShape` takes geometry in `transform`, visual properties in `shapeData`, and text through the returned live handle—not top-level `id`, coordinates, or `text`. Retain generated IDs and map semantic IDs to them. Await asynchronous operations according to their installed signatures before dependent calls or readback. Create and arrange nodes before their connectors. Use element-bound endpoints; for ordinary automatic connections, start with `fromElementId` / `toElementId` and omit sides/routing overrides. Introduce explicit ports or routes for diagram semantics or a diagnosed layout problem, not guessed pixel endpoints. Native map branches belong to their layout owner. Sequence messages need the lifeline/activation rules in their reference. Create known parents before children. Direct insertion into a parent uses parent-local coordinates; `insertShapeAtPoint()` resolves a Board-world top-left point. Read back `parentId`, `laneId` and world bounds: a shape drawn inside a box is not necessarily its child. ## Verify in proportion to the change For a generated diagram, follow intent → spec when useful → layout decisions → Facade calls → check → targeted repair: 1. Read back persisted elements/text, ownership and bindings with `describeElements()`, `getElements()`, or type-specific inspection. Check the requested meaning, not only counts. 2. Run `board.analyzeModelLayout(48)`, then a full `univer screenshot ... --json`. Inspect the image and `outputs[0].layoutAnalysis`; headless analysis cannot establish final font metrics or automatic routes. 3. Repair implicated elements and recapture. Use [routing](references/connector-routing.md) or [label](references/connector-labels.md) guidance for their diagnostics. Never silently discard semantics to pass. 4. Hand off an overview and any needed readable details. Distinguish clean results, visually reviewed diagnostic exceptions, and blockers; command success alone is not visual verification. For a localized edit, inspect the changed region and affected relationships; do not regenerate the Board or run an unrelated profile matrix. Full drag/menu/Undo/Redo testing belongs to explicit interaction or coverage requests, not every authoring task. A static screenshot does not prove UI behavior. ```bash univer screenshot canvas.univer --worktree <id> --unit <board-id> --out ./board-overview --json univer open canvas.univer --worktree <id> ```
Voir sur GitHub