Result synthesis
Skill sumitaich1998/jarvisvr/skills/orchestration/result-synthesis
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 result-synthesisAssembled 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
Merge the specialists' results into one coherent spoken reply and coordinate the final spatial layout, closing out a multi-agent turn. Use after the team's sub-tasks finish (or partially fail) to produce a single agent.speech{final} and hand compositing to the stage-agent. Triggers: synthesize, summarize the results, wrap up, combine answers, final reply, "put it all together".
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
3.2 KB, as published. Nobody here has run it
Result Synthesis
Close the loop on an orchestration.plan: gather each agent's result, resolve
conflicts, speak one answer, and make sure the holograms they spawned are
arranged comfortably (not piled on top of each other).
Inputs
- The
plan_idand the per-agent results (each agent'sdata+ theholo.spawnobjects it produced, addressed byobject_id). - The final
orchestration.agent_status{state:"done"|"failed"}for every node.
Steps
- Collect & order results in the order most useful to the user (usually:
what they asked first → supporting detail). Use each tool's
data.speechsuggestion as raw material, not verbatim. - Reconcile conflicts / dedupe. If two agents answered overlapping questions, keep the higher-confidence / more specific one.
- Compose one spoken reply. Stream long answers as multiple
agent.speech{final:false}and end with a singleagent.speech{final:true}. Keep it conversational; don't read JSON aloud. - Coordinate the layout. Prefer delegating to the
stage-agent(compose-workspace) so it decides anchoring/arrangement. For a quick gather you may emitholo.layoutyourself viaarrange_holograms. - Mark the turn done — emit
agent.thinking{stage:"done"}after the final speech.
Output examples
Spoken synthesis (after perception + research + productivity finished):
{ "text": "That's your coffee mug. Tokyo is 18° and cloudy, and your 5-minute timer is running.",
"final": true, "emotion": "neutral" }
Final layout via the stage compositor (arrange_holograms → holo.layout,
protocol §5.10):
{ "arrangement": "arc", "anchor": "head", "spacing": 0.25,
"objects": ["O_vision_annotation", "O_weather_orb", "O_timer"] }
Partial failure
If a node reports state:"failed", synthesize around it honestly — report what
succeeded and name what didn't, without dropping the whole turn:
{ "text": "Tokyo is 18° and cloudy and your timer's set. I couldn't get a clear
look at the desk object though — want me to try again?", "final": true }
Edge cases
- Nothing succeeded → one apologetic
agent.speech{final:true}+ an optionalnotifytoast; do not spawn data widgets. - Too many holograms → ask
stage-agentto rundeclutter-spacebefore the final arrangement. - Barge-in (
client.barge_in, §5.14) arrived mid-synthesis → stop streaming speech, keep already-spawned holograms, end the turn. - Streaming order → never emit
final:trueuntil every kept result is voiced.