Test UI system behavior and compatibility against the poke example with iwsdk CLI.
The material indicates this is essentially test guidance for an IWSDK example project, and the system already marks it as prompt-only and open-source, with no keys or declared remote endpoints. Overall risk is low, but the README explicitly instructs dependency installation, starting a dev server, and invoking a CLI via npx, so real-world use would still involve local code execution and supply-chain considerations.
The material explicitly states that no keys or environment variables are required, and the README does not request any API key, token, or account credential. No direct credential collection, storage, or misuse indicator is present.
Although the metadata says there are no remote endpoint hosts, the README instructs running `npm run fresh:install`, starting a dev server, and interacting with a local runtime/dev service via `npx iwsdk`; dependency installation commonly reaches package registries. No concrete red flag shows user data being exfiltrated to unknown third-party endpoints, but normal network access may occur.
The README explicitly requires running Bash/npm/npx commands, installing dependencies, starting a background dev server, and invoking a test CLI. This is standard local process spawning and code execution. Based on the material, this matches normal testing-tool behavior and does not show system privileges clearly beyond its stated purpose.
The documentation requires operating inside the `$IWSDK_REPO_ROOT/examples/poke` workspace and reading CLI, log, and entity-query outputs; installation and development workflows typically read and write files in the project directory. There is no explicit request for unrelated user directories, sensitive system paths, or excessive authorization, but it does have normal access to local project data.
The GitHub/open-source source materially lowers risk, but the relationship between the provided repository link and the skill name/content is not fully clear, the license is unspecified, community adoption is 0 stars, and maintenance status is unknown. In addition, the README relies on `npm`/`npx` to fetch and run packages, which creates normal supply-chain review needs, though the current evidence is insufficient to classify it as high risk.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "test-ui" skill from askskill: 1. Download https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/.claude/skills/test-ui/SKILL.md 2. Save it as ~/.claude/skills/test-ui/SKILL.md 3. Reload skills and tell me it's ready
Use the iwsdk CLI to test the Test UI system against the poke example. Check whether PanelUI and ScreenSpace load and interact correctly, then provide a summary of the results.
A summary stating whether the UI components ran successfully, any issues found, and the key test conclusions.
Run test-ui against the poke example, focusing on click behavior, display layering, and ScreenSpace rendering. List possible failure points and troubleshooting suggestions.
A diagnostic report covering observed issues, likely causes, and recommended fixes.
Create a testing checklist for the test-ui skill against the poke example, covering PanelUI, ScreenSpace, basic interactions, rendering behavior, and CLI execution results.
A structured UI testing checklist suitable for preparation or regression testing.
Run 5 test suites covering panel loading, ScreenSpace, system registration, component registration, and stability.
Configuration:
$IWSDK_REPO_ROOT/examples/pokeTool calls: every tool call is npx iwsdk <subcommand> [--input-json '<JSON>'] [--timeout <ms>], run from inside the example workspace (cwd $EXAMPLE_DIR). The CLI auto-discovers the IWSDK app root from cwd, so no path tricks are required. Run npx iwsdk mcp inspect from the example to discover available tools and their CLI subcommands.
<JSON> is a JSON object string. Omit --input-json if no arguments are needed.{ok, workspaceRoot, operation, result}. Parse it to check assertions.--timeout 20000 for operations that may take longer (reload, xr enter, screenshot).IMPORTANT: Run each Bash command one at a time. Parse the JSON output and verify assertions before moving to the next command. Do NOT chain multiple CLI commands together.
IMPORTANT: When the instructions say "wait N seconds", use sleep N as a separate Bash command.
cd $IWSDK_REPO_ROOT/examples/poke && npm run fresh:install
Wait for this to complete before proceeding.
Start the dev server as a background task using the Bash tool's run_in_background: true parameter:
cd $IWSDK_REPO_ROOT/examples/poke && npm run dev
IMPORTANT: This command MUST be run with run_in_background: true on the Bash tool — do NOT append & to the command itself.
Once the background task is launched, poll the output for Vite's ready message (up to 60s). You can also run npx iwsdk dev status from the example directory until state.running becomes true. You do not need to extract or manage the port yourself; subsequent commands resolve the active runtime through the CLI automatically.
If the server fails to start within 60 seconds, report FAIL for all suites and skip to Step 5.
npx iwsdk ecs systems 2>/dev/null
This must return JSON with a list of systems. If it fails:
Run these commands in order:
npx iwsdk browser reload --timeout 20000 2>/dev/null
Then: sleep 3
npx iwsdk xr enter --timeout 20000 2>/dev/null
Then: sleep 2
npx iwsdk browser logs --input-json '{"count":20,"level":["error","warn"]}' 2>/dev/null
Assert: No error-level logs.
Test 1.1: Find Panel Entity
npx iwsdk ecs find --input-json '{"withComponents":["PanelUI"]}' 2>/dev/null
Assert: At least 1 entity. Save its entityIndex as <panel>.
Test 1.2: PanelDocument Added After Load
npx iwsdk ecs query --input-json '{"entityIndex":<panel>,"components":["PanelUI","PanelDocument"]}' 2>/dev/null
Assert:
PanelUI.config contains welcome.jsonPanelUI.maxWidth = 0.5PanelUI.maxHeight = 0.4PanelDocument component IS present (proves async panel loading succeeded)PanelDocument.document is an Object3D reference (loaded UIKitDocument)Test 1.3: PanelUISystem Query Counts
npx iwsdk ecs systems 2>/dev/null
Assert:
unconfiguredPanels: 0 (all panels loaded)configuredPanels: 1 (panel has PanelDocument)Test 2.1: ScreenSpace Values
npx iwsdk ecs query --input-json '{"entityIndex":<panel>,"components":["ScreenSpace"]}' 2>/dev/null
Assert:
height = "50%" (CSS expression)width = "auto"top = "20px"left = "20px"bottom = "auto"right = "auto"zOffset = 0.2 (distance in front of camera near plane)Test 2.2: Panel Visible in Screenshot
…
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.
Debug WebXR real-time behavior frame by frame with pause, snapshots, and diffs.
Plan IWSDK features, architecture, and code patterns with best-practice guidance.
Create, modify, debug, and preview PanelUI components in IWSDK apps.
Test level hierarchy, tags, and lighting setup with the iwsdk CLI.
Test environment settings and component schemas with iwsdk CLI against poke.
Test Havok physics behaviors with the iwsdk CLI against example scenes.
Test audio loading, playback, stop, and spatial audio via iwsdk CLI.
Test slide, snap turn, teleport, and jump locomotion with iwsdk CLI.