Create, modify, debug, and preview PanelUI components in IWSDK apps.
This skill is marked as prompt-only with no required secrets and no declared remote endpoints, so overall risk is low. Its instructions mainly guide an agent to inspect, edit, and verify local UI files, but the source repository has low community adoption and unknown maintenance status, so supply-chain trust deserves some caution.
The materials explicitly state that no keys or environment variables are required, and there is no request for API tokens, account credentials, or other sensitive authentication data, so credential exposure and abuse risk appears low.
The materials declare no remote endpoints, and the README mainly describes local UI file editing, ECS inspection, and screenshot-based verification, with no factual indication that user data is sent to third-party services.
The system flags it as prompt-only; based on the materials, it provides workflow instructions rather than bundled executables, install scripts, or requests for additional system privileges. While it describes code-editing and debugging steps, there is no clear execution red flag beyond normal skill prompting.
The instructions involve locating panel entities, reading component config, editing `.uikitml` files under `ui/`, and inspecting compiled `public/ui/*.json`, which is consistent with the stated UI panel development purpose. There is no sign of unrelated sensitive data access or excessive authorization requests.
A positive factor is that it is open-source on GitHub and the source is auditable; however, the repository has 0 stars, unknown maintenance status, and no declared license, so evidence of trust and ongoing upkeep is limited. This supports a caution rating rather than high risk.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "iwsdk-ui" skill from askskill: 1. Download https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/packages/starter-assets/claude-injections/skills/iwsdk-ui/SKILL.md 2. Save it as ~/.claude/skills/iwsdk-ui/SKILL.md 3. Reload skills and tell me it's ready
Create a settings panel for my IWSDK app using UIKITML. Include a title, volume slider, language dropdown, and save button, and provide a clear component structure.
A PanelUI structure and UIKITML example for IWSDK, including key components and layout guidance.
Please improve this IWSDK PanelUI: change the buttons to a two-column layout, add top spacing, unify font sizes, and keep the mobile full-screen preview looking good.
Updated layout suggestions, UIKITML changes, and notes for full-screen preview compatibility.
My IWSDK panel has overlapping text and buttons overflowing the boundary in ScreenSpace full-screen preview. Help identify likely causes and provide actionable fixes.
An analysis of likely causes, style or structure checks to perform, and specific fix recommendations.
Efficiently develop and iterate on IWSDK PanelUI panels using ScreenSpace for full-screen 2D preview. The workflow has a required core (setup for iteration) and optional extensions (the actual UI work, driven by user intent).
User request is in $ARGUMENTS.
Find the panel entity and its UIKITML source file.
PanelUI component. Use ecs_find_entities with withComponents: ["PanelUI"] to find them.PanelUI component's config field with ecs_query_entity to find the JSON path (e.g., ./ui/welcome.json).ui/ with the same name but .uikitml extension (e.g., ui/welcome.uikitml).The ScreenSpace component positions a panel in front of the camera so it appears as a 2D UI — ideal for fast iteration.
If the entity already has ScreenSpace: Note the current settings so they can be restored later.
ecs_query_entity(entityIndex, components: ["ScreenSpace"]) → save the values
If the entity does not have ScreenSpace: You will need to add it in code.
Either way, set ScreenSpace to fill the entire viewport in code:
.addComponent(ScreenSpace, {
top: "0px",
left: "0px",
width: "100vw",
height: "100vh",
});
Setting this in code (not via ecs_set_component) ensures it persists across hot reloads.
Take a browser_screenshot to confirm the panel fills the screen and is ready for iteration.
This is where the user's request drives the work. Edit the .uikitml file in ui/.
mcp__iwsdk-reference__search_code to query for supported UIKITML element types and CSS properties. Search for things like "uikitml interpret container text" or specific element types you need.#id and .class (via PanelDocument's querySelector).width: 50 = 50cm). World space uses meters. 100cm = 1m..uikitml file. Changes are auto-compiled by the vite plugin and hot-reloaded..json file in public/ui/ should never be modified directly, but can be read for quick debugging to inspect the compiled element tree, class definitions, and properties.After each edit to the .uikitml file:
browser_screenshot to visually verify the change.public/ui/<name>.json) to debug layout issues or inspect computed properties.Repeat the edit-screenshot cycle as needed.
When done with UI work, always restore the ScreenSpace component to its original state.
If it had ScreenSpace before: Restore the original values that were noted in Step 2.
// Restore original settings
.addComponent(ScreenSpace, {
top: "20px",
left: "20px",
height: "40%",
// ... whatever was noted
});
If it did not have ScreenSpace before: Remove the ScreenSpace component addition from code.
Take a final browser_screenshot to confirm the panel is back to its normal state.
.uikitml, never the compiled .json — the JSON is auto-generated and will be overwritten.getElementById(id) or querySelector(selector) on the PanelDocument to access UI elements programmatically in systems. Elements can be named with .name = "id" to make them discoverable in the scene hierarchy.…
Plan IWSDK features, architecture, and code patterns with best-practice guidance.
Test XR session lifecycle and mode transitions to verify behavior and debug state issues.
Build, debug, and refine IWSDK PanelUI panels more efficiently.
Test multiple grab interaction modes with the iwsdk CLI.
Test XR interactions, panels, and audio behavior with the iwsdk CLI.
Find and click XR target objects to verify UI interactions work correctly.
Test UI system behavior and compatibility against the poke example with iwsdk CLI.
Debug WebXR real-time behavior frame by frame with pause, snapshots, and diffs.
Implement depth sensing occlusion in IWSDK and troubleshoot rendering issues.
Test environment settings and component schemas with iwsdk CLI against poke.
Quickly add Zoom’s prebuilt React video UI to web workflows.
Implement physics simulation, interactions, and collision debugging in IWSDK projects.