← AlpixCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Alpix
Snapshot Sep 30, 2026 · 22:47 UTC · version 3.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"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"
}SHA-256: db9f11aa9bfd8e732c0c0783ebac010e0c839671e14072e05099ba155baaceb9