react-vite-dashboard

แปลงการออกแบบ Stitch เป็นแดชบอร์ด React + Vite สำหรับโปรดักชัน ด้วย TanStack Query โทเค็นที่เข้าถึงได้จาก DESIGN.md และรูปแบบที่พร้อม Web3 (ethers/viem)

npx skills add https://github.com/google-labs-code/stitch-skills --skill react-vite-dashboard

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)
  • 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

PatternImplementation
Layout grid / flexTailwind utilities or CSS modules aligned to DESIGN.md spacing tokens
Cards / panels<section> with tokenized border-radius and elevation fallbacks for forced-colors
TablesSemantic <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
LoadingSkeleton components; aria-busy on containers during fetch
Wallet connectIsolate in WalletProvider; never embed private keys in generated code

DESIGN.md integration

/* 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:

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, use the full https://stitch.withgoogle.com/docs/... URL if relative navigation redirects incorrectly.

Skills เพิ่มเติมจาก google-labs-code

typed-service-contracts
google-labs-code
มาตรฐานสถาปัตยกรรมสำหรับการสร้างบริการ TypeScript ที่แข็งแกร่งและปลอดภัยต่อชนิดข้อมูลโดยใช้รูปแบบ "Spec and Handler" ใช้เมื่อสร้าง CLI ไลบรารี หรือระบบที่ซับซ้อน…
stitch::code-to-design
google-labs-code
แปลงโค้ด frontend (Vite, React ฯลฯ) เป็น Stitch Design โดยการเชื่อมโยงการแยก HTML แบบ static, การแยกระบบดีไซน์ และการอัปโหลดไฟล์ **ควรใช้สิ่งนี้เสมอ…**
stitch::extract-design-md
google-labs-code
แยกชุดระบบการออกแบบที่ครอบคลุม (DESIGN.md) ออกจากซอร์สโค้ดส่วนหน้าโดยตรง — React, Vue, Svelte, Angular, HTML/CSS ธรรมดา หรือเว็บเฟรมเวิร์กใดๆ…
remotion
google-labs-code
สร้างวิดีโอแนะนำแบบมืออาชีพจากดีไซน์แอป Stitch โดยใช้ Remotion พร้อมทรานซิชันที่ราบรื่นและข้อความซ้อนทับ ดึงภาพหน้าจอจากโปรเจกต์ Stitch และจัดเรียงเป็นองค์ประกอบวิดีโอ Remotion พร้อมเอฟเฟกต์ซูม ทรานซิชันแบบเฟด และข้อความซ้อนทับตามบริบท รองรับสถาปัตยกรรมโมดูลาร์ของคอมโพเนนต์ด้วย ScreenSlide และ WalkthroughComposition พร้อมฟีเจอร์ขั้นสูง เช่น จุดโต้ตอบและการรวมเสียงพากย์ สร้างรายการหน้าจอ ดาวน์โหลด...
ink
google-labs-code
โปรแกรมเรนเดอร์เทอร์มินัลสำหรับ json-render ที่แปลงสเปก JSON เป็น UI เทอร์มินัลแบบโต้ตอบ ใช้เมื่อทำงานกับ @json-render/ink สร้าง UI เทอร์มินัลจาก...
tdd-red-green-refactor
google-labs-code
ทักษะ
automate-github-issues
google-labs-code
ตั้งค่าระบบคัดแยกและแก้ไขปัญหา GitHub อัตโนมัติโดยใช้เอเจนต์การเขียนโค้ด Jules แบบขนาน
local-action-verification
google-labs-code
ตั้งค่ารีโพสิทอรีสำหรับการตรวจสอบ GitHub Actions ในเครื่องโดยใช้ act เพื่อให้ Jules สามารถตรวจสอบ CI ก่อนพุช