.agents/skills/wox-visual-style/SKILL.md
Apply one coherent visual language to Wox Go UI without changing business behavior accidentally.
Read references/visual-style-guide.md completely before designing, reviewing, or editing UI. Treat it as the sole visual policy for Wox Go UI. Treat production components and tests as implementation evidence; when they disagree with the guide, report or fix the implementation drift instead of silently redefining the guide from current code.
Also read the repository AGENTS.md, README.md, Wox.code-workspace, and wox.core/ui/README.md before refactors.
Classify the requested surface before applying size rules:
Do not use a special-surface exception to justify page-local styling elsewhere.
Wox* component and its focused tests.launcher/component/wox_theme.go, launcher/component/typography.go, and launcher/theme.go when colors or type are involved.Useful focused searches include:
rg -n 'Wox(Button|TextField|Dropdown|Checkbox|Switch|IconButton)' wox.core/ui/launcher
rg -n 'woxwidget\.Gesture\{' wox.core/ui/launcher/view
rg -n 'TextStyle\{Size:|Height:|Radius:|Color: woxui\.Color' wox.core/ui/launcher/view
rg -n 'BorderWidth: [0-9]+\.|Radius: [0-9]+\.|LineHeight: [0-9]+\.|TextStyle\{Size: [0-9]+\.[0-9]' wox.core/ui/launcher
Interpret results in context. Primitive gestures are valid for page-specific pointer regions and tooltips; they are a defect when they recreate a reusable control contract.
wox.core/common/icons.go; add a reusable icon there before introducing a local asset.Express alignment through layout primitives first: use Align, Flex main/cross-axis alignment, Expanded, or Constrained to center and place controls. Do not hand-calculate offsets such as (rowHeight-controlHeight)/2, or use padding as a substitute for alignment; improve the owning layout/component boundary when the existing primitives cannot express the relationship.
When reviewing only, report concrete violations with the owning layer and recommended shared fix. Do not mutate files unless the user requested implementation.
launcher/component.launcher/view.launcher.App and preserve widget.Boundary.Build purity.Align or Flex alignment and reserve padding for actual content insets, not positional compensation.Preserve existing behavior unless the request includes interaction changes. A visual refactor must not alter values, callbacks, focus order, IME ownership, keyboard activation, scrolling, or window lifecycle.
gofmt.wox.core.GOCACHE=/tmp/wox-go-cache make test-go-ui-unit from the repository root when shared components, widget behavior, or broad launcher UI changed.Source inspection is the default. Request permission before launching Wox for runtime comparison unless the user already requested it. Escalate to serial screenshots when font measurement, DPI, animation, clipping, compositing, native focus, or platform rendering leaves a meaningful visual ambiguity.
Report: