visant-design · git:20261102.5f957aa · 2026-11-02 · sha256 53095e25d0c3fb0a
visant-design git:20261102.5f957aaA
Immutable. This exact content never changes and is served at /api/v1/blob/53095e25d0c3fb0a.
---
name: visant-design
description: 'One door for UI, UX and interface work: audit a screen, decide hierarchy, motion, charts and panels, component demos. Routes to the right Visant playbook. Use on "ui", "ux", "interface", "redesign this screen", "looks AI-made", "make it smoother", "add a chart", "tá com cara de IA", "redesenhar tela", "deixa mais suave", /visant-design.'
metadata:
family: design
routes: [visant-killer, visant-frontend, visant-motion, visant-refine]
---
# Visant Design
This file holds no design rules. Pick the route, load that playbook, follow it. Load only what the ask needs: each playbook costs context.
## Routes
| The ask | Load | It ends with |
|---|---|---|
| Audit, "looks AI-made", "is this good", before a PR | [visant-killer](../visant-killer/SKILL.md) | gate result, score |
| Only "too much", "cluttered", "too many labels" | [declutter](../visant-killer/references/declutter.md) | what was cut |
| New or redesigned screen, hierarchy, empty state, what to remove | [visant-frontend](../visant-frontend/SKILL.md) | route classification table |
| Animation, transition, hover feel, loading, skeleton, sound | [visant-motion](../visant-motion/SKILL.md) | `motion-lint` clean |
| Chart, gauge, sparkline, slider, metric tile, control panel | [visant-refine](../visant-refine/SKILL.md) | `refine-scan` clean |
| Component demo, showcase, library page, mock product kit | [component-showcase](../visant-frontend/references/component-showcase.md) | one piece, large, in its best state |
| Fake product UI for a hero or feature card, cursor demo | `stageshow`, third party; map its kit to the project's tokens and components | filmed loop, `REHEARSAL.md` |
Load with the Skill tool, or read the linked file. If a playbook is missing, install it: `npx skills add pedrojaques99/visant-skills-public --skill <name>`.
## Several at once
Building a whole screen, the order is fixed: **frontend** decides what exists, **refine** and **motion** shape the parts that need them, **killer** judges the result before the PR. Never start with the audit on something not built yet.
## Before you say done
Compiling is not seeing. If you changed the interface, this is part of the task, whichever route you took:
1. Start the app and measure the real screen at phone and desktop width. It finds horizontal overflow, cut text and stacked overlays:
`node ${CLAUDE_SKILL_DIR}/../visant-killer/scripts/corta-url.mjs <local-url> home --widths 390,1280`
If Playwright is missing: `npx playwright install chromium`, then run it again.
2. Fix what it finds, and measure again. Overflow at 390 is a defect, not a detail.
3. React: `node ${CLAUDE_SKILL_DIR}/../visant-killer/scripts/killer-scan.mjs <changed files>`. Fix its findings.
4. Say which widths you measured. If you could not open it, the first line of your answer is "not opened", and the work is not done.
## Before writing a piece
Check whether it already exists: the repo's own primitives first, then [@visant/ui](https://ui.visantlabs.com/llms.txt).
## Neighbors
- **[[visant-killer]]**: audit what exists
- **[[visant-frontend]]**: decide what should exist
- **[[visant-motion]]**: how it moves
- **[[visant-refine]]**: data and controls
- **[[stageshow]]**: a fake product UI for a hero or feature card (third party: `npx skills add benjitaylor/skills --skill stageshow`)
- **[[visant-copy]]**: the words on the screen
- **[[visant-preflight]]**: a large client project, before any screen