qtile-confirmlisted
Install: claude install-skill lost-rob0t/skills
# Confirm Qtile visually
## Goal
Confirm that the live Qtile desktop matches a requested visual invariant instead
of treating a successful reload or widget callback as visual proof.
## Stop gate
Before taking a screenshot, determine whether the host can return an image that
the agent can inspect visually. If it cannot, tell the user:
> This runtime does not support vision, so I cannot confirm Qtile from a screenshot.
Stop. Do not substitute OCR, pixel metadata, or shell output for visual
confirmation.
## Workflow
1. Discover the configuration root with `QTILE_CONFIG_ROOT`, defaulting to
`$HOME/.config/qtile`. Do not assume a repository path.
2. Record runtime context before interpreting the image:
```sh
printf 'session=%s display=%s\n' "${XDG_SESSION_TYPE:-unknown}" "${DISPLAY:-${WAYLAND_DISPLAY:-unknown}}"
xrandr --query 2>/dev/null || true
systemctl --user is-active qtile.service 2>/dev/null || true
qtile cmd-obj -o screen 0 -f info 2>/dev/null || true
```
3. Capture the whole desktop into a temporary directory. Use `scrot` for X11 or
`grim` for Wayland. If neither is available, stop and report the missing
capability rather than claiming confirmation.
```sh
out="$(mktemp -d "${TMPDIR:-/tmp}/qtile-confirm.XXXXXX")"
full="$out/full.png"
if command -v scrot >/dev/null 2>&1; then
scrot -q 100 "$full"
elif command -v grim >/dev/null 2>&1; then
grim "$full"
else
printf '%s\n' 'No scrot or grim screenshot