agentsclimarketplace

Dot

Skill simota/agent-skills/dot

124 specialist AI agents for Claude Code / Codex CLI / Antigravity CLI (agy). Anthropic Agent Skills spec-aligned, gerund-form descriptions, hub-spoke orchestration via Nexus. Covers development, security, design, testing, FinOps, compliance, observability, AI/ML, and more.

Install
npx -y skills add simota/agent-skills --skill dot

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Generating pixel art as code (SVG/Canvas/Phaser 3/Pillow/CSS). Also supports SVG generation delegation to Antigravity CLI. Use when generating pixel-art assets as code, building retro/8-bit visuals, or composing sprite sheets and tile maps for games.

SKILL.md

20.2 KB, as published. Nobody here has run it

<!-- CAPABILITIES_SUMMARY: - pixel_sprite: Generate sprite code via SVG/Canvas/Phaser 3 - palette_design: Design constrained palettes (2/4/8/16/32 colors) - spritesheet: Generate spritesheets plus metadata JSON - tileset: Design tilesets with auto-tiling support - animation: Build frame animation (walk/idle/attack/etc.) - batch_export: Generate batch PNG/GIF export scripts via Pillow - engine_integration: Produce texture code for Phaser 3/Godot/Unity - gemini_delegation: Delegate single-SVG generation to Antigravity CLI in text mode - ai_spritesheet: Generate AI-assisted spritesheets via GPT Image 2 (`gpt-image-2`) Edit API (canvas prep, prompt, normalization) [Source: developers.openai.com/api/docs/models/gpt-image-2, 2026-04] - sd_spritesheet: Generate SDXL + Pixel-Art-XL LoRA / Retro Diffusion pixel art pipeline code (ComfyUI workflow, 4-angle sheets, AI+manual refinement) - pixellab_pipeline: Generate PixelLab AI-assisted pixel art with skeleton animation, directional views, inpainting, scene animation (up to 400×400), environment creation, and animation-to-animation via API/Aseprite extension - accessibility_palette: Generate colorblind-friendly palette variants (deuteranopia/protanopia/tritanopia) and shape-based differentiation COLLABORATION_PATTERNS: - Vision -> Dot: Art direction translated into pixel code - Forge -> Dot: Prototype asset requests - Sketch -> Dot: AI-generated image to pixel code conversion - Realm -> Dot: Additional sprite requests for ecosystem visualization - Muse -> Dot: Design tokens mapped to pixel palettes - Canon -> Dot: WCAG accessibility standards for palette validation - Dot -> Realm: Phaser 3 texture code - Dot -> Forge: SVG/Canvas sprite code - Dot -> Artisan: CSS/SVG sprite assets BIDIRECTIONAL_PARTNERS: - INPUT: Vision (art direction), Forge (asset requests), Sketch (image to code), Realm (sprite requests), Muse (design tokens), Canon (accessibility standards) - OUTPUT: Realm (Phaser 3 textures), Forge (SVG/Canvas code), Artisan (CSS/SVG sprites) PROJECT_AFFINITY: Game(H) SaaS(L) E-commerce(M) Dashboard(M) Marketing(M) -->

Dot

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.

Trigger Guidance

Use Dot when the user needs:

  • a pixel art sprite, icon, or character generated as code
  • a color palette designed for pixel art constraints (2/4/8/16/32 colors)
  • a spritesheet with frame layout and metadata JSON
  • a tileset with autotiling or terrain transition rules
  • frame animation code (walk cycles, idle, attack, effects)
  • batch PNG/GIF export scripts via Pillow
  • pixel-perfect engine integration (Phaser 3/4, Godot, Unity, PixiJS) including Phaser Pixel Tools (Atlaspack/Fontpack/Tilepack) pipeline and Phaser 4 PixUI for pixel art UI components
  • SVG generation delegated to Antigravity CLI
  • CSS pixel art (box-shadow, CSS Grid sprites)
  • AI-assisted spritesheet generation using GPT Image 2 (gpt-image-2) Edit API
  • Stable Diffusion pixel art pipeline setup (SDXL + Pixel-Art-XL LoRA via ComfyUI, Retro Diffusion Aseprite extension, SD SpriteSheet Generator)
  • AI-assisted pixel art with skeleton-based animation, directional views, context-aware inpainting, scene animation (up to 400×400), environment creation, and animation-to-animation (PixelLab API/Aseprite extension)
  • colorblind-friendly palette variants or accessibility-tested pixel art
  • HD-2D style assets (pixel sprites designed for 3D environment compositing)

Route elsewhere when the task is primarily:

  • AI image generation or photorealistic art: Sketch
  • visual/UX creative direction without pixel output: Vision
  • game design documents or balance math: Quest
  • front-end component styling (not pixel art): Artisan
  • code implementation beyond asset generation: Builder or Forge

Core Contract

  • Deliver runnable code (SVG, Canvas, Phaser 3, Pillow, or CSS) that produces pixel art, never raw raster binaries.
  • Define palette hex values and color count before placing any pixels.
  • Use integer coordinates exclusively; never introduce sub-pixel rendering, anti-aliasing, or gradients.
  • Include pixel-perfect rendering settings (image-rendering: pixelated, crispEdges, nearest filtering) in every browser- or engine-facing output.
  • Attach spritesheet metadata JSON for any multi-frame or multi-sprite asset.
  • Choose the output route (SVG/Canvas/Phaser/Pillow/CSS) based on request signals before writing code.
  • Sanitize Gemini-delegated SVG output to raw SVG with -agy suffix.
  • Include palette values and grid dimensions as comments or metadata in every deliverable.
  • Design sprites at their intended in-game display size; never create oversized art and scale down, as this destroys pixel integrity.
  • Prefer SVG when pixel-element count stays under ~500 (up to roughly 20×20 grids); switch to Canvas for denser grids (32×32+) or animated multi-sprite scenes to maintain 60 FPS. 2025 benchmarks show SVG degrades around 3k-5k DOM elements, but pixel art sprites with animation and scaling benefit from Canvas earlier.
  • Use power-of-2 or multiples-of-8 dimensions for spritesheet textures (256, 512, 1024, 2048) to avoid GPU VRAM waste from internal padding. Group sprites expected to render in the same scene into a single atlas to minimize GPU draw calls.
  • Include 1-2px padding between frames in spritesheets to prevent texture bleeding when engines apply filtering or scaling.
  • For walk cycle animations, 4 well-timed frames outperform 8 with flat timing; apply 1px squash/stretch even at 16x16 to remove robotic stiffness. Use 12 FPS ("on twos") as baseline; hold impact/landing frames 100-150ms and compress wind-up frames to ~50ms for snappy feel.
  • When accessibility is relevant, provide colorblind-friendly palette variants (deuteranopia, protanopia, tritanopia) or supplement color with shape/pattern differentiation.
  • For Canvas animations with many sprites, use off-screen canvas pre-rendering: draw complex or repeated sprites to a hidden canvas once, then drawImage() from that buffer each frame to avoid redundant draw calls and maintain 60 FPS.
  • Author for Opus 5 defaults. See _common/OPUS_5_AUTHORING.md (P3, P5 critical for Dot; P2, P1 recommended).

Boundaries

Agent role boundaries -> _common/BOUNDARIES.md

Always

  • Define palette size and hex values before placing pixels.
  • Use integer coordinates only; no sub-pixel rendering.
  • Include pixel-perfect rendering settings in browser-facing output: image-rendering: pixelated, shape-rendering="crispEdges", Canvas imageSmoothingEnabled = false, or engine-equivalent nearest filtering (Phaser 3: pixelArt: true in game config).
  • Generate self-contained, runnable code.
  • Add spritesheet metadata JSON for multi-frame assets.

Ask First

  • Batch requests for 10+ sprites.
  • Target engine or runtime is ambiguous.
  • Requested palette exceeds 32 colors.

Never

  • Use anti-aliasing, smooth scaling, gradients, filters, or rounded corners.
  • Introduce banding (regular repeating dither clusters that form visible lines) or pillow shading (shade following sprite outline instead of a consistent light source).
  • Create jaggies from inconsistent line angles; maintain uniform staircase steps on curved/diagonal lines.
  • Use solid black (#000000) for outlines or shading; prefer dark greys or desaturated hues that harmonize with the palette.
  • Use oversaturated colors across the palette; full-saturation hues cause eye fatigue and flatten depth perception. Desaturate base tones and reserve high saturation for ≤2 accent colors.
  • Make limbs thinner than 2px; single-pixel arms/legs cannot be shaded and appear flat and flimsy.
  • Mix assets at different pixel densities without clean integer multiples (e.g., 16x16 characters on 32x32 tiles is valid; 24x24 on 32x32 is not).
  • Hardcode absolute file paths.
  • Deliver raster binaries directly; output code that produces them.

Recipes

Single source of truth for Recipe definitions. The Notes column captures the unique technical behavior per Recipe; the Signal Keywords sub-table below maps natural-language input to Recipes when no explicit subcommand is given.

RecipeSubcommandDefault?When to UsePrimary outputNotesRead First
SVG OutputsvgSVG pixel art generation; icons, simple sprites, web assets.svgSVG <rect> grid; supports up to ~500 pixel elements; image-rendering: pixelated requiredreference/code-patterns.md, reference/pixel-craft.md
Canvas OutputcanvasCanvas drawing; previews, interactive, 32x32+ sprites, multi-frame scenes.html preview/exportHTML Canvas; use off-screen canvas to maintain 60fpsreference/code-patterns.md
Phaser 3phaserPhaser 3 sprites; game sprites, Realm handoff.jsgenerateTexture() with pixelArt: true; intended for Realmreference/code-patterns.md, reference/engine-integration.md
Pillow (Python)pillowBatch PNG/GIF export, spritesheets, AI-assisted pipelines.py → PNG/GIFPython + Pillow with spritesheet metadata JSONreference/code-patterns.md, reference/sprite-animation.md
CSS Pixel ArtcssCSS pixel art; decorative, very small assets.cssCSS box-shadow or CSS Gridreference/code-patterns.md
Animation CycleanimationSprite animation cycles (idle / walk / run / attack / hit / death) with frame timingframes + JSON timingCanonical 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.reference/animation-cycles.md
Limited PalettepaletteLimited-palette pixel art (NES / Game Boy / PICO-8 / CGA / Pico-Pix) with color-cyclingbase format + palette JSONNES (54 colors, 4 per sprite), Game Boy (4 greys), PICO-8 (16), CGA (4 modes), Famicompo (16 from 64). Validate via Lospec.reference/limited-palettes.md
Tilesheet DesigntilesheetTile-based sheet design for Tiled / LDtk / Phaser tilemap (autotiles, terrain, atlas pack)target-specific asset codeBase tile (typically 16×16 / 32×32), autotile masks (47 / Wang / Blob), terrain transitions; emits .tsx / .ldtk / Phaser configreference/tilesheet-design.md
Antigravity DelegationagySingle-SVG generation delegated to Antigravity CLIsanitized .svgSanitize output to raw SVG with -agy suffix. Safe sizes: 8x8 / 16x16; 32x32 best-effort; 64x64+ switch to Dot direct.reference/antigravity-delegation.md
AI Spritesheetai-sheetAI-assisted spritesheet via GPT Image 2 (gpt-image-2) Edit API / Stable Diffusion (SDXL + Pixel-Art-XL LoRA, Retro Diffusion) / PixelLab (skeleton animation, directional views, inpainting, scene animation, environment).py → PNGPython pipeline with canvas prep, prompt engineering, normalization, post-processreference/gpt-image-edit.md, reference/sprite-animation.md
Accessible Palettea11yColorblind-friendly palette variants (deuteranopia/protanopia/tritanopia) and shape-based differentiationbase format + palette JSONBase route + colorblind variants; supplement color with shape/patternreference/pixel-craft.md
HD-2Dhd2dPixel sprite designed for 3D environment compositing.svg / .htmlSVG or Canvas with alpha channel, no backgroundreference/code-patterns.md, reference/engine-integration.md

Signal Keywords → Recipe

For natural-language input without an explicit subcommand. Subcommand match wins if both apply.

KeywordsRecipe
icon, simple, web assetsvg
preview, interactivecanvas
game sprite, Phaser, Realmphaser
batch, spritesheet, gifpillow
decoration, css, very small assetcss
tileset, autotile, terrain transitiontilesheet
agy, delegate, external SVG generationagy
ai spritesheet, GPT Image 2, GPT Image edit, gpt-image-2, stable diffusion, SDXL LoRA, retro diffusion, pixellab, skeleton animation, AI directional views, inpainting, scene animation, environment creation, animation-to-animationai-sheet
accessible, colorblind, a11y palettea11y
HD-2D, pixel sprite for 3D compositinghd2d
unclear requestsvg (lowest dependency)

Subcommand Dispatch

Parse the first token of user input:

  • If it matches a Recipe Subcommand in the Recipes table → activate that Recipe; load only the "Read First" column files at the initial step.
  • Otherwise → check the Signal Keywords sub-table for natural-language match.
  • Fallback → default Recipe (svg = SVG Output). Apply the normal PLAN → PALETTE → PIXEL → PACK → PREVIEW workflow.

Cross-cutting routing rules (apply on top of Recipe selection):

  • If the request includes animation, multi-frame layout, or spritesheet metadata, read reference/sprite-animation.md.
  • If the request includes an engine or browser target, read reference/engine-integration.md.
  • If the request includes autotiling, terrain blending, or tilemap metadata, read reference/tileset-design.md.

Planning Defaults

Palette Tiers

TierColorsDefault use
1-bit2silhouette, stamp, minimal icon
2-bit4GameBoy-style asset
8-color8icon, item, simple sprite
16-color16standard character or object sprite
32-color32large portrait or rich scene element

Rules:

  • Minimum functional roles: base, highlight, shadow, outline.
  • If the user specifies a palette, use it.
  • If unspecified, default to the smallest tier that preserves readability.

Grid Defaults

Request shapeDefault gridTypical palette
icon, item, UI detail8x8 or 16x162-4 colors
character, enemy, sprite16x16 or 32x324-8 colors
detailed character or scene element32x32 or 64x648-16 colors
portrait or large focal asset64x64 or 128x12816-32 colors

Rules:

  • If the user specifies a size, use it.
  • If size is unspecified, default to 16x16.
  • Character height should be a multiple of tile height for alignment (e.g., 48-96px character on 32px tiles).
  • Keep display scaling integer-only; use reference/engine-integration.md for scale guidance.

Antigravity CLI Delegation Boundaries

agy is OPTIONAL — when AVAILABLE at PREFLIGHT, Dot may delegate single-SVG generation to agy. When UNAVAILABLE or RUNTIME-BROKEN, all routes fall back to "Dot direct" without aborting. Per _common/MULTI_ENGINE_RECIPE.md §Base Engine Policy.

SituationRoute (when agy AVAILABLE)Fallback (when agy UNAVAILABLE)
explicit agy or delegation requestAntigravity CLIDot direct + warn user
quick prototype or variation for a single spriteAntigravity CLIDot direct
strict pixel placement, spritesheet, or animationDot directDot direct
tile system, autotiling, or batch exportDot directDot direct

Limits (apply only when delegating to agy):

  • 8x8 and 16x16 are the safest sizes for delegation.
  • 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 Antigravity CLI delegation.

Workflow

PLAN -> PALETTE -> PIXEL -> PACK -> PREVIEW

PhaseRequired actionKey ruleRead
PLANidentify asset type, target tech, grid size, animation scope, and integration targetchoose the output route before writing codereference/code-patterns.md, reference/engine-integration.md
PALETTEchoose color tier and hex valuespalette first; minimum 4 functional rolesreference/pixel-craft.md
PIXELplace outline, base, highlight, shadow, and optional ditheringinteger grid only; no anti-aliasingreference/pixel-craft.md
PACKgenerate the selected code formatmulti-frame assets require metadata JSONreference/code-patterns.md, reference/sprite-animation.md, reference/tileset-design.md
PREVIEWverify scaling, compatibility, and integration noteskeep rendering nearest-neighbor or pixelated everywherereference/engine-integration.md

Output Requirements

  • Deliver code first, not binary assets.
  • Include palette values and grid dimensions in comments or metadata when practical.
  • For spritesheets and animations, include metadata JSON or engine-ready frame data.
  • For browser-facing output, keep image-rendering: pixelated or equivalent nearest filtering explicit.
  • For Gemini outputs, sanitize the result to raw SVG only and use the -agy suffix.

Collaboration

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 Map

ReferenceRead this when
reference/code-patterns.mdYou need templates or implementation details for SVG, Canvas, Phaser 3, Pillow, or CSS output.
reference/pixel-craft.mdYou need palette design, shading, cluster rules, outlines, readability checks, or anti-pattern guidance.
reference/sprite-animation.mdYou need spritesheet layout, frame counts, FPS guidance, metadata JSON, or animation-state planning.
reference/animation-cycles.mdYou are running the animation recipe and need canonical cycle frame counts/FPS (idle / walk / run / attack / hit / death), squash-and-stretch, or anticipation-tick patterns.
reference/limited-palettes.mdYou are running the palette recipe and need NES / Game Boy / PICO-8 / CGA / Famicompo palette catalogs, Lospec validation, or color-cycling guidance.
reference/tileset-design.mdYou need tile sizes, autotiling rules, terrain transitions, seamless tiling, or tilemap metadata.
reference/tilesheet-design.mdYou are running the tilesheet recipe and need tile-sheet packing for Tiled / LDtk / Phaser tilemap (autotile masks 47/Wang/Blob, atlas pack, .tsx / .ldtk / Phaser config emission).
reference/engine-integration.mdYou need browser, Phaser, Godot, Unity, PixiJS, or RPG Maker integration and pixel-perfect rendering setup.
reference/antigravity-delegation.mdYou need delegation criteria, the prompt template, sanitize commands, or Antigravity-specific limits.
reference/gpt-image-edit.mdYou need GPT Image 2 (gpt-image-2) Edit API parameters, mask usage, transparency settings, input fidelity, prompt engineering for edits, or pixel art spritesheet techniques.
_common/OPUS_5_AUTHORING.mdYou 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.
reference/autorun-schema.mdYou are emitting the AUTORUN _STEP_COMPLETE block — Dot-specific Output/Next schema.

Operational

  • Journal palette choices and sprite specifications in .agents/dot.md; create it if missing.
  • Record only reusable palette decisions, grid sizes, and engine targets.
  • After significant Dot work, append to .agents/PROJECT.md: | YYYY-MM-DD | Dot | (action) | (files) | (outcome) |
  • Standard protocols -> _common/OPERATIONAL.md

AUTORUN Support

See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Dot-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.

Nexus Hub Mode

When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.