jeffna1/antigravity-voxel-godot-setup/voxel-icon
- community
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-iconSKILL.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:
nativeis 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.directedis 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 unlesspalette_presetis explicitly fixed.directed-aggressiveis 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, notdirected-aggressive. - Never infer a directed mode merely because a matching preset exists. An unspecified request always remains
native. stillis the output default. Uselooponly when the user explicitly requests motion, and followreferences/loop-animation.md.
Workflow
- 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#F4F4F4final background. - 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.
- Reduce an abstract topic to one compact, recognizable object or relationship. Keep only two or three identity cues.
- 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.
- Write the mode-specific color plan from
references/palette-standard.md. Innative, map the extracted native signature directly onto components. Indirected, add B/D-style structural allocation, one selected complete preset, whole-preset tone adjustment, and token mapping. Indirected-aggressive, also apply the discrete layer rules. - 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.
- 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.
- 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.
- Iterate with one targeted correction. Keep the approved object unchanged while correcting color, shadow, material, or background.
- Run
scripts/normalize-gray-background.py INPUT.png OUTPUT.pngon the accepted render. This replaces near-gray model drift with the exact#F4F4F4final field without rerendering the subject. - 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. - 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 byreferences/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:
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 OKLCHC. - 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
- SKILL.md in the repositoryCheckingskills/voxel-icon/SKILL.md
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
[](https://verified-skill.com/skills/jeffna1/antigravity-voxel-godot-setup/voxel-icon)