React PWA Designer
Design and build modern React progressive web applications using SuperDesign methodology, shadcn/ui components, and React best practices.
When to Use This Skill
Trigger this skill when the user requests:
- Designing or building React applications
- Creating progressive web apps (PWAs)
- Implementing shadcn/ui components
- Building modern, responsive web interfaces
- Creating React component libraries
- Designing with Tailwind CSS and modern design systems
- Converting designs to React components
MCP Server Prerequisites
This skill expects two MCP servers to be configured: shadcn (mcp__shadcn__*) for live component discovery and variant details, and context7 (mcp__context7__*) for official/latest library documentation. Both are optional. Without them the skill falls back to its bundled reference files (@reference/shadcn-components.md and the other @reference/* guides), so component listings may be incomplete and documentation may lag the latest releases.
Reference File Index
Getting Started
- README.md - Complete skill overview
- @reference/setup-guide.md - Project initialization, dependencies, configuration
templates/.superdesign/ - copy to the project root; design artifacts go in .superdesign/design_iterations/ (naming rules in the README inside it)
React Patterns
- @reference/react-hooks.md - Custom hooks and patterns
- @reference/component-patterns.md - Component architecture, compound components, render props
- @reference/state-management-patterns.md - useState vs Context vs Zustand vs React Query
Styling & Layout
- @reference/dynamic-styling-patterns.md - CSS Variables, Tailwind, inline styles
- @reference/layout-patterns.md - Flex scrolling, grid, responsive design, text overflow
- @reference/shadcn-components.md - shadcn/ui integration (check BEFORE MCP calls)
PWA
- @reference/pwa-checklist.md - PWA requirements checklist
- @reference/pwa-icon-validation.md - Icon validation (CRITICAL - read before generating icons!)
- @reference/pwa-troubleshooting.md - Installation, service worker, offline issues
Quality
- @reference/code-quality-tooling.md - ESLint, TypeScript, Prettier configuration
- @reference/common-pitfalls.md - Anti-patterns to avoid
- @reference/accessibility.md - WCAG AA patterns and examples
- @reference/implementation-examples.md - Complete code examples (Dashboard, Auth Flow)
Templates
- templates/vite.config.ts - Vite + PWA configuration
- templates/tailwind.config.js - Tailwind CSS setup
- templates/tsconfig.json - TypeScript configuration
- templates/manifest.json - PWA manifest template
templates/component-boilerplate.tsx - React component template
templates/custom-hook-template.ts - Custom hook structure
templates/service-worker.ts - Manual service worker implementation
SuperDesign Workflow
Four-phase methodology. Get user approval before proceeding at each phase.
Phase 1: Discovery & Planning
- Understand Requirements - App purpose, target users, PWA needs (offline, installable, notifications)
- Component Discovery - Use
mcp__shadcn__getComponents() and mcp__shadcn__getComponent() to identify matching components
- Architecture Planning - Component hierarchy, state management, routing, data fetching
Phase 2: Design
Reference: See SuperDesign.md for complete methodology.
- Layout Design - ASCII wireframes showing component structure and responsive breakpoints
- Theme Design - MUST use tool calls (never text output), save to
.superdesign/design_iterations/theme_[n].css
- Animation Design - Micro-syntax specs for transitions, loading states, interactions
- Component Implementation - Compose from shadcn primitives with proper TypeScript types
Phase 3: PWA Implementation
- Icons - MUST READ @reference/pwa-icon-validation.md first (dimension mismatches = silent install failure)
- Manifest - Use
templates/manifest.json as starting point
- Service Worker - Vite PWA Plugin (recommended) or manual via
templates/service-worker.ts
- Verify - See @reference/pwa-checklist.md for complete requirements
Phase 4: Development
- React patterns → @reference/react-hooks.md, @reference/component-patterns.md
- State management → @reference/state-management-patterns.md
- TypeScript & linting → @reference/code-quality-tooling.md
- Performance - React.memo, virtualization, code splitting, bundle monitoring
- Troubleshooting → @reference/pwa-troubleshooting.md
Session Scoping
- Limit to 15-20 files maximum per session
- Focus on single feature or component per iteration
- Complete cycle: Implementation → Tests → Commit before next scope
Tool Usage Decision Tree
Need component info?
├─ Common component details → Check @reference/shadcn-components.md FIRST
├─ Detailed implementation/variants → mcp__shadcn__getComponent("name")
└─ List all available components → mcp__shadcn__getComponents()
Need library documentation?
├─ React hooks/patterns → Check @reference/react-hooks.md FIRST
├─ State management → Check @reference/state-management-patterns.md FIRST
├─ Styling decisions → Check @reference/dynamic-styling-patterns.md FIRST
├─ PWA requirements → Check @reference/pwa-checklist.md FIRST
├─ Need official/latest docs → mcp__context7__resolve_library_id() then get_library_docs()
└─ Common Context7 libraries:
/facebook/react, /vite-pwa/vite-plugin-pwa, /GoogleChrome/workbox,
/tanstack/react-query, /pmndrs/zustand, /shadcn/ui
Rule: Always check reference files before MCP calls to save tokens.
Quick Decision Trees
Component Selection
Need interactive element?
├─ Button/action → <Button>
├─ Link/navigation → <Link> or <a>
├─ Input field → <Input> or <Textarea>
├─ Toggle → <Switch> or <Checkbox>
└─ Selection → <Select> or <RadioGroup>
Need layout container?
├─ Content box → <Card>
├─ Modal → <Dialog>
├─ Side panel → <Sheet>
├─ Dropdown → <DropdownMenu>
└─ Sections → <Tabs> or <Accordion>
Need feedback?
├─ Loading → <Skeleton> or <Progress>
├─ Notification → <Toast> or <Alert>
├─ Hint → <Tooltip>
└─ Confirmation → <AlertDialog>
State Management
What kind of state?
├─ Local to component → useState
├─ Shared (2-3 components) → Props or useContext
├─ Complex app state → Zustand or Jotai
├─ Server data → React Query or SWR
└─ Form state → React Hook Form + Zod
Critical Reminders
- ALWAYS use actual tool calls - Never output "Called tool: ..." as text
- Get user approval at each workflow step before proceeding
- Use tool calls for theme generation - Never output CSS as text
- Save to .superdesign/design_iterations/ for all design artifacts
- Check reference files before MCP for component details
- Follow React best practices - hooks, TypeScript, composition
- PWA icons MUST match manifest exactly - see @reference/pwa-icon-validation.md
- Avoid bootstrap blue colors - use modern design systems
- Mobile-first responsive - always design for smallest screen first
- Accessibility required - ARIA labels, keyboard nav, semantic HTML, WCAG AA contrast
Keep this skill current
When shadcn/ui, the Vite PWA plugin, or the MCP servers named here change an API or a component list, update the affected reference file in the same session. Replace the superseded text; do not append a note.
1---2name: react-pwa-designer3description: Use when designing or building frontend interfaces in React: a progressive web app (PWA) that installs and works offline, a component-driven UI on shadcn/ui and Tailwind CSS, a responsive mobile-first layout, or a React component library. Covers frontend design through the SuperDesign workflow (layout, theme, animation, implementation), shadcn/ui component selection, service worker and manifest setup, PWA icon validation, state management choices, and WCAG AA accessibility. Uses the shadcn and context7 MCP servers when they are configured.4license: MIT5---67# React PWA Designer89Design and build modern React progressive web applications using SuperDesign methodology, shadcn/ui components, and React best practices.1011## When to Use This Skill1213Trigger this skill when the user requests:14- Designing or building React applications15- Creating progressive web apps (PWAs)16- Implementing shadcn/ui components17- Building modern, responsive web interfaces18- Creating React component libraries19- Designing with Tailwind CSS and modern design systems20- Converting designs to React components2122### MCP Server Prerequisites2324This skill expects two MCP servers to be configured: **shadcn** (`mcp__shadcn__*`) for live component discovery and variant details, and **context7** (`mcp__context7__*`) for official/latest library documentation. Both are optional. Without them the skill falls back to its bundled reference files (`@reference/shadcn-components.md` and the other `@reference/*` guides), so component listings may be incomplete and documentation may lag the latest releases.2526## Reference File Index2728### Getting Started29- [README.md](README.md) - Complete skill overview30- @reference/setup-guide.md - Project initialization, dependencies, configuration31- `templates/.superdesign/` - copy to the project root; design artifacts go in `.superdesign/design_iterations/` (naming rules in the README inside it)3233### React Patterns34- @reference/react-hooks.md - Custom hooks and patterns35- @reference/component-patterns.md - Component architecture, compound components, render props36- @reference/state-management-patterns.md - useState vs Context vs Zustand vs React Query3738### Styling & Layout39- @reference/dynamic-styling-patterns.md - CSS Variables, Tailwind, inline styles40- @reference/layout-patterns.md - Flex scrolling, grid, responsive design, text overflow41- @reference/shadcn-components.md - shadcn/ui integration (check BEFORE MCP calls)4243### PWA44- @reference/pwa-checklist.md - PWA requirements checklist45- @reference/pwa-icon-validation.md - Icon validation (CRITICAL - read before generating icons!)46- @reference/pwa-troubleshooting.md - Installation, service worker, offline issues4748### Quality49- @reference/code-quality-tooling.md - ESLint, TypeScript, Prettier configuration50- @reference/common-pitfalls.md - Anti-patterns to avoid51- @reference/accessibility.md - WCAG AA patterns and examples52- @reference/implementation-examples.md - Complete code examples (Dashboard, Auth Flow)5354### Templates55- [templates/vite.config.ts](templates/vite.config.ts) - Vite + PWA configuration56- [templates/tailwind.config.js](templates/tailwind.config.js) - Tailwind CSS setup57- [templates/tsconfig.json](templates/tsconfig.json) - TypeScript configuration58- [templates/manifest.json](templates/manifest.json) - PWA manifest template59- `templates/component-boilerplate.tsx` - React component template60- `templates/custom-hook-template.ts` - Custom hook structure61- `templates/service-worker.ts` - Manual service worker implementation6263## SuperDesign Workflow6465Four-phase methodology. **Get user approval before proceeding at each phase.**6667### Phase 1: Discovery & Planning68691. **Understand Requirements** - App purpose, target users, PWA needs (offline, installable, notifications)702. **Component Discovery** - Use `mcp__shadcn__getComponents()` and `mcp__shadcn__getComponent()` to identify matching components713. **Architecture Planning** - Component hierarchy, state management, routing, data fetching7273### Phase 2: Design7475**Reference**: See [SuperDesign.md](SuperDesign.md) for complete methodology.76771. **Layout Design** - ASCII wireframes showing component structure and responsive breakpoints782. **Theme Design** - MUST use tool calls (never text output), save to `.superdesign/design_iterations/theme_[n].css`793. **Animation Design** - Micro-syntax specs for transitions, loading states, interactions804. **Component Implementation** - Compose from shadcn primitives with proper TypeScript types8182### Phase 3: PWA Implementation83841. **Icons** - MUST READ @reference/pwa-icon-validation.md first (dimension mismatches = silent install failure)852. **Manifest** - Use `templates/manifest.json` as starting point863. **Service Worker** - Vite PWA Plugin (recommended) or manual via `templates/service-worker.ts`874. **Verify** - See @reference/pwa-checklist.md for complete requirements8889### Phase 4: Development9091- **React patterns** → @reference/react-hooks.md, @reference/component-patterns.md92- **State management** → @reference/state-management-patterns.md93- **TypeScript & linting** → @reference/code-quality-tooling.md94- **Performance** - React.memo, virtualization, code splitting, bundle monitoring95- **Troubleshooting** → @reference/pwa-troubleshooting.md9697### Session Scoping9899- Limit to 15-20 files maximum per session100- Focus on single feature or component per iteration101- Complete cycle: Implementation → Tests → Commit before next scope102103## Tool Usage Decision Tree104105```106Need component info?107├─ Common component details → Check @reference/shadcn-components.md FIRST108├─ Detailed implementation/variants → mcp__shadcn__getComponent("name")109└─ List all available components → mcp__shadcn__getComponents()110111Need library documentation?112├─ React hooks/patterns → Check @reference/react-hooks.md FIRST113├─ State management → Check @reference/state-management-patterns.md FIRST114├─ Styling decisions → Check @reference/dynamic-styling-patterns.md FIRST115├─ PWA requirements → Check @reference/pwa-checklist.md FIRST116├─ Need official/latest docs → mcp__context7__resolve_library_id() then get_library_docs()117└─ Common Context7 libraries:118 /facebook/react, /vite-pwa/vite-plugin-pwa, /GoogleChrome/workbox,119 /tanstack/react-query, /pmndrs/zustand, /shadcn/ui120```121122**Rule**: Always check reference files before MCP calls to save tokens.123124## Quick Decision Trees125126### Component Selection127128```129Need interactive element?130├─ Button/action → <Button>131├─ Link/navigation → <Link> or <a>132├─ Input field → <Input> or <Textarea>133├─ Toggle → <Switch> or <Checkbox>134└─ Selection → <Select> or <RadioGroup>135136Need layout container?137├─ Content box → <Card>138├─ Modal → <Dialog>139├─ Side panel → <Sheet>140├─ Dropdown → <DropdownMenu>141└─ Sections → <Tabs> or <Accordion>142143Need feedback?144├─ Loading → <Skeleton> or <Progress>145├─ Notification → <Toast> or <Alert>146├─ Hint → <Tooltip>147└─ Confirmation → <AlertDialog>148```149150### State Management151152```153What kind of state?154├─ Local to component → useState155├─ Shared (2-3 components) → Props or useContext156├─ Complex app state → Zustand or Jotai157├─ Server data → React Query or SWR158└─ Form state → React Hook Form + Zod159```160161## Critical Reminders1621631. **ALWAYS use actual tool calls** - Never output "Called tool: ..." as text1642. **Get user approval** at each workflow step before proceeding1653. **Use tool calls for theme generation** - Never output CSS as text1664. **Save to .superdesign/design_iterations/** for all design artifacts1675. **Check reference files before MCP** for component details1686. **Follow React best practices** - hooks, TypeScript, composition1697. **PWA icons MUST match manifest exactly** - see @reference/pwa-icon-validation.md1708. **Avoid bootstrap blue colors** - use modern design systems1719. **Mobile-first responsive** - always design for smallest screen first17210. **Accessibility required** - ARIA labels, keyboard nav, semantic HTML, WCAG AA contrast173174## Keep this skill current175176When shadcn/ui, the Vite PWA plugin, or the MCP servers named here change an API or a component list, update the affected reference file in the same session. Replace the superseded text; do not append a note.