osrslisted
Install: claude install-skill BaesTheorem/exobrain-harness
# osrs -- MIST embodied in Old School RuneScape (Alora)
MIST plays as her own character **MISTci** on **Alora** (an OSRS private server) so Alex
can play *alongside* her. Everything runs **fully in the background**: MIST never steals
the cursor, focus, or screen, so Alex can use the Mac (or play his own client) at the same
time. This was a hard requirement -- see the architecture below for why it's built this way.
## Architecture (why it works on a shared 8GB M1)
Three channels, all background, validated live:
- **Eyes** -- `screencapture -l<windowID> out.png` captures the client window even when it's
occluded/unfocused. Find the window via Quartz `kCGWindowListOptionAll` (owner `RuneLite`,
title contains "Powered by RuneLite") -- *not* `OnScreenOnly`, which misses occluded windows.
- **Hands + voice** -- a tiny **launch-time Java agent** (`-javaagent`) runs *inside the client
JVM* and dispatches AWT mouse/key events straight to the game canvas, bypassing macOS
focus routing. This is the key trick: macOS only delivers synthetic *keyboard* to the focused
window, but an in-process agent doesn't care about focus, so **MIST can type in chat in the
background**. (`-XX:+DisableAttachMechanism` only blocks *late* attach, not launch-time agents.)
- **Brain** -- the same agent reads **RuneLite's live game state via reflection**
(`net.runelite.client.RuneLite.getInjector().getInstance(Client.class)`): player world coords,
game state, and every on-screen NPC's name +