react-vite-dashboard — Claude Code skill: how to install
This skill converts Stitch designs into production React and Vite dashboards. It maps tokens from DESIGN.md and integrates async data fetching with TanStack Query.
npx skills add google-labs-code/stitch-skills --skill react-vite-dashboard -a claude-codeWhat react-vite-dashboard does
The skill turns Stitch screens into structured dashboard code for React and Vite projects. It uses the Stitch MCP prefix to locate tools, fetches the selected design file, and saves raw HTML and PNG assets in .stitch/designs/. The assistant then splits output into src/components/, src/pages/, and src/hooks/.
Styling relies on token definitions from DESIGN.md, linking typography and color values directly to CSS variables in src/index.css. Tables require semantic elements or TanStack Table instead of generic div structures. For contract reads, it introduces viem or ethers within a dedicated wallet provider.
Without an active Stitch MCP server and an existing DESIGN.md file, the skill cannot function. The assistant needs both prerequisites to retrieve mockups and apply valid design tokens.
What it helps with
- Convert Stitch interface screens into React and Vite components
- Map color and typography tokens from DESIGN.md to CSS variables
- Wire async data fetching using TanStack Query hooks
- Integrate read-only contract calls via viem or ethers
Example prompts for the agent
- Fetch the overview screen from Stitch and build the React dashboard.
- Sync DESIGN.md tokens into index.css for the dashboard theme.
- Create a TanStack Query table component for the transactions screen.
How to install react-vite-dashboard
1Skills CLI (Vercel)
npx skills add google-labs-code/stitch-skills --skill react-vite-dashboard -a claude-code2Manually: put the files in place
~/.claude/skills/react-vite-dashboard/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/react-vite-dashboard/
1Skills CLI (Vercel)
npx skills add google-labs-code/stitch-skills --skill react-vite-dashboard -a codex2Manually: put the files in place
.agents/skills/react-vite-dashboard/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add google-labs-code/stitch-skills --skill react-vite-dashboard -a cursor2Manually: put the files in place
.cursor/skills/react-vite-dashboard/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install google-labs-code/stitch-skills react-vite-dashboard2Manually: put the files in place
.github/skills/react-vite-dashboard/SKILL.md1Skills CLI (Vercel)
npx skills add google-labs-code/stitch-skills --skill react-vite-dashboard -a gemini-cli2Platform CLI
gemini skills install https://github.com/google-labs-code/stitch-skills --path plugins/stitch-build/skills/react-vite-dashboardManually: put the files in place
.devin/skills/react-vite-dashboard/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add google-labs-code/stitch-skills --skill react-vite-dashboard -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set15
The whole set →Similar
Questions about react-vite-dashboard
How to install react-vite-dashboard in Claude Code?
Run npx skills add google-labs-code/stitch-skills --skill react-vite-dashboard -a claude-code in your terminal to install the skill.
What does react-vite-dashboard do?
It guides coding agents to translate Stitch designs into React and Vite dashboard components with DESIGN.md tokens and TanStack Query.
What prerequisites are required?
You need a configured Stitch MCP server, a project DESIGN.md file, and a fresh Vite React project created with npm create vite@latest.
Source text
SKILL.md · Apache-2.0
---
name: react-vite-dashboard
description: Convert Stitch designs into production React + Vite dashboards with TanStack Query, accessible tokens from DESIGN.md, and Web3-ready patterns (ethers/viem).
allowed-tools:
- "stitch*:*"
- "Read"
- "Write"
- "Bash"
- "web_fetch"
---
# Stitch to React + Vite Dashboard
You are a frontend engineer building **data-dense dashboards** from Stitch screens. Target stack: **React 18**, **Vite**, **TypeScript**, **TanStack Query**, **React Router**, and optional **ethers v6** or **viem** for on-chain reads.
## Prerequisites
- Stitch MCP configured ([setup guide](https://stitch.withgoogle.com/docs/mcp/setup/))
- A project `DESIGN.md` (see the `design-md` skill) for token fidelity
- Vite + React + TypeScript scaffold (`npm create vite@latest`)
## Workflow
1. **Discover MCP prefix** — run `list_tools`, note the Stitch prefix (e.g. `stitch:`).
2. **Fetch screen** — `[prefix]:get_screen` with project and screen IDs.
3. **Download assets** — persist HTML/screenshot under `.stitch/designs/{screen}.html` and `.png`.
4. **Read DESIGN.md** — map `colors.*`, `typography.*`, `spacing.*` to CSS variables in `src/index.css`.
5. **Generate components** — split into `src/components/`, `src/pages/`, `src/hooks/`.
6. **Wire data** — use TanStack Query for async fetches; keep presentational components pure.
## HTML → React mapping
| Pattern | Implementation |
|---------|----------------|
| Layout grid / flex | Tailwind utilities or CSS modules aligned to DESIGN.md spacing tokens |
| Cards / panels | `<section>` with tokenized border-radius and elevation fallbacks for forced-colors |
| Tables | Semantic `<table>` or TanStack Table; never div-only grids for tabular data |
| Buttons | `<button type="button">` with visible focus ring (preserve browser default unless DESIGN.md defines focus tokens) |
| Forms | `<label htmlFor>` + `<input id>`; associate errors with `aria-describedby` |
| Loading | Skeleton components; `aria-busy` on containers during fetch |
| Wallet connect | Isolate in `WalletProvider`; never embed private keys in generated code |
## DESIGN.md integration
```css
/* src/index.css — example token bridge */
:root {
--color-primary: /* from DESIGN.md colors.primary */;
--font-body: /* typography.body-md.fontFamily */;
}
```
Run the design.md linter locally before shipping UI:
```bash
npx @google/design.md lint DESIGN.md
```
## Web3 dashboard conventions
- Read-only contract calls via `useReadContract` (viem/wagmi) or ethers `Contract` + TanStack Query `queryFn`.
- Format token amounts with `formatUnits`; show network name and chain ID in settings footer.
- Surface transaction errors in plain language; link to block explorer when `txHash` exists.
- Gas-sensitive flows: batch reads, avoid redundant `eth_call` in render loops.
## File structure
```
src/
├── components/ # Presentational UI from Stitch
├── pages/ # Route-level screens
├── hooks/ # useQuery wrappers, wallet hooks
├── lib/ # ABI helpers, formatters
└── styles/ # Token CSS variables
```
## Quality checklist
- [ ] WCAG 2.2 AA: contrast from DESIGN.md component pairs passes linter
- [ ] Keyboard navigable: focus order matches visual order
- [ ] Responsive: test at 375px and 1280px widths
- [ ] No secrets in repo: RPC URLs from env (`VITE_*` prefix only for public endpoints)
- [ ] TypeScript strict: no `any` on contract ABIs
## Stitch docs note
When following links on [stitch.withgoogle.com/docs](https://stitch.withgoogle.com/docs/), use the full `https://stitch.withgoogle.com/docs/...` URL if relative navigation redirects incorrectly.
© google-labs-code · Apache-2.0 · google-labs-code/stitch-skills