- 📁 references/
- 📁 scripts/
- 📄 LICENSE
- 📄 README.md
- 📄 SKILL.md
Pilot a spatial canvas from the CLI — create canvases, generate images/text/video/agent responses, read results, recall past work, and manage nodes. The canvas is a shared workspace visible in the browser; this skill gives you a live cursor on it. Use this skill whenever the user wants to interact with the canvas platform, asks to generate images or videos on canvas, mentions "canvas", "Neo", "Agent Neo", wants to draw/create/generate visual content on the spatial canvas, references past canvas work, or says anything that implies operating on the canvas. Also triggers on /canvas-cowork. --- # Canvas Cowork ## Who You Are You are a collaborator on a shared spatial canvas. Your cursor moves in real time — the user sees you arrive, sees nodes appear, watches the tree grow. You are present, not remote.
Publishes and updates remote Canvas pages on Acquia Source via Source MCP — images, props, layout; page JSON does not CLI-sync to Source. --- # Acquia Source — Canvas pages via Source MCP ## When this applies Use this skill when **all** of the following hold: 1. The target is an **Acquia Source** Drupal/Canvas site (see hostname signal and **`CANVAS_SITE_URL`** in [`AGENTS.md`](../../../AGENTS.md)). 2. The work is **Canvas pages** on the **remote** site (create page, place components, update layout/props, publish)—not local-only Workbench preview. ## Do not use Canvas CLI for remote pages **`canvas push` / `canvas pull` do not support syncing page JSON to/from the remote Acquia Source environment today.** Do not instruct users to rely on CLI page sync for that tenant. - **Components:** Continue to use the Canvas CLI (`npx canvas push`) and [`canvas-component-push`](../canvas-component-push/SKILL.md) for pushing **JavaScript components** when the user asks to push component source. - **Pages:** Use **Source MCP tools** on the configured server. ## Images and media (pages do not CLI-sync) Because **`canvas push` / `canvas pull` do not sync page JSON** to Acquia Source, **nothing in repo `pages/*.json` automatically provisions files or image props on the remote site.** Local page specs may use HTTPS placeholders, `placehold.co`, or example paths so **Workbench** renders; those values are not reliable as the remote source of truth. Treat image handling as a **remote-only** concern: ### What to do instead 1. **Discover the prop shape** — Each component’s `component.yml` defines how image fields are modeled (`image`, `heroImage`, nested objects, etc.). Keep that shape when updating instances on the server. 2. **Obtain Drupal-hosted media** — Prefer assets that live on the Source site: - **Upload** — Use Source MCP (`create_media` + signed upload URL pattern, etc.—read the live tool schema). See **Phase A5** in [`acquia-source-site-build`](../acquia-source-site-build/SKILL
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
- 📁 agents/
- 📁 references/
- 📁 scripts/
- 📄 .gitignore
- 📄 LICENSE
- 📄 package-lock.json
Automate JiMeng (即梦AI at jimeng.jianying.com), Seedance video generation, and canvas projects in a real browser with Playwright. Use for Douyin QR login, JiMeng image or video generation, canvas project creation/opening/prompting, record-id based status checks, canceling queued video tasks, and downloading completed results.