{
 "schema": "aiblocks-page/1",
 "id": "agency-xr-immersive-developer",
 "type": "agent",
 "name": "WebXR experience designer",
 "summary": "Plan a browser-based AR or VR app with WebXR. Get the library choice, input plan, device test list and fallbacks for browsers without XR.",
 "headline": "WebXR experience designer",
 "subhead": "Describe the experience, the headsets or phones it must run on and the library you prefer. The agent plans a WebXR build with input, speed and fallback choices. You get a plan, code sketches and a device test list.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "audit_report",
   "required": true,
   "label": "Audit report",
   "what": "findings with evidence, severity, missing inputs and next actions"
  }
 ],
 "you_give": [
  "What the experience is and what the person does in it, in a few sentences",
  "The devices and browsers it must run on, such as Meta Quest or a phone",
  "The library you prefer: A-Frame, Three.js or Babylon.js, or 'no preference'",
  "The input you need: hand tracking, controllers, gaze or touch",
  "Your existing code or repo link (optional)",
  "Your 3D model file sizes or polygon counts (optional)"
 ],
 "you_get": [
  "A library choice with the reason",
  "An input plan for each device type",
  "A speed plan, such as simpler models for far objects and what to cut",
  "A fallback plan for browsers with no XR",
  "A test list: device, browser and what to check",
  "Code sketches, marked as drafts you have not run",
  "Open risks"
 ],
 "use_when": [
  "You want a 3D product viewer or training scene that opens from a link with no app install.",
  "Your WebXR scene runs on one headset and fails on another.",
  "Hand tracking or controller input behaves differently across browsers.",
  "You need a fallback so people on a plain laptop browser still see something."
 ],
 "skip_when": [
  "You are building a native Apple Vision Pro app: use the visionOS Spatial Engineer agent.",
  "You want interface and interaction design before any code: use the XR Interface Architect agent.",
  "You want cockpit or control-panel interaction in XR: use the XR cockpit interaction designer.",
  "You want ordinary 2D web pages: use the Frontend developer."
 ],
 "output_sample": {
  "input": [
   "The experience and what the person does in it",
   "The devices and browsers it must run on",
   "Your preferred library and the input you need",
   "Your existing code or model sizes (optional)"
  ],
  "prerequisites": [
   "A way to test on a real headset or phone, since the AI cannot",
   "An AI that takes a pasted profile, such as Claude, ChatGPT or Gemini"
  ],
  "output": [
   {
    "name": "Brief and assumptions",
    "contains": "The experience, devices, library and input as understood, with assumptions and MISSING items."
   },
   {
    "name": "Library choice",
    "contains": "A-Frame, Three.js or Babylon.js for your case, with the reason and the trade-off."
   },
   {
    "name": "Input plan",
    "contains": "How hand tracking, pinch, gaze and controllers are handled on each device type."
   },
   {
    "name": "Speed plan",
    "contains": "Steps such as simpler models for far objects, and what to cut first."
   },
   {
    "name": "Fallbacks",
    "contains": "What a person sees on a browser or device with no XR support."
   },
   {
    "name": "Test list",
    "contains": "Each device and browser to test, with what to check and what a pass looks like."
   },
   {
    "name": "Code sketches",
    "contains": "Short drafts for the scene and input, marked as not run."
   },
   {
    "name": "Open risks",
    "contains": "Device and browser unknowns, and how to find out."
   }
  ]
 },
 "output_shape": "BRIEF AND ASSUMPTIONS\n  Experience <what it is> | Devices <list> | Library <choice> | Input <list>\n  Assumed: <list> | MISSING: <list>\n\nLIBRARY CHOICE\n  <library> | <reason> | <trade-off>\n\nINPUT PLAN\n  <device type> | <input method> | <how it is handled in code>\n\nSPEED PLAN\n  <area> | <step> | <what it costs or saves>\n\nFALLBACKS\n  <situation, such as no XR browser> | <what the person sees>\n\nTEST LIST\n  <device> | <browser> | <what to check> | <what a pass looks like>\n\nCODE SKETCHES (drafts, not run)\n  <name> | <short code>\n\nOPEN RISKS\n  <risk> | <what it affects> | <how to find out>",
 "how_to_use": [
  "Download the pack and add it as a skill in your AI. Or paste SKILL.md into a new chat, then paste references/source-agent.md after it.",
  "Write your brief: the experience, target devices, preferred library and the input you need. Paste your code if you have any.",
  "Say 'Plan this WebXR build. Do not state device support as fact.' Your AI asks once for what is missing.",
  "Read the library choice and fallback plan first. Change them if a device you need is not covered.",
  "Run the sketches on a local page, then on each device in the test list. WebXR needs the page served over HTTPS on a real device.",
  "Check each device's feature support on the vendor's own page before you promise it to users.",
  "Bring the results from each device back to your AI and ask for a revised plan."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "Frontend developer",
   "url": "https://useaiblocks.com/skills/agency-engineering-frontend-developer",
   "why": "Frontend developer"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/spatial-computing/xr-immersive-developer.md",
  "licence": "MIT",
  "original_name": "XR Immersive Developer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "XR Immersive Developer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/spatial-computing/xr-immersive-developer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions. On 2026-10-28 we matched the SKILL.md input and next-step notes to the generated sections and the reviewed next step."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-xr-immersive-developer",
  "markdown": "https://useaiblocks.com/agents/agency-xr-immersive-developer.md",
  "json": "https://useaiblocks.com/agents/agency-xr-immersive-developer.json",
  "instructions": "https://useaiblocks.com/skills/agency-xr-immersive-developer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-xr-immersive-developer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-xr-immersive-developer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-xr-immersive-developer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
