skills/setup/SKILL.md
Gather and persist project design context such as audience, brand personality, UX goals, and implementation defaults for future better-web-ui work. Use when starting a project, defining UI direction, or establishing reusable design guidance before other better-web-ui skills.
npx skillsauth add aladicf/better-web-ui setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Gather design context for this project, then persist it for all future sessions.
setup writes to .better-web-ui.md as the canonical destination. Older files such as .better-ui.md and .impeccable.md are legacy migration inputs only, not the place new work should keep using.
Consult design principles when turning product values, tone, and repeated tradeoffs into durable design principles that later work can reuse without reopening the same debates. Consult ux strategy when the project needs a clearer strategic frame for target outcomes, user focus, priorities, feasibility, or major risks.
Before asking questions, thoroughly scan the project to discover what you can:
components.json, shadcn schema usage, CLI-generated configuration, preset clues, Radix vs Base UI choiceNote what you've learned and what remains unclear.
ask the user directly to clarify what you cannot infer. Focus only on what you couldn't infer from the codebase:
Skip questions where the answer is already clear from the codebase exploration.
shadcn/ui, is it mostly using the upstream primitives directly or local wrappers / compositions built on top of them?shadcn/ui Blocks or re-ui as accelerators for common sections or flows?components.json file or signs of shadcn create / shadcn apply customizations that should be treated as the current baseline?If the project already has a styling system, component library, form stack, or table/grid stack, treat that as the default unless the user explicitly wants to change it.
If the project is new and the user does not specify implementation preferences, use the framework-default matrix from framework defaults and record the result. When the form architecture is still open in a new React, Vue, Angular, Solid, or Svelte project, default to TanStack Form and record that too. When the table or data-grid architecture is still open in those ecosystems, default to TanStack Table and record that too. When the long-list or virtualization architecture is still open in those ecosystems, default to TanStack Virtual and record that too.
Synthesize your findings and the user's answers into a ## Design Context section:
## Design Context
### Users
[Who they are, their context, the job to be done]
### Brand Personality
[Voice, tone, 3-word personality, emotional goals]
### Aesthetic Direction
[Visual tone, references, anti-references, theme]
### Implementation Defaults
[Detected or chosen framework, styling system, component library defaults, form library / validation defaults, table/data-grid defaults, virtualization defaults, any block accelerators in use, any relevant Radix-vs-Base-UI ecosystem preference, any important `components.json` / `shadcn create` / `shadcn apply` customizations, and whether they came from the existing codebase, explicit user preference, or framework fallback defaults]
### Design Principles
[3-5 principles derived from the conversation that should guide all design decisions]
Derive the principles from concrete levers, not vague aspirations. Prefer things like:
The strongest principles explain both what to do and what to avoid. Treat them as default decisions with judgment, not as decorative slogans.
Write this section to .better-web-ui.md in the project root. If that file already exists, update the Design Context section in place. If a legacy .better-ui.md or .impeccable.md file exists, migrate or mirror the Design Context section into .better-web-ui.md so better-web-ui has a single canonical project context file going forward.
Legacy files are fallback inputs for migration only. New work should keep .better-web-ui.md as the canonical destination.
Make sure the persisted context captures this precedence clearly:
When the distinction matters for React-oriented component ecosystems, also record whether the project is effectively Radix-flavored, Base UI-flavored, or mixed so later design work does not guess.
If shadcn-specific project configuration exists, record it as part of the baseline instead of letting later sessions assume the generic fallback defaults.
Then ask the user whether they'd also like the Design Context appended to AGENTS.md. If yes, append or update the section there as well.
Confirm completion and summarize the key design principles that will now guide all future work.
development
Build or improve a UI testing strategy covering visual regression, interaction testing, and accessibility assertions. Use when the user asks to add tests, set up testing, fix flaky tests, improve test coverage, validate UI behavior, catch visual bugs, or establish confidence in shipping frontend changes.
development
Design security-conscious interfaces that protect users without frustrating them. Use when the user asks about MFA, password UX, breach notifications, trust indicators, secure forms, account recovery, or making security feel safe rather than scary.
development
Design or improve search experiences, result presentation, and filtering interfaces. Use when the user asks to add search, redesign search results, improve findability, build autocomplete, add filters, or fix zero-results dead ends.
development
Plan, implement, or improve an internationalization and localization strategy for UI content, formatting, and regional adaptation. Use when the user asks to add i18n, localize, translate, support multiple languages, handle regional formats, manage locale switching, or build a multilingual product.