---
name: open-excalidraw-canvas
description: Start, verify, and open a local mcp_excalidraw canvas for Sellable diagramming, whiteboarding, architecture sketches, and shareable Excalidraw work. Use when the user asks to open Excalidraw, start/serve an Excalidraw canvas, set up mcp_excalidraw, register the Excalidraw MCP, or prepare a Sellable canvas for team diagramming.
visibility: public
allowed-tools:
  - Read
  - Bash
  - ToolSearch
---

# Sellable Admin Open Excalidraw Canvas

Use the repo launcher:

```bash
{{adminRoot}}/scripts/excalidraw-canvas.sh
```

Supported flags:
- `--restart`
- `--build`
- `--stop`
- `--register-codex-mcp`

Rules:
- Runtime home is `{{adminHome}}`.
- The launcher clones `mcp_excalidraw` into `{{adminHome}}/tools/mcp_excalidraw` on first use.
- Default URL is `http://127.0.0.1:3000`.
- Open the returned URL in the in-app browser when Browser tools are available; otherwise report the URL.
- Do not clear the canvas unless the user explicitly asks.
- Tell the user that `--register-codex-mcp` requires a fresh Codex session/restart before MCP tools appear.

## UX mockups

When using the canvas to reproduce or design a product interface, prioritize
visual fidelity over a small element count:

- Inspect the live interface and its relevant source component before drawing;
  do not invent controls, labels, or states.
- Recreate the page with independent primitives: one rectangle per card, input,
  button, tab, and modal, plus one short text element per label, value, helper
  line, and action.
- Do not collapse a UI section into a long paragraph or a single multiline
  summary. Use a div-like stack or grid with explicit spacing instead.
- Make every button and input visibly bounded with an outline or a filled
  primary treatment. A text label alone is not a UI control.
- Keep modal states in a separate canvas area when comparing them with the
  underlying page state.
