Test XR interactions, panels, and audio behavior with the iwsdk CLI.
The material indicates this skill is essentially an open-source prompt/test instruction set, with no declared secrets, remote endpoints, or standalone data exfiltration behavior. While the README contains operational guidance involving npx/iwsdk, npm, and a local dev server, the known objective checks still make it primarily low risk, with main attention on supply-chain and execution environment if a user chooses to act on it.
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; there is no direct sign of credential collection, storage, or misuse.
The objective checks indicate no remote endpoints, and the documentation is centered on a local example workspace, CLI, and local dev server interaction; there is no explicit indication of sending user data to unknown third-party hosts.
As a prompt-only skill, it does not itself ship executable payloads; although the README includes steps using npm run, npx iwsdk, and sleep, these are instructional text rather than automatic execution capability of the skill itself.
The material only points to the local example workspace `$IWSDK_REPO_ROOT/examples/poke`, a log file, and CLI output checks; it does not declare access to broad personal files, system directories, or extra resources, and no overbroad authorization is described.
The source is an open-source GitHub repository, which is a positive factor because the code is auditable in principle; however, it has 0 stars, no declared license, unknown maintenance status, and the README relies on `npm run`/`npx` to invoke packages and a dev environment, so supply-chain transparency and maintenance evidence are limited and dependency integrity should be checked.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "test-interactions" skill from askskill: 1. Download https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/.claude/skills/test-interactions/SKILL.md 2. Save it as ~/.claude/skills/test-interactions/SKILL.md 3. Reload skills and tell me it's ready
Use the iwsdk CLI to test XR interactions against the poke example. Focus on whether both ray and poke/touch inputs can correctly hover, select, and trigger buttons, and list any issues with reproduction steps.
A test result summary showing whether ray and poke inputs work correctly, including issues found and reproduction notes.
Based on the poke example, test dual-mode interaction switching in the XR scene and verify whether focus, highlight, click feedback, and state synchronization remain consistent when switching between ray and touch modes.
A dual-mode switching test report highlighting consistency issues, usability risks, and recommended fixes.
Use the iwsdk CLI to test audio feedback and UI panel behavior in the poke example. Check panel open/close behavior, interaction responses, sound trigger timing, and whether there are delays, repeated playback, or missing responses.
A test summary for audio and panel responses, including passed checks, failed checks, and anomalies needing further investigation.
Test 12 suites covering XR interaction behaviors: entity discovery, ECS registration, ray interaction, poke/touch, dual-mode, cross-entity isolation, input mode switching, rapid poke cycles, audio, UI panel, 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, xr animate-to, 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:
/tmp/iwsdk-dev-interactions.log for errorsRun 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"]}' 2>/dev/null
Assert: No error-level logs. Warnings about audio autoplay are acceptable.
Discover all testable entities dynamically. These entity indices are used by all subsequent suites.
Test 1.1: Find Robot Entity
npx iwsdk ecs find --input-json '{"withComponents":["Robot"]}' 2>/dev/null
Assert: Exactly 1 entity. Save its entityIndex as <robot>.
Test 1.2: Find Panel Entity
npx iwsdk ecs find --input-json '{"withComponents":["PanelUI"]}' 2>/dev/null
Assert: Exactly 1 entity. Save its entityIndex as <panel>.
Test 1.3: Get Robot World Position
npx iwsdk scene hierarchy --input-json '{"maxDepth":3}' 2>/dev/null
Find the robot's Object3D UUID (match entityIndex = <robot>).
Then:
npx iwsdk scene transform --input-json '{"uuid":"<robot-uuid>"}' 2>/dev/null
Save positionRelativeToXROrigin as <robot-pos>. Expected near (0, 0.95, -1.5).
Test 1.4: Get Panel World Position Same approach — find panel's UUID from hierarchy, query transform.
npx iwsdk scene transform --input-json '{"uuid":"<panel-uuid>"}' 2>/dev/null
…
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.
Debug WebXR real-time behavior frame by frame with pause, snapshots, and diffs.
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.
Test audio loading, playback, stop, and spatial audio via iwsdk CLI.
Test slide, snap turn, teleport, and jump locomotion with iwsdk CLI.
Test environment settings and component schemas with iwsdk CLI against poke.
Create, modify, debug, and preview PanelUI components in IWSDK apps.
Test Havok physics behaviors with the iwsdk CLI against example scenes.