Skip to main content
skill CX Codex

setup · aladicf — Claude Code skill: what it does, how to install

Scans project files and asks UX questions to capture audience, brand personality, and UI defaults into .better-web-ui.md.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aladicf/better-web-ui --skill setup -a claude-code
Open on GitHub

What setup does

The skill initializes design context before you start building interfaces with better-web-ui. It scans the repository first. The process inspects package.json, components.json, CSS variables, and styling setups like Tailwind or plain CSS. It also detects existing component libraries like shadcn/ui alongside current table or form packages.

When details remain unclear from the code, the skill asks direct questions regarding target users, brand voice, and aesthetic anti-references. For fresh projects without explicit preferences, it records sensible defaults. It defaults to TanStack Form, TanStack Table, and TanStack Virtual across ecosystems like React or Vue.

All verified decisions and design principles are written directly to .better-web-ui.md. Older files like .better-ui.md and .impeccable.md serve strictly as legacy migration sources rather than write targets.

What it helps with

  • Audit codebase dependencies and design tokens before styling
  • Define brand personality and visual anti-references through guided prompts
  • Persist UI standards and framework choices in .better-web-ui.md
  • Establish default form and table libraries for new frontend projects

Example prompts for the agent

  • Run setup to gather design context for this project
  • Inspect the repository and write our UI defaults to .better-web-ui.md
  • Run setup and configure our UX goals before styling new views

How to install setup

1Skills CLI (Vercel)

npx skills add aladicf/better-web-ui --skill setup -a claude-code

2Manually: put the files in place

~/.claude/skills/setup/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/setup/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about setup

How do I install setup in Claude Code?

Run npx skills add aladicf/better-web-ui --skill setup -a claude-code in your terminal. You can also save the file directly to ~/.claude/skills/setup/SKILL.md.

Where does the setup skill store project context?

The skill writes output to .better-web-ui.md. Older files such as .better-ui.md and .impeccable.md are treated solely as legacy migration inputs.

Which default libraries does setup pick for new projects?

If the project is new and has no active libraries configured, it defaults to TanStack Form, TanStack Table, and TanStack Virtual.

Source text

SKILL.md · MIT
---
name: setup
description: 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.
metadata:
  argument-hint: "[project]"
---

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](../frontend-design/reference/design-principles.md) 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](../frontend-design/reference/ux-strategy.md) when the project needs a clearer strategic frame for target outcomes, user focus, priorities, feasibility, or major risks.

## Step 1: Explore the Codebase

Before asking questions, thoroughly scan the project to discover what you can:

- **README and docs**: Project purpose, target audience, any stated goals
- **Package.json / config files**: Tech stack, dependencies, existing design libraries
- **shadcn project config**: `components.json`, shadcn schema usage, CLI-generated configuration, preset clues, Radix vs Base UI choice
- **Styling system**: Tailwind, CSS modules, CSS-in-JS, vanilla CSS, utility systems, tokens
- **Component libraries**: shadcn/ui, Nuxt UI, Angular Material, custom UI packages, in-house systems
- **Form architecture**: TanStack Form, React Hook Form, Formik, vee-validate, Angular forms, custom validation/state wiring
- **Table / data-grid architecture**: TanStack Table, AG Grid, framework-native tables, custom table state wiring
- **Long-list / virtualization architecture**: TanStack Virtual, react-window, react-virtualized, framework-native virtualization, custom windowing logic
- **Existing components**: Current design patterns, spacing, typography in use
- **Brand assets**: Logos, favicons, color values already defined
- **Design tokens / CSS variables**: Existing color palettes, font stacks, spacing scales
- **Any style guides or brand documentation**

Note what you've learned and what remains unclear.

## Step 2: Ask UX-Focused Questions

ask the user directly to clarify what you cannot infer. Focus only on what you couldn't infer from the codebase:

### Users & Purpose
- Who uses this? What's their context when using it?
- Is this aimed at a specific age range, life stage, or audience segment whose habits or needs should shape the UX?
- Is there a secondary audience or gatekeeper we also need to satisfy, such as parents, teachers, admins, or caregivers?
- What job are they trying to get done?
- What emotions should the interface evoke? (confidence, delight, calm, urgency, etc.)

### Brand & Personality
- How would you describe the brand personality in 3 words?
- Any reference sites or apps that capture the right feel? What specifically about them?
- What should this explicitly NOT look like? Any anti-references?
- Should the interface feel more serious, playful, elegant, utilitarian, editorial, or something else?
- Should the language be formal, neutral, or conversational?

### Aesthetic Preferences
- Any strong preferences for visual direction? (minimal, bold, elegant, playful, technical, organic, etc.)
- Light mode, dark mode, or both?
- Any colors that must be used or avoided?
- Should corners feel mostly square, gently rounded, or soft and playful?
- Should the palette lean warm, cool, or neutral?

### Accessibility & Inclusion
- Specific accessibility requirements? (WCAG level, known user needs)
- Considerations for reduced motion, color blindness, or other accommodations?

Skip questions where the answer is already clear from the codebase exploration.

### Implementation Defaults
- What framework / runtime should future UI work assume by default?
- If this is a brand-new project, does the user want a specific styling system?
- If this is a brand-new project, does the user want a specific component library or block system?
- Does the project already use a form library or validation stack that later UI work should preserve?
- Does the project already use a table or data-grid library that later UI work should preserve?
- Does the project already use a virtualization or windowing library for long lists that later UI work should preserve?
- If the project already uses `shadcn/ui`, is it mostly using the upstream primitives directly or local wrappers / compositions built on top of them?
- If relevant, does the project already use `shadcn/ui Blocks` or `re-ui` as accelerators for common sections or flows?
- If relevant, is the project primarily following a Radix-flavored or Base UI-flavored ecosystem for its headless primitives and composed components?
- If the project uses shadcn, does it already have a `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`](../frontend-design/reference/framework-defaults.md) 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.

## Step 3: Write Design Context

Synthesize your findings and the user's answers into a `## Design Context` section:

```markdown
## 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:
- "Establish hierarchy with spacing and weight before adding color"
- "Use warm neutrals and restrained accent color"
- "Favor editorial typography and mostly square corners"
- "Keep one obvious primary action per screen"

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:

1. detected existing project stack
2. explicit user preference for a new project
3. framework-based fallback defaults

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.

© aladicf · MIT · aladicf/better-web-ui

Similar skills

Everything for Design →

setup by other authors comes first.

setup Alireza Rezvani Sets up an autoresearch experiment by collecting its target file, evaluation command, metric, and optimization direction. Use it before starting an optimization loop. 1,480installs setup aws This skill kicks off the connection setup for AWS DevOps Agent and AWS Security Agent. Reach for it when MCP tools go missing or you are wiring the toolkit up for the first time. CX Codex +1 1,500installs setup marketcalls Sets up a Python backtesting environment with VectorBT and OpenAlgo. It configures the virtual environment, installs dependencies, and prepares .env. CX Codex +1 2,000installs setup assistant-ui This skill guides assistant-ui project creation, setup in an existing app, and runtime selection. Use it when starting a chat UI or wiring one to a backend. CX Codex +1 6,100installs setup tartinerlabs Reads the project manifest, picks the language, and fills in the missing tooling: linter, formatter, git hooks, type checking, secret scanner. CX Codex +1 376installs frontend-design official anthropics This skill guides intentional visual design for new interfaces and redesigns. Use it when a generic generated UI is not enough. 1,025,790installs grill-me Matt Pocock grill-me interviews you about a plan or design to expose gaps and sharpen decisions. Use it before implementation starts. 1,424,476installs design-taste-frontend Leonxlnx This skill directs the design of public pages and work screens, then checks the result in a browser through screenshots. Use it when an interface feels generic or unfinished. CX Codex +1 678,700installs prototype Matt Pocock Creates throwaway prototypes for checking state logic or exploring UI before committing the decision to the main codebase. 986,201installs grilling Matt Pocock Stress-test a plan, decision, or idea through structured rounds of questions. Use it when you need to expose assumptions before acting. 979,543installs codebase-design Matt Pocock This skill helps design modules with small interfaces and hidden complexity. Use it when refactoring code, choosing a seam, or making tests easier to write. 850,344installs

From the same set32

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor