glass-ui-changeslisted
Install: claude install-skill gnibu/tokens-on-track
# Changing how the glass looks
The card and the dropdown are one design language rendered by two windows. Their
edges, sheen and tint are tuned against measured pixel values, not against
adjectives. This skill is the loop that produced those numbers.
## The rule
**Never write a causal claim you have not measured.** Not in a comment, not in a
commit message, not in a reply to the user.
This exists because it was broken. A hairline on the dropdown was attributed to
"our rim stacking on the system's", and the fix was to zero our own rim
(`711fc03`). The stated cause was wrong, the fix changed nothing visible, and
the wrong explanation was then baked into a comment where the next reader
inherited it. The real cause — SwiftUI compositing its own hairline *above*
hosted content — took ten minutes to establish once anyone actually sampled a
pixel.
Adjectives that must trigger measurement before you touch code: whiter, brighter,
washed out, too dark, off, doesn't match, pops too much.
## The loop
### 1. Get the change on screen
Dev builds are unreliable for this. A second copy of the app gets a status item
the window server parks off-screen when the menu bar is crowded — its panel
opens at a negative x and no screenshot will ever contain it. Install and drive
the real app:
```sh
swift build && ./build.sh --install # relaunches /Applications/Tokens on Track.app
```
### 2. Open the dropdown without a human
```sh
PID=$(pgrep -f "/Applications/Tokens on Track.app")
osascrip