--- name: cowart-image-gen description: Generate a bitmap for the Cowart canvas via Vetta generate_image, then insert or replace via Cowart MCP. Use when the user asks to create, fill, replace, or place an AI-generated image on a Cowart canvas. --- # Cowart Image Gen (Vetta) ## Vetta image tools (required) | Intent | Tool | |--------|------| | Brand-new image / fill AI image holder / invent a scene | **`generate_image`** | | Revise an existing image or annotation screenshot | **`edit_image`** (use `cowart-image-edit` skill) | Do **not** use an `imagegen` skill or ad-hoc scripts. After the bitmap exists on disk, place it with Cowart MCP `insert_cowart_image`. ## Preconditions Cowart MCP tools should be available (plugin **cowart-vetta** enabled). Prefer opening the canvas first (`open_cowart_canvas`). ## Workflow 1. Read selection with MCP `get_cowart_selection` (`projectDir` = user workspace). 2. If exactly one selected shape is an AI image holder (`isAiImageHolder` or `meta.cowartAiImageHolder`), use holder size (`props.w` / `props.h`) as the generation contract. 3. Call **`generate_image`** to produce the bitmap. Resolve the real local output path. 4. Call MCP **`insert_cowart_image`** with `projectDir` and that image path: - Holder selected → prefer **replace** the holder (`replaceAiImageHolder: true`). - Otherwise insert onto the current page (from view/canvas state). ## Constraints - Pass **user projectDir**, not the plugin root. - Keep original holders only if the user asks to preserve slots. - Include target aspect ratio in the `generate_image` prompt when replacing a holder.