帮助开发者用 iwsdk CLI 测试 XR 交互与面板音频行为是否正常。
该技能材料显示其本质是开源的纯提示/测试步骤说明,本身不声明密钥、远程端点或独立数据外发能力。虽然 README 包含通过 npx/iwsdk、npm 和本地开发服务器执行命令的操作指引,但按已知客观检查项其归类仍以低风险为主,需主要留意供应链与实际执行环境。
材料明确标注“需要的密钥/环境变量:无”,README 中也未要求 API key、token 或账号凭证;未见直接凭证收集、存储或滥用迹象。
系统检查项标注为无远程端点,文档描述主要围绕本地示例目录、CLI 与本地 dev server 交互;未见将用户数据发送到第三方不明主机的明确说明。
从技能形态看其为 prompt-only,技能本身不自带可执行载荷;README 虽包含 npm run、npx iwsdk、sleep 等命令步骤,但这些属于说明文本而非技能自动执行能力。
材料仅指向本地示例工作区 `$IWSDK_REPO_ROOT/examples/poke`、日志文件和 CLI 输出检查,未声明读取广泛个人文件、系统目录或额外资源的权限需求,也未见过度授权描述。
来源为 GitHub 开源仓库,源码原则上可审计,这是正面因素;但仓库 star 为 0、许可证未声明、维护状态未知,且 README 依赖 `npm run`/`npx` 拉起外部包与开发环境,供应链透明度和持续维护证据偏弱,建议留意依赖完整性。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "test-interactions" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/.claude/skills/test-interactions/SKILL.md 2. 保存为 ~/.claude/skills/test-interactions/SKILL.md 3. 装好后重载技能,告诉我可以用了
请使用 iwsdk CLI 针对 poke 示例测试 XR 交互,重点验证 ray 与 poke/touch 两种输入方式是否都能正确选中、悬停和触发按钮,并列出异常现象与复现步骤。
一份交互测试结果,说明射线与触碰输入是否正常,并包含发现的问题与复现描述。
基于 poke 示例,测试 XR 场景中的 dual-mode 交互切换表现,确认用户在 ray 与 touch 模式之间切换时,焦点、高亮、点击反馈和状态同步是否一致。
一份双模式切换测试报告,标明切换过程中的一致性问题、可用性风险和建议修复点。
请用 iwsdk CLI 测试 poke 示例中的音频反馈与 UI panel 行为,检查面板打开关闭、交互响应、音效触发时机,以及是否存在延迟、重复播放或无响应问题。
一份关于音频与面板响应的测试结论,包含通过项、失败项和需要进一步排查的异常。
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
…
帮助规划 IWSDK 新功能、系统架构与代码模式,并提供最佳实践建议。
用于逐帧调试 WebXR 场景中的物理、动画与实时交互行为。
指导你在 IWSDK 项目中实现深度感知遮挡并排查显示异常问题
使用 iwsdk CLI 测试 Havok 物理系统的重力与刚体行为表现
在 WebXR 场景中模拟抓取物体,便于交互测试与搬运操作验证。
在 XR 场景中定位并点击目标对象,用于验证按钮与交互元素是否正常工作
使用 iwsdk CLI 针对 poke 示例测试 UI 系统行为与兼容性。
使用 iwsdk CLI 测试音频示例的加载、播放状态、停止与空间音频功能。
用于测试 XR 会话生命周期与模式切换,排查进入退出及状态异常问题。
使用 iwsdk CLI 对比示例场景,测试滑动、瞬转、传送与跳跃移动系统。
使用 iwsdk CLI 针对 poke 示例验证环境系统与组件配置是否正常
帮助你创建、修改、调试并预览 IWSDK 应用中的 PanelUI 界面组件。