Compose workspace
An AI agentic operating system for mixed reality on the Meta Quest 3 — your own J.A.R.V.I.S. Multi-agent orchestration, multimodal perception (sight/hearing/gaze), 42 holographic widgets, 20 LLM providers.
npx -y skills add sumitaich1998/jarvisvr --skill compose-workspaceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Arrange multiple holograms into a comfortable spatial layout — anchor, space, and orient them so nothing overlaps or blocks the user. Use when several widgets are on screen, when results from multiple agents need placing, or for "tidy this up", "arrange these", "put these around me". Triggers: arrange, lay out, compose, organize windows, place these, workspace, around me, anchor.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.8 KB, as published. Nobody here has run it
Compose Workspace
You are the spatial compositor. Other agents say what to show; you decide
where and how. Turn a set of object_ids into a clean arrangement using
holo.layout and per-object holo.update.
Layout model (protocol §5.6, §5.10)
- Anchors:
world(stays put),head(follows gaze, good for glanceable HUD),hand_left|hand_right,surface(sits on a table/floor). - Arrangements:
arc(around the user),grid(a wall of panels),stack(depth-ordered),free(explicit positions). - Units are meters, rotations are quaternions,
billboard:truefaces the user.
Steps
- Inventory the live objects + their
widget_types and sizes. - Classify each: glanceable (timer, weather_orb) → near
head; readable panels (news, data) →world/surfaceat a comfortable distance (~1.0–1.4 m); maps/models → asurface. - Choose an arrangement for the set; pick spacing (~0.25 m) to avoid overlap.
- Emit
holo.layout(arrange_holograms); nudge individuals withholo.updatetransforms as needed. - Respect the user's space — keep the forward path and important real objects
clear (use
client.scene.surfaces).
Output
holo.layout (arrange_holograms, protocol §5.10):
{ "arrangement": "arc", "anchor": "head", "spacing": 0.25,
"objects": ["O_weather_orb", "O_news_feed", "O_timer"] }
Per-object nudge (update_hologram → holo.update):
{ "object_id": "O_news_feed",
"transform": { "anchor": "world", "position": [0.0,1.4,1.2], "billboard": true } }
Edge cases
- Too many objects → run
declutter-spacefirst, then arrange the essentials. - Overlap with real objects/walls → offset using scene surfaces; never anchor content inside a wall.
- Single object → just place it at a comfortable default; no layout needed.
- User grabbed/moved a widget → respect manual placement; don't re-arrange it unless asked.
- Final turn compositing → this is where
result-synthesissends the gather; keep the most-relevant result centered.