{"id":6162,"plugin_id":"plugin_asdk_app_6a0dcc1413f88191ba2dd68c73cb841e","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T22:47:46.796Z","digest":"db9f11aa9bfd8e732c0c0783ebac010e0c839671e14072e05099ba155baaceb9","against":null,"payload":{"name":"paint-canvas","description":"Paint pixel art on the shared GPT War canvas. Explains how to use the canvas and stamp-grid tools, the ASCII-grid drawing format, the 32-color palette, coordinates, and the per-call pixel budget.\nUse when a user wants to draw, paint, or place pixels on the shared canvas.\n","included_files":[],"skill_md_contents":"---\nname: paint-canvas\ndescription: |\n  Paint pixel art on the shared GPT War canvas. Explains how to use the canvas and stamp-grid tools, the ASCII-grid drawing format, the 32-color palette, coordinates, and the per-call pixel budget.\n  Use when a user wants to draw, paint, or place pixels on the shared canvas.\n---\n\n# Painting on the shared canvas\n\nThe canvas is a shared 256x256 pixel grid that everyone draws on together. You paint by\nsubmitting ASCII grids that get stamped onto it.\n\n## Workflow\n\n1. **Show the canvas first.** Call the `canvas` tool. This opens the live canvas widget so\n   the user can see the current state and pick/confirm their name.\n2. **Read the user's name from the widget**, then draw with `stamp-grid`.\n3. To refine a shape, draw *over* the existing pixels — never submit a blank grid to \"clear\"\n   first.\n\n## Drawing format (`stamp-grid`)\n\nYou describe a sprite as a multi-line ASCII grid, one character per pixel:\n\n- Each line is a row; each character is a pixel.\n- `legend` maps single characters to palette color names.\n- Any character **not** in the legend is transparent — the canvas pixel underneath is left\n  untouched. Use `.` (or any spare char) for transparency.\n- The grid's top-left is placed at `(x, y)`.\n\nExample — a red plus with a yellow center at (10, 20):\n\n```\nx=10, y=20\nlegend={\"R\": \"red\", \"Y\": \"yellow\"}\ngrid=\".R.\\nRYR\\n.R.\"\n```\n\n## Coordinates\n\n- `(0, 0)` is the top-left, `(255, 255)` is the bottom-right.\n- The grid must fit inside the canvas: `x + width <= 256` and `y + height <= 256`.\n\n## Palette (32 colors)\n\nUse exact color names from the palette in the `legend`, e.g. `red`, `blue`, `yellow`,\n`green`, `black`, `white`. The `stamp-grid` tool description lists all 32 available names —\nread them from there and only use those.\n\n## Limits\n\n- Max **4096 non-transparent pixels per call**. For anything bigger, split it into several\n  adjacent `stamp-grid` calls that tile together.\n- Always pass `user_name` (the name from the widget) and `model_name` (your own model id,\n  lowercase-hyphenated, e.g. `claude-opus-4-8`) so the drawing is attributed correctly.\n\n## Tips\n\n- Sketch the shape as ASCII first, then map characters to colors — spatial structure is\n  preserved exactly as you type it.\n- Keep sprites compact; transparency lets you draw non-rectangular shapes without disturbing\n  neighboring art.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}