layered-soul/skills/iso-visuals/SKILL.md
Sam & Claude fe328efb84 feat(iso-visuals): out-of-box desktop experience — panel, wallpaper, join-hive
Three improvements for the Clawdie ISO first-boot desktop:

1. Panel health indicator (xfce4-genmon)
   - polls colibri socket every 30s
   - green/red dot + agent count + task count
   - click to open colibri status in terminal

2. Identity wallpaper generator
   - overlays hostname, Tailscale IP, Colibri port, FreeBSD release
   - runs on first boot, caches result
   - requires ImageMagick (add to ISO pkg list)

3. Join Hive launcher
   - one-click agent registration in visible terminal
   - checks daemon → vault creds → detect capabilities → register
   - idempotent, safe to re-run
   - pauses on result so operator reads before closing

All three scripts + skill.md + desktop entry in skills/iso-visuals/.
2026-06-20 10:56:54 +02:00

4.7 KiB

name description triggers
iso-visuals Out-of-box visual experience for Clawdie ISO — panel health indicator, identity wallpaper, and one-click Join Hive launcher. Integrates into Xfce desktop on first boot.
iso visuals
out of box experience
desktop wallpaper
panel indicator
join hive launcher
first boot appearance
clawdie desktop

ISO Visuals — Out-of-Box Desktop Experience

Three improvements that replace the "boot to a terminal" feeling with a calm, informative desktop: a panel health indicator, a machine-identity wallpaper, and a one-click Join Hive launcher.

1. Panel Health Indicator

Shows Colibri daemon status in the Xfce panel. Green/red dot with agent count. Click to open a terminal with full colibri status output.

Script: scripts/colibri-panel-indicator.sh

ISO integration:

# Copy the script into the live filesystem
cp scripts/colibri-panel-indicator.sh /usr/local/bin/colibri-panel-indicator
chmod 755 /usr/local/bin/colibri-panel-indicator

# Add to Xfce panel via xfconf (or manually: Panel → Add New Items → Generic Monitor)
xfconf-query -c xfce4-panel -p /plugins/plugin-20 -n -t string -s genmon
xfconf-query -c xfce4-panel -p /plugins/plugin-20/command -n -t string -s /usr/local/bin/colibri-panel-indicator

The indicator polls every 30s, uses <txt>/<tool>/<txtclick> genmon markup. Zero dependencies beyond nc and python3 (both in the base jail bootstrap).

2. Identity Wallpaper

Generates a desktop background with machine identity overlaid: hostname, Tailscale IP, Colibri port, and FreeBSD release.

Script: scripts/clawdie-wallpaper-gen.sh

ISO integration:

# Run on first boot, set as wallpaper
cp scripts/clawdie-wallpaper-gen.sh /usr/local/bin/clawdie-wallpaper-gen
chmod 755 /usr/local/bin/clawdie-wallpaper-gen

# In clawdie-bootstrap-launch.sh or xfce-session:
/usr/local/bin/clawdie-wallpaper-gen /usr/local/share/backgrounds/clawdie-default.png

# Set as wallpaper (Xfce):
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/last-image \
    -s /usr/local/share/backgrounds/clawdie-default.png

Requires ImageMagick (pkg install ImageMagick — add to ISO package list). Falls back to a solid dark background if no default wallpaper exists.

Format:

┌────────────────────────────────────┐
│                                    │
│          Clawdie OS                │
│                                    │
│   hostname    osa                  │
│   tailscale   100.72.229.63        │
│   colibri     9190                 │
│   jail        15.0-RELEASE-p4      │
│                                    │
└────────────────────────────────────┘

3. Join Hive Launcher

Desktop icon that runs the full agent registration flow in a visible terminal: check daemon → verify vault creds → detect capabilities → register → done.

Script: scripts/clawdie-join-hive.sh Desktop entry: scripts/clawdie-join-hive.desktop

ISO integration:

cp scripts/clawdie-join-hive.sh /usr/local/bin/clawdie-join-hive.sh
cp scripts/clawdie-join-hive.desktop /usr/local/share/applications/
cp scripts/clawdie-join-hive.desktop /home/clawdie/Desktop/
chmod 755 /usr/local/bin/clawdie-join-hive.sh

The launcher runs in xfce4-terminal with geometry 80x24, pauses on "Press Enter" so the operator reads the result before the window closes.

Idempotent — safe to double-click multiple times. Already-registered agents are detected and skipped.

Build integration (clawdie-iso build.sh)

Add these lines to the ISO build script:

# --- ISO Visuals ---
install -m 755 scripts/colibri-panel-indicator.sh  "${LIVE_ROOT}/usr/local/bin/colibri-panel-indicator"
install -m 755 scripts/clawdie-wallpaper-gen.sh     "${LIVE_ROOT}/usr/local/bin/clawdie-wallpaper-gen"
install -m 755 scripts/clawdie-join-hive.sh         "${LIVE_ROOT}/usr/local/bin/clawdie-join-hive"
install -m 644 scripts/clawdie-join-hive.desktop    "${LIVE_ROOT}/usr/local/share/applications/"
install -m 644 scripts/clawdie-join-hive.desktop    "${LIVE_ROOT}/home/clawdie/Desktop/"

And add ImageMagick to the ISO package list for the wallpaper generator.

Verification

After booting the ISO:

  1. Panel: green dot with agent count visible in the Xfce panel. Clicking opens colibri status in a terminal.
  2. Wallpaper: identity text in the bottom-left corner.
  3. Desktop: "Join Hive" icon present. Double-click → terminal opens, walks through registration, pauses for operator to read.