selkies/skills/sway-browser-vnc/SKILL.md
Minimal Sway desktop with VNC remote access and Chrome browser. Use when working with VNC desktop containers or testing the sway-desktop-vnc composition.
npx skillsauth add overthinkos/overthink-plugins sway-browser-vncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Minimal Sway desktop with VNC (wayvnc on port 5900) and Chrome (CDP on port 9222).
| Property | Value | |----------|-------| | Base | fedora | | Candies | agent-forwarding, sway-desktop-vnc, dbus, charly | | Ports | 5900, 9222, 9224 |
charly box build sway-browser-vnc
charly start sway-browser-vnc
charly status sway-browser-vnc # Shows all probes: supervisord, cdp, dbus, charly, sway, vnc, wl
charly eval vnc status sway-browser-vnc
charly eval wl screenshot sway-browser-vnc screenshot.png
This box includes dbus and charly candies, enabling:
charly eval dbus notify — native Go D-Bus notifications via in-container charly binarycharly eval dbus list/call/introspect — full D-Bus interactioncharly cmd — single command execution with desktop notification on completioncharly tmux cmd — tmux command sending with notificationcharly status — supervisord, dbus, and charly probescharly eval dbus notify sway-browser-vnc "Build Complete" "Image built successfully"
charly cmd sway-browser-vnc "make test" # Notifies on completion
charly eval dbus list sway-browser-vnc # List all D-Bus services
The notification daemon (swaync) is included via the sway-desktop metalayer.
Fullscreen overlays for recording (via wl-overlay, included in sway-desktop):
charly eval wl overlay show sway-browser-vnc --type text --text "INTRO" --name title
charly eval wl overlay show sway-browser-vnc --type lower-third --text "Speaker" --subtitle "Role" --name lt
charly eval wl overlay show sway-browser-vnc --type countdown --seconds 3 --name cd
charly eval wl overlay show sway-browser-vnc --type highlight --region "430,290,510,50" --name hl
charly eval wl overlay show sway-browser-vnc --type fade --color black --name outro
charly eval wl overlay hide sway-browser-vnc --all
All overlay types render with true RGBA compositor transparency. See /charly-eval:wl-overlay for the full recording workflow.
Desktop video recording via wf-recorder (included in sway-desktop):
charly eval record start sway-browser-vnc -n demo --mode desktop
# ... interact ...
charly eval record stop sway-browser-vnc -n demo -o demo.mp4
sway-browser-vnc can act as a test client for selkies-desktop, simulating how a real user would connect via browser:
# Both containers must be running on the charly bridge network
charly start sway-browser-vnc
charly start selkies-desktop
# Open selkies URL in sway-browser-vnc's Chrome
charly eval cdp open sway-browser-vnc "https://charly-selkies-desktop:3000"
# Interact with the remote desktop:
# Mouse: CDP Input.dispatchMouseEvent on the Selkies tab (with ~0.82x coordinate scaling)
# Keyboard: charly eval vnc type sway-browser-vnc "text" (passthrough via SPA's overlayInput)
# Screenshots: charly eval vnc screenshot sway-browser-vnc (shows full client desktop with stream)
# charly eval cdp screenshot sway-browser-vnc $TAB (shows only the stream content)
Key limitations when using as a client:
charly eval vnc key Return or CDP Browser.grantPermissionsSee /charly-selkies:selkies-labwc for detailed SPA interaction documentation.
Latest charly eval live sway-browser-vnc run: 84 passed, 0 failed, 1 skipped
(chrome-devtools-mcp-port references ${HOST_PORT:9224} which isn't
mapped here — correct skip behavior).
Covers all 19 transitive candies: wayvnc (VNC), sway (compositor),
chrome-sway, xdg-portal, waybar, swaync, pavucontrol, thunar,
xfce4-terminal, pipewire, wl-screenshot-grim, wl-overlay, wf-recorder,
desktop-fonts, fastfetch, asciinema, tmux, dbus, charly. Deploy-scope: VNC
port 5900 reachable, Chrome CDP on port 9250→9222 with /json/version
200. Box-scope: sway + wayvnc both RUNNING under supervisord.
/charly-selkies:sway-desktop-vnc, /charly-selkies:sway, /charly-selkies:wayvnc,
/charly-selkies:chrome-sway, /charly-selkies:xdg-portal, /charly-infrastructure:dbus-layer,
/charly-tools:charly, /charly-distros:agent-forwarding/charly-eval:eval — declarative testing framework (parent router for charly eval cdp|wl|dbus|vnc|mcp)/charly-eval:vnc — VNC automation on this box/charly-eval:cdp — Chrome automation (CDP on host port 9250)/charly-eval:wl — Wayland input/windows/clipboard (sway subgroup for compositor control)/charly-eval:dbus — D-Bus notifications via in-container charly binary/charly-build:charly-mcp-cmd — the box inherits 2 deploy-scope mcp: checks from the chrome-devtools-mcp candy (ping + list-tools asserting navigate_page/take_screenshot). charly eval live sway-browser-vnc --filter mcp runs them; note the port-publishing gotcha — if your charly.yml has an explicit port: override that predates chrome-devtools-mcp, port 9224 may not be published. See /charly-build:charly-mcp-cmd for the fix.selkies-desktop — browser-accessible remote desktop (can be accessed from sway-browser-vnc's Chrome)/charly-image:image — image family umbrella (box: entries in charly.yml, build/validate/inspect/list)/charly-build:build — build.yml vocabulary (distros, builders, init-systems)tools
OpenCharly CLI (charly) binary installed into container/VM images for in-container use. Use when working with charly binary deployment inside containers, native D-Bus support, or the full charly toolchain (charly binary + virtualization + gocryptfs + socat).
development
Operator CachyOS workstation profile — a kind:local template + target:local deploy that installs the full dev stack (30 candies) onto a CachyOS host via ShellExecutor. Lives in the overthinkos/cachyos submodule. MUST be invoked before editing or applying the charly-cachyos workstation profile.
tools
Fedora box with the full charly toolchain using shared candies. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Same candy list as charly-arch. Includes NVIDIA GPU runtime. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-fedora box.
tools
Arch Linux box with the full charly toolchain. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Composes /charly-coder:charly-mcp so the box is reachable as an MCP gateway on port 18765. NVIDIA GPU runtime composed in. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-arch box.