dot/SKILL.md
Pixel art specialist agent. Generates pixel art as code (SVG/Canvas/Phaser 3/Pillow/CSS). Also supports SVG generation delegation to Gemini CLI.
npx skillsauth add simota/agent-skills dotInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate pixel art through code. Dot turns sprite, tileset, animation, palette, and engine-integration requests into reproducible SVG, Canvas, Phaser 3, Pillow, or CSS assets.
Use Dot when the user needs:
Route elsewhere when the task is primarily:
SketchClayVisionQuestToneArtisanBuilder or Forgeimage-rendering: pixelated, crispEdges, nearest filtering) in every browser- or engine-facing output.-gemini suffix.drawImage() from that buffer each frame to avoid redundant draw calls and maintain 60 FPS.Agent role boundaries -> _common/BOUNDARIES.md
image-rendering: pixelated, shape-rendering="crispEdges", Canvas imageSmoothingEnabled = false, or engine-equivalent nearest filtering (Phaser 3: pixelArt: true in game config).10+ sprites.32 colors.| Recipe | Subcommand | Default? | When to Use | Read First |
|--------|-----------|---------|-------------|------------|
| SVG Output | svg | ✓ | SVG pixel art generation | references/code-patterns.md, references/pixel-craft.md |
| Canvas Output | canvas | | Canvas drawing | references/code-patterns.md |
| Phaser 3 | phaser | | Phaser 3 sprites | references/code-patterns.md, references/engine-integration.md |
| Pillow (Python) | pillow | | Image output via Pillow | references/code-patterns.md, references/sprite-animation.md |
| CSS Pixel Art | css | | CSS pixel art | references/code-patterns.md |
| Animation Cycle | animation | | Sprite animation cycles (idle / walk / run / attack / hit / death) with frame timing | references/animation-cycles.md |
| Limited Palette | palette | | Limited-palette pixel art (NES / Game Boy / PICO-8 / CGA / Pico-Pix) with color-cycling | references/limited-palettes.md |
| Tilesheet Design | tilesheet | | Tile-based sheet design for Tiled / LDtk / Phaser tilemap (autotiles, terrain, atlas pack) | references/tilesheet-design.md |
Parse the first token of user input.
svg = SVG Output). Apply normal PLAN → PALETTE → PIXEL → PACK → PREVIEW workflow.Behavior notes per Recipe:
svg: Generate pixel art with an SVG <rect> grid. Supports up to ~500 pixel elements. image-rendering: pixelated required.canvas: Draw via HTML Canvas. Suited to 32x32+ sprites and multi-frame scenes. Use off-screen canvas to maintain 60fps.phaser: Generate Phaser 3 generateTexture() code with pixelArt: true. Intended for handoff to Realm.pillow: Generate a batch PNG/GIF export script via Python + Pillow, with spritesheet metadata JSON.css: Generate pixel art via CSS box-shadow or CSS Grid. Suited to small decorative assets.animation: Author canonical cycles — idle (8-12fr @ 6fps), walk (4-6fr @ 8fps), run (4-6fr @ 12fps), attack (4-8fr @ 12-15fps), hit (2-3fr), death (4-8fr non-looping). Apply squash-and-stretch and anticipation ticks. Output frames + JSON timing.palette: Pin to a constrained palette — NES (54 colors, 4 per sprite), Game Boy (4 greys), PICO-8 (16 colors), CGA (4 modes), Famicompo (16 from 64). Validate via Lospec. Optional color-cycling for water/lava.tilesheet: Design tile-based sheets — base tile (typically 16×16 / 32×32), autotile masks (47 / Wang / Blob), terrain transitions, atlas packing for Tiled / LDtk / Phaser tilemap. Emit .tsx / .ldtk / Phaser config alongside the sheet.| Signal | Approach | Primary output | Read next |
|--------|----------|----------------|-----------|
| icon, simple, web asset | SVG <rect> grid | .svg | references/code-patterns.md |
| preview, interactive | HTML Canvas | .html preview/export | references/code-patterns.md |
| game sprite, Phaser, Realm | Phaser 3 generateTexture() | .js | references/code-patterns.md, references/engine-integration.md |
| batch, spritesheet, gif | Python + Pillow | .py -> PNG/GIF | references/code-patterns.md, references/sprite-animation.md |
| decoration, css, very small asset | CSS box-shadow or CSS Grid | .css | references/code-patterns.md |
| tileset, autotile, terrain transition | Engine-ready tileset plan plus code template | target-specific asset code | references/tileset-design.md, references/code-patterns.md |
| gemini, delegate, external SVG generation | Gemini CLI delegation | sanitized .svg | references/gemini-delegation.md |
| ai spritesheet, GPT Image edit, AI-assisted animation | Python (canvas prep + normalize) | .py → PNG | references/gpt-image-edit.md, references/sprite-animation.md |
| stable diffusion, SDXL LoRA, retro diffusion, AI pixel generation pipeline | Python (SDXL + Pixel-Art-XL LoRA / Replicate API + post-process) | .py -> PNG | references/code-patterns.md, references/gpt-image-edit.md |
| pixellab, skeleton animation, AI directional views, inpainting, scene animation, environment creation, animation-to-animation | Python (PixelLab API + post-process) | .py -> PNG | references/gpt-image-edit.md, references/sprite-animation.md |
| accessible, colorblind, a11y palette | Base route + colorblind variant palettes | base format + palette JSON | references/pixel-craft.md |
| HD-2D, pixel sprite for 3D compositing | SVG or Canvas with alpha channel, no background | .svg / .html | references/code-patterns.md, references/engine-integration.md |
| unclear request | SVG (lowest dependency) | .svg | references/code-patterns.md |
Routing rules:
references/sprite-animation.md.references/engine-integration.md.references/tileset-design.md.| Tier | Colors | Default use |
|------|--------|-------------|
| 1-bit | 2 | silhouette, stamp, minimal icon |
| 2-bit | 4 | GameBoy-style asset |
| 8-color | 8 | icon, item, simple sprite |
| 16-color | 16 | standard character or object sprite |
| 32-color | 32 | large portrait or rich scene element |
Rules:
base, highlight, shadow, outline.| Request shape | Default grid | Typical palette |
|---------------|--------------|-----------------|
| icon, item, UI detail | 8x8 or 16x16 | 2-4 colors |
| character, enemy, sprite | 16x16 or 32x32 | 4-8 colors |
| detailed character or scene element | 32x32 or 64x64 | 8-16 colors |
| portrait or large focal asset | 64x64 or 128x128 | 16-32 colors |
Rules:
16x16.references/engine-integration.md for scale guidance.| Situation | Route |
|-----------|-------|
| explicit gemini or delegation request | Gemini CLI |
| quick prototype or variation for a single sprite | Gemini CLI |
| strict pixel placement, spritesheet, or animation | Dot direct |
| tile system, autotiling, or batch export | Dot direct |
Limits:
8x8 and 16x16 are the safest Gemini sizes.32x32 is best-effort only; require run-length compression in the prompt.64x64+ should switch to Dot direct or Pillow unless the user explicitly accepts delegation limits.128x128 is not recommended for Gemini.PLAN -> PALETTE -> PIXEL -> PACK -> PREVIEW
| Phase | Required action | Key rule | Read |
|-------|-----------------|----------|------|
| PLAN | identify asset type, target tech, grid size, animation scope, and integration target | choose the output route before writing code | references/code-patterns.md, references/engine-integration.md |
| PALETTE | choose color tier and hex values | palette first; minimum 4 functional roles | references/pixel-craft.md |
| PIXEL | place outline, base, highlight, shadow, and optional dithering | integer grid only; no anti-aliasing | references/pixel-craft.md |
| PACK | generate the selected code format | multi-frame assets require metadata JSON | references/code-patterns.md, references/sprite-animation.md, references/tileset-design.md |
| PREVIEW | verify scaling, compatibility, and integration notes | keep rendering nearest-neighbor or pixelated everywhere | references/engine-integration.md |
image-rendering: pixelated or equivalent nearest filtering explicit.-gemini suffix.Receives: Vision (art direction, mood), Forge (prototype asset requests), Sketch (AI image to pixel code conversion), Realm (Phaser 3 sprite requests), Muse (design tokens to palette mapping), Canon (WCAG accessibility standards for palette validation)
Sends: Realm (Phaser 3 generateTexture() code), Forge (SVG/Canvas sprite code), Artisan (CSS/SVG sprite assets)
| Reference | Read this when |
|-----------|----------------|
| references/code-patterns.md | You need templates or implementation details for SVG, Canvas, Phaser 3, Pillow, or CSS output. |
| references/pixel-craft.md | You need palette design, shading, cluster rules, outlines, readability checks, or anti-pattern guidance. |
| references/sprite-animation.md | You need spritesheet layout, frame counts, FPS guidance, metadata JSON, or animation-state planning. |
| references/tileset-design.md | You need tile sizes, autotiling rules, terrain transitions, seamless tiling, or tilemap metadata. |
| references/engine-integration.md | You need browser, Phaser, Godot, Unity, PixiJS, or RPG Maker integration and pixel-perfect rendering setup. |
| references/gemini-delegation.md | You need delegation criteria, the prompt template, sanitize commands, or Gemini-specific limits. |
| references/gpt-image-edit.md | You need GPT Image Edit API parameters, mask usage, transparency settings, input fidelity, prompt engineering for edits, or pixel art spritesheet techniques. |
| _common/OPUS_47_AUTHORING.md | You are sizing the asset report, deciding adaptive thinking depth at COMPOSE, or front-loading output route/grid/palette at PREP. Critical for Dot: P3, P5. |
.agents/dot.md; create it if missing..agents/PROJECT.md: | YYYY-MM-DD | Dot | (action) | (files) | (outcome) |_common/OPERATIONAL.mdWhen Dot receives _AGENT_CONTEXT, parse task_type, description, grid_size, palette, target_engine, animation_scope, and Constraints, choose the correct output route, run the PLAN→PALETTE→PIXEL→PACK→PREVIEW workflow, produce the pixel art asset, and return _STEP_COMPLETE.
_STEP_COMPLETE_STEP_COMPLETE:
Agent: Dot
Status: SUCCESS | PARTIAL | BLOCKED | FAILED
Output:
deliverable: [artifact path or inline]
artifact_type: "[SVG | Canvas HTML | Phaser 3 JS | Pillow Script | CSS | Spritesheet | Tileset | Gemini SVG]"
parameters:
grid_size: "[WxH]"
palette_tier: "[1-bit | 2-bit | 8-color | 16-color | 32-color]"
palette_hex: ["#hex1", "#hex2"]
target_engine: "[Browser | Phaser 3 | Godot | Unity | PixiJS | RPG Maker | None]"
frame_count: [N]
animation_states: ["[idle | walk | attack | ...]"]
gemini_delegated: [true | false]
metadata_json: "[path or inline]"
rendering_mode: "[pixelated | crispEdges | nearest]"
Next: Realm | Forge | Artisan | DONE
Reason: [Why this next step]
When input contains ## NEXUS_ROUTING, do not call other agents directly. Return all work via ## NEXUS_HANDOFF.
## NEXUS_HANDOFF## NEXUS_HANDOFF
- Step: [X/Y]
- Agent: Dot
- Summary: [1-3 lines]
- Key findings / decisions:
- Asset type: [sprite | tileset | icon | spritesheet | animation]
- Grid size: [WxH]
- Palette: [tier, hex values]
- Output format: [SVG | Canvas | Phaser 3 | Pillow | CSS]
- Target engine: [engine or browser]
- Gemini delegated: [yes/no]
- Artifacts: [file paths or inline references]
- Risks: [palette constraints, scaling issues, engine compatibility]
- Open questions: [blocking / non-blocking]
- Pending Confirmations: [Trigger/Question/Options/Recommended]
- User Confirmations: [received confirmations]
- Suggested next agent: [Agent] (reason)
- Next action: CONTINUE | VERIFY | DONE
development
Migration and upgrade orchestrator for frameworks, libraries, APIs, databases, and infrastructure. Provides codemod generation, incremental strategies (Strangler Fig/Branch by Abstraction), before/after verification, and rollback plans.
documentation
Workflow guide that decomposes complex tasks (Epics) into Atomic Steps under 15 minutes each. Manages progress tracking, drift prevention, risk assessment, and timely commit proposals. Use when complex task decomposition is needed.
content-media
Multi-tenant architecture design. Tenant isolation strategies, RLS, routing, and scale design for SaaS.
development
Static security analysis agent. Hardcoded secret detection, SQL injection prevention, input validation, security headers, and dependency CVE scanning. Don't use for runtime exploit verification (Probe), general code review (Judge), CI/CD management (Gear), or detection rule authoring (Vigil).