jeffna1/antigravity-voxel-godot-setup/voxel-icon

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Generate clean, playful low-density isometric voxel icon illustrations and explicitly requested four-frame physically credible loops built from large opaque face-lit acrylic blocks on an exact #F4F4F4 background. Preserve the subject's native palette by default, with optional explicitly selected Oreo preset-directed modes. Use for voxel art, macro-voxel 3D icons, isometric block-built objects, animated voxel icon loops or GIFs, blocky editorial symbols, emoji-to-voxel objects, or a visually consistent series. Prefer this skill for isolated objects rather than dense cube grids, Minecraft scenes, smooth low-poly renders, glossy edge-lit toys, transparent glass objects, or 2D pixel art.

Install

npx vskill@latest install jeffna1/antigravity-voxel-godot-setup/voxel-icon

SKILL.md

Voxel Icon

Create a new bitmap illustration from the user's topic. Preserve the construction, camera, lighting, and graphic economy calibrated by the bundled internally generated references; do not infer their literal subjects.

Required reading

Always read references/style-spec.md and references/palette-standard.md. Read references/oreo-palette-library.md only for directed or directed-aggressive palette mode. Read references/palette-standard-aggressive.md only for directed-aggressive. Read references/loop-animation.md only when the user explicitly requests a loop, animation, GIF, animated WebP, or four-frame motion. Load the internally generated assets/reference-sheet.png for camera, face lighting, and graphic color behavior. Load the internally generated assets/macro-block-reference.png for block density, large cuboid construction, and seam economy. Do not infer a bundled subject unless the user requests it.

Configuration

Record the palette mode before generating:

yaml
palette_mode: native
palette_preset: null
output_mode: still
  • native is the hard default. Preserve the source object or emoji's full recognizable dominant, companion, accent, black, white, and material-color relationships. Native has no fixed hue whitelist and must not collapse subjects into a recurring red-yellow-blue set. Do not map native colors to an Oreo preset or to the calibration sheet's colors.
  • directed is opt-in. Enable it only when the user asks for directed or Oreo-derived color, requests palette matching, or names a preset. Search the complete registry unless palette_preset is explicitly fixed.
  • directed-aggressive is opt-in. Enable it only when the user explicitly asks for aggressive, expressive, layered, or comparison-oriented preset application.
  • A named Oreo preset implies directed, not directed-aggressive.
  • Never infer a directed mode merely because a matching preset exists. An unspecified request always remains native.
  • still is the output default. Use loop only when the user explicitly requests motion, and follow references/loop-animation.md.

Workflow

  1. Extract the subject, intended use, aspect ratio, any exact text, whether the output belongs to a series, and the explicit palette mode if supplied. Default to one square RGB PNG with no text, palette_mode: native, and an exact #F4F4F4 final background.
  2. Treat supplied images as user inputs and the self-contained bundled sheet as a calibration reference, not an edit target, unless the user explicitly requests an edit.
  3. Reduce an abstract topic to one compact, recognizable object or relationship. Keep only two or three identity cues.
  4. Convert the subject onto one coarse base-module grid. Build it from a small number of large rectangular voxel blocks whose dimensions are integer multiples of that module. Merge adjacent cells into clean cuboids and suppress their internal seams. Use stepped silhouettes rather than smooth geometry. For a series, lock one projected base-module size and one camera zoom; simplify complex subjects instead of densifying the grid.
  5. Write the mode-specific color plan from references/palette-standard.md. In native, map the extracted native signature directly onto components. In directed, add B/D-style structural allocation, one selected complete preset, whole-preset tone adjustment, and token mapping. In directed-aggressive, also apply the discrete layer rules.
  6. Build a structured prompt using the contract below, then call the built-in image generation tool with the smallest useful reference set. After the first asset in a series is approved, include one approved same-series output as a material, base-module, and camera calibration reference for later assets; do not copy its subject.
  7. Inspect the result at full size and thumbnail size. Reject smooth meshes, rounded blocks, dense tiled surfaces, 2D pixel art, busy scenery, inconsistent perspective, weak subject recognition, or colors that do not match the recorded palette mode and color plan.
  8. Classify iteration feedback before editing. If the feedback concerns only color, shadow, material, or background, use the current output as the edit target and explicitly lock silhouette, voxel topology, component count, component positions, camera, scale, and framing. Do not redesign the object during a palette correction.
  9. Iterate with one targeted correction. Keep the approved object unchanged while correcting color, shadow, material, or background.
  10. Run scripts/normalize-gray-background.py INPUT.png OUTPUT.png on the accepted render. This replaces near-gray model drift with the exact #F4F4F4 final field without rerendering the subject.
  11. Verify that the final is an opaque RGB PNG, every clean background region measures #F4F4F4, and subject geometry, pixels, scale, framing, and edge quality remain unchanged.
  12. For output_mode: loop, first identify the real object and write its physical motion model, rigid groups, articulated parts, fixed connections, and forward/back states as required by references/loop-animation.md. Generate two complete pose images from the accepted still. Name at least two visibly changing semantic regions; they may move independently or change together as consequences of one credible rigid or articulated motion. Never invent a joint, detach a fixed component, or substitute a 2D whole-frame transform for a newly generated 3D pose. Assemble the complete generated frames directly without masks, local compositing, inpainting, background normalization, color matching, or rigid post-transforms.

For directed-aggressive, preserve every structural invariant and use references/palette-standard-aggressive.md. Never enable it implicitly.

Background normalization

Use one neutral backdrop for every working render and final asset. The model-facing prompt and final image both use a perfectly flat #F4F4F4 field. Treat any other measured corner value, tint, gradient, vignette, alpha channel, or per-image gray drift as a defect.

Normalize the accepted render deterministically:

bash
python scripts/normalize-gray-background.py INPUT.png OUTPUT.png

The script samples the flat outer border, isolates only border-connected background, preserves enclosed white regions, and composites the unchanged subject onto exact #F4F4F4. It outputs one opaque RGB PNG. If it refuses a non-uniform border or an edge-touching subject, correct the render instead of increasing tolerance until content disappears.

Concept reduction

  • For a concrete object, preserve its silhouette, one color signature, and one defining feature.
  • For an abstract topic, choose a familiar physical metaphor before adding detail.
  • Prefer one object. Allow a small paired relationship only when it carries the concept, such as pencil plus ruler for design or bars plus arrow for markets.
  • Avoid text as a substitute for recognition. Add lettering only when the user supplies exact text.
  • Do not invent eyes, faces, symbols, accent tiles, or internal marks that the user did not request.
  • Keep appendages at least one base module thick and readable at thumbnail size.
  • Assign the dominant role to the primary recognizable component. Choose companion, accent, black, and white roles by semantics rather than measured pixel area.
  • Define color units before prompting. A shape is one contiguous physical mass or one coherent attached object; its top, front, side, markings, and internal regions still belong to that same shape.
  • Extract the individual source emoji or real object's complete recognizable color signature before assigning colors, including every semantically distinct component color and functional black or white.
  • In native, keep those source relationships directly. Brown, orange, green, teal, purple, pink, cyan, metallic gray, cream, and any other source hue remain valid. Use semantic OKLCH correction only to keep each native hue saturated and its face-derived values coherent; never replace it with a smaller preferred palette.
  • In directed, use the B/D-style allocation logic without inheriting B or D's hues, search all 40 Oreo presets, and map the selected complete preset onto genuine components.
  • In directed-aggressive, allow up to three same-preset tokens on distinct real layers or stepped blocks; never place multiple colors on one continuous plane.
  • Apply any directed tone change to the whole preset. Shift hue coherently and scale relative sRGB chroma Cr, not absolute OKLCH C.
  • Keep one dominant chromatic relationship per coherent shape in every mode. This is a per-shape coherence rule, not a limit on the icon's total hue range. Black, white, and value-derived faces may support it.
  • Genuinely separate source-colored components may each retain their own native chromatic family whenever that relationship belongs to the original emoji or real object. Do not impose a batch-wide palette, a one-or-two-family icon cap, or colors borrowed from previously generated subjects.
  • Before adding any supporting color, ask whether near-black or light neutral can carry its job more clearly. Use black for structure and recognition; use white for carriers, cutouts, wings, faces, and open surfaces.

Prompt contract

Use this compact structure and replace bracketed text:

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/jeffna1/antigravity-voxel-godot-setup/voxel-icon/badge)](https://verified-skill.com/skills/jeffna1/antigravity-voxel-godot-setup/voxel-icon)

Something wrong with this skill or its page? Tell us.