Test multiple grab interaction modes with the iwsdk CLI.
Overall risk is low: this skill is classified as prompt-only, declares no secrets or remote endpoints, and points to an open-source repository that is auditable. The main caveats are that the README instructs local npm/npx execution and dev-server startup, while repository popularity, license, and maintenance signals are weak or unclear.
The material and objective checks indicate no required keys, tokens, or environment variables. No credential collection, exfiltration, or misuse is described, so credential risk is low.
No remote host is declared. The material focuses on a local example and CLI-driven test flow, with no explicit description of sending user data to third-party services.
The skill itself is classified as prompt-only and does not inherently execute code; however, the README instructs the host to run local commands such as `npm run fresh:install`, `npm run dev`, and `npx iwsdk ...`. As documentation/prompt content this is low risk, but following it would trigger local code execution and process startup.
No access to files or data beyond the example workspace is declared. The description is centered on the `$IWSDK_REPO_ROOT/examples/grab` example directory and test output, with no signs of excessive data-access demands.
A positive factor is that the project is open-source on GitHub and auditable. However, it shows 0 stars, no declared license, unknown maintenance status, and the README relies on `npm`/`npx` to install and execute external packages, so supply-chain confidence is limited and dependency sources/lockfiles should be reviewed before use.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "test-grab" skill from askskill: 1. Download https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/.claude/skills/test-grab/SKILL.md 2. Save it as ~/.claude/skills/test-grab/SKILL.md 3. Reload skills and tell me it's ready
Use the test-grab skill with the iwsdk CLI to test the grab example for distance grab, one-hand grab, and two-hand grab in sequence, then summarize whether each mode passed.
A summary of test results for the three grab modes, including pass or fail status.
Run test-grab against the grab example; if any grab mode fails, list the failed steps, possible causes, and recommended troubleshooting directions.
Detailed diagnostics for failed modes and suggested next troubleshooting steps.
Use the test-grab skill to run the full grab test suite and generate a concise report including scope, execution results, and any exceptions.
A clearly structured test report summarizing coverage and any issues found.
Run 5 test suites covering distance grab, one-hand grab, two-hand grab, system/component registration, and stability.
Configuration:
$IWSDK_REPO_ROOT/examples/grabTool 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/grab && 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/grab && 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.
Discover all grab entities dynamically:
npx iwsdk ecs find --input-json '{"withComponents":["DistanceGrabbable"]}' 2>/dev/null
Assert: At least 1 entity. Save first as <distance>.
npx iwsdk ecs find --input-json '{"withComponents":["OneHandGrabbable"]}' 2>/dev/null
Assert: At least 1 entity. Save first as <onehand>.
npx iwsdk ecs find --input-json '{"withComponents":["TwoHandsGrabbable"]}' 2>/dev/null
Assert: At least 1 entity. Save first as <twohand>.
Get entity positions via scene hierarchy:
npx iwsdk scene hierarchy --input-json '{"maxDepth":3}' 2>/dev/null
Find Object3D UUIDs for each grab entity, then query their transforms:
npx iwsdk scene transform --input-json '{"uuid":"<entity-uuid>"}' 2>/dev/null
Save positionRelativeToXROrigin as <distance-pos>, <onehand-pos>, <twohand-pos>.
Verify GrabSystem is active:
npx iwsdk ecs systems 2>/dev/null
Assert: GrabSystem at priority -3.
| Component | Pointer Type | Activation |
|---|
…
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 XR interactions, panels, and audio behavior 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.
Simulate grabbing objects in WebXR scenes for interaction testing and movement validation.
Test slide, snap turn, teleport, and jump locomotion with iwsdk CLI.
Test Havok physics behaviors with the iwsdk CLI against example scenes.
Implement physics simulation, interactions, and collision debugging in IWSDK projects.
Test level hierarchy, tags, and lighting setup with the iwsdk CLI.
Test UI system behavior and compatibility against the poke example with iwsdk CLI.