magiccube/agentara/glassify-ui

Claude Code and agent skill by magiccube/agentara

Trust tier 3
  • community
Source check pending

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

Transform a UI screenshot into a structured Cinema4D/Octane JSON render prompt for photorealistic 3D poster art. Use this skill whenever the user uploads a UI screenshot (app, website, tool, dashboard) and wants a Cinema4D render prompt, 3D poster, AIGC image prompt, or any photorealistic visualization of an interface. The output is always a clean JSON file — never prose or Midjourney text strings.

Install

npx vskill@latest install magiccube/agentara/glassify-ui

SKILL.md

Cinema4D UI Render Skill

Transform a UI screenshot into a structured JSON render prompt for Cinema4D/Octane. Output purpose: promotional poster art, not documentation. Abstraction beats fidelity.


Core Philosophy: "舍得" (Less is More)

A poster is not a screenshot. The JSON you produce must:

  • Simplify layers — 4–8 layers max. Merge minor UI regions. Omit decorative chrome.
  • Abstract content — No literal button labels unless they define the product identity.

Use semantic descriptions: "primary action buttons row" not "Bold / Italic / Underline".

  • Elevate the hero — One layer is the visual anchor (the "hero slab"). Give it the

prominent glow, active color, and bloom effect. Everything else supports it.

  • No clutter — Status bars, scrollbars, tooltips, and minor icons: omit entirely

unless they are distinctive brand elements.

  • Extract interactive controls as micro_elements — Every visible button, toggle switch,

pill chip, or CTA must be listed in the micro_elements array as an independent glass brick with its own z_offset, shape, and tint. Do NOT bury them inside a parent layer's content description. This is mandatory — missing micro_elements is a critical error.


Step 1 — Analyze the Screenshot

Look at the screenshot and extract:

  1. UI category: productivity / developer / creative / mobile / web / dashboard
  2. Brand identity signals: dominant color, logo, product name, characteristic icon
  3. Natural focal region: which area draws the eye first — that becomes the hero layer
  4. Aspect ratio decision (if user has not specified):
  • Desktop/web UI with wide layout → "16:9"
  • Mobile app or portrait-first UI → "9:16"
  • Square or ambiguous → "1:1" or "16:9" as default

Step 2 — Design the Layer Stack

Collapse the real UI into 4–8 abstract depth layers, Z-offset spaced 5–6mm apart. Use this table as a starting template — adapt to the actual UI:

Layer IDTypical RoleZ offsetThicknessRoughnessTransmission
0App shell / chrome0mm8mm0.200.50
1Background / canvas5mm6mm0.150.65
2Main content area10mm5mm0.060.85
3Primary toolbar/nav15mm5mm0.120.70
4Hero element20mm4mm0.080.75
5Floating accent (opt.)25mm3mm0.180.60

Rules:

  • The hero layer gets glow and active_element with effect: "backlit_halo_bloom"
  • Content descriptions use semantic phrases, never exhaustive lists of UI elements
  • Omit Layer 5 if the UI has no natural floating element
micro_elements (mandatory if interactive controls exist)

After the main layer stack, scan the screenshot for every interactive widget: buttons, toggle switches, pill chips, dropdown triggers, submit CTAs, radio buttons, sliders. Each one becomes an entry in micro_elements — a separate floating glass brick:

json
"micro_elements": [
{
"id": "me_01",
"type": "toggle_switch",
"label_semantic": "Computer mode toggle — active state",
"parent_layer_id": 1,
"z_offset_mm": 28,
"shape": "pill",
"size": "small",
"material": {
"thickness_mm": 2.5,
"roughness": 0.05,
"transmission": 0.80,
"tint": "accent_blue"
},
"glow": {
"color": "#4AA8FF",
"intensity": 0.5,
"radius_mm": 6,
"effect": "edge_rim_glow"
}
}
]

type values: button_primary, button_secondary, toggle_switch, pill_chip, dropdown_trigger, icon_button, cta_submit. shape values: rectangle, pill, circle, square. tint values: accent_blue, accent_teal, neutral_white, clear, warm_white, cool_white.


Step 3 — Choose Environment & Tone

Default white balance is neutral-to-slightly-cool (5200–5600K). Avoid warm golden tones unless explicitly requested. Match environment to UI category:

UI CategoryEnvironmentTonePalette
Productivitybright_minimal_desk_daylightneutral_coolclean_daylight
Developer / Codedark_minimalist_desk_led_stripcoolcool_white_led
Creative / Designarchitects_drafting_tableneutral_coolsoft_overcast
Mobile Appwhite_marble_surface_lifestyleneutral_coolclean_daylight
Dashboard / Dataglass_conference_tablecoolmorning_cool_light

Props are 2–3 contextually appropriate objects, soft bokeh background. UI float height: 15–20cm above surface.


Step 4 — Output the JSON

Produce exactly this structure. No extra fields, no prose, no markdown around the JSON.

json
{
"task": "photorealistic_3d_render",
"renderer": "Cinema4D_Octane",
"resolution": "8K",
"aspect_ratio": "<16:9 | 9:16 | 1:1>",
"source_ui": "<product name — short description>",
"negative_prompt": [
"no annotation text",
"no dimension labels",
"no callout lines",
"no layer name overlays",
"no technical labels in scene",
"no dark mode UI",
"no dark backgrounds on UI panels",
"no `Layer 1`, `Layer 2`, ..., `Layer N` callouts and annotations"
],
"layers": [
{
"id": 0,
"name": "<semantic_name>",
"z_offset_mm": 0,
"content": ["<abstract description, max 2 items>"],
"material": {
"thickness_mm": 8,
"roughness": 0.20,
"transmission": 0.50,
"tint": "<neutral_gray | warm_white | cool_white | clear>"
},
"glow": null
}
],
"micro_elements": [
{
"id": "me_01",
"type": "<button_primary | button_secondary | toggle_switch | pill_chip | dropdown_trigger | icon_button | cta_submit>",
"label_semantic": "<what this control does, not its literal text>",
"parent_layer_id": 1,
"z_offset_mm": 28,
"shape": "<rectangle | pill | circle | square>",
"size": "<small | medium | large>",
"material": {
"thickness_mm": 2.5,
"roughness": 0.05,
"transmission": 0.80,
"tint": "<accent_blue | accent_teal | neutral_white | clear | cool_white>"
},
"glow": null
}
],
"hero_layer_id": "<integer>",
"material_global": {
"type": "frosted_acrylic_glass",
"edge_bevel_mm": 1.5,
"chromatic_aberration": true,
"ray_traced_reflections": true,
"ambient_occlusion_between_layers": true
},
"environment": {
"scene": "<environment_key>",
"surface": "<material>",
"props": ["<prop_1>", "<prop_2>"],
"ui_float_height_cm": 18,
"caustic_shadow_on_desk": true
},
"camera": {
"angle": "three_quarter_perspective",
"tilt_degrees": 10,
"position": "slightly_right_of_center",
"focal_length_mm": 100,
"aperture": "f/1.2",
"bokeh_blur": true,
"focus_target": "layer_<hero_id>",
"dof_blur_layers": [0, 1, "environment"]
},
"lighting": {
"tone": "neutral_cool",
"white_balance_kelvin": 5400,
"palette": "<palette_key>",
"key": { "position": "top_center", "color": "#F5F8FF", "type": "soft_area" },
"rim": { "position": "upper_left", "color": "#C8DEFF", "type": "backlit_edge" },
"fill": { "position": "lower_right", "color": "#EAF0FF", "type": "bounce" }
},
"style_tags": [
"photorealistic",
"Fluent_Design",
"physically_based",
"light_mode_ui",
"neutral_cool_white_balance",
"no_annotation_text",
"no_cartoon",
"no_flat",
"no_watermark"
]
}

Quality Checklist (self-review before output)

Before writing the final JSON, verify:

  • [ ] Layer count is 4–8, not more
  • [ ] Each content array has ≤ 3 items, all semantic (no literal button labels)
  • [ ] Exactly one layer has a glow value and an active_element
  • [ ] hero_layer_id matches that layer's id
  • [ ] focus_target in camera matches hero_layer_id
  • [ ] Environment and tone are consistent — default is neutral_cool, never warm/golden unless user asked
  • [ ] white_balance_kelvin is set (5200–5600K range for neutral cool)
  • [ ] negative_prompt array is present and includes annotation-text suppressors
  • [ ] micro_elements array is present if the UI has any buttons, toggles, or chips
  • [ ] Every button / toggle / pill in the screenshot has a corresponding micro_element entry
  • [ ] style_tags includes "light_mode_ui" and "no_annotation_text"
  • [ ] Aspect ratio is decided and justified
  • [ ] No midjourney_suffix or prose fields present

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

Repository stars
515
Repository forks
58
7-day trend score
31

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 26 Sep 2026, a month ago.

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/magiccube/agentara/glassify-ui/badge)](https://verified-skill.com/skills/magiccube/agentara/glassify-ui)

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