frontend-code-review
Conducts comprehensive frontend code reviews including React/Vue/Angular component analysis, TypeScript/JavaScript quality assessment, CSS/styling review, performance optimization, accessibility compliance, security vulnerabilities, and best practices validation. Produces detailed review reports with specific issues, severity ratings, and actionable recommendations. Use when reviewing frontend code, analyzing React/Vue/Angular components, checking JavaScript/TypeScript quality, validating CSS/SCSS, assessing web performance, or when users mention "review frontend code", "check React components", "analyze JavaScript", "review TypeScript", "validate accessibility", or "frontend code quality".
What this skill does
# Frontend Code Review Systematically review frontend code to identify issues, ensure quality, and provide actionable improvement recommendations across code quality, performance, accessibility, and security dimensions. ## Review Workflow ## 1. Initial Assessment Gather context about the project and identify review scope: **Project Context:** - Framework and version (React, Vue, Angular, vanilla JS) - Build tools and dependencies - Target browsers/devices - Accessibility requirements (WCAG level) - Performance targets (Core Web Vitals) **Review Scope:** - New features vs. refactoring vs. bug fixes - Component complexity level - Critical user paths - Security-sensitive areas ### 2. Code Quality Analysis Evaluate component structure, code patterns, and maintainability: **Key Areas:** - Component architecture (single responsibility, composition patterns) - JavaScript/TypeScript quality (type safety, naming, complexity) - State management decisions (local vs. global, immutability) - Error handling and edge cases - Code duplication and DRY violations > **Load references/code-quality-checklist.md** for detailed quality criteria, common issues, and fixes with code examples ### 3. Performance Review Assess rendering efficiency, resource loading, and Core Web Vitals: **Focus Areas:** - Rendering optimization (React.memo, useMemo, useCallback, keys) - Resource loading (images, fonts, scripts, lazy loading) - Bundle size and code splitting - Core Web Vitals: LCP < 2.5s, FID < 100ms, CLS < 0.1 - Memory leaks and cleanup > **Load references/performance-checklist.md** for detailed optimization techniques and Web Vitals guidelines with code examples ### 4. Accessibility Assessment Evaluate WCAG 2.1 compliance and inclusive design: **Key Areas:** - Semantic HTML (proper headings, landmarks, lists) - ARIA implementation (labels, roles, live regions) - Keyboard navigation and focus management - Screen reader support (alt text, labels, announcements) - Color contrast ratios > **Load references/accessibility-checklist.md** for WCAG 2.1 AA/AAA compliance criteria with detailed examples ### 5. Security Review Identify vulnerabilities and security best practices: **Common Vulnerabilities:** - XSS (input sanitization, safe HTML rendering) - CSRF protection - Authentication token handling - Sensitive data exposure - Dependency vulnerabilities **Security Controls:** - Content Security Policy (CSP) - HTTPS enforcement - Secure cookies - Input validation and output encoding > **Load references/security-checklist.md** for comprehensive frontend security guidelines and vulnerability prevention ### 6. CSS/Styling Review Assess architecture, responsiveness, and maintainability: **Key Areas:** - CSS methodology (BEM, OOCSS, CSS-in-JS, Tailwind) - Responsive design (mobile-first, breakpoints, flexible layouts) - Design tokens and variables - Specificity management - Unused CSS detection ### 7. Testing Coverage Evaluate test completeness and quality: **Test Types:** - Unit tests (component logic, utilities, edge cases) - Integration tests (component interaction, API integration, state flows) - E2E tests (critical user journeys, cross-browser compatibility) - Accessibility automated tests ### 8. Generate Review Report Create structured report with findings and recommendations: **Report Structure:** - Executive Summary (quality rating, critical issues, recommendation) - Detailed Findings (by category with severity: Critical/Major/Minor) - Action Items (prioritized with file/line references and specific fixes) > **Load references/report-templates.md** for full review report formats and examples ## Review Process Guidelines **Review Timing:** - **Pre-Commit**: Automated linting and formatting - **Pre-PR**: Self-review using this workflow - **PR Review**: Peer review with comprehensive analysis - **Pre-Deployment**: Final quality gate **Severity Definitions:** - **Critical**: Blocks deployment (security issues, breaking bugs, accessibility blockers) - **Major**: Should fix before merge (performance issues, poor patterns, maintainability concerns) - **Minor**: Nice to improve (style suggestions, micro-optimizations, documentation) ## Common Anti-Patterns **React/Component Patterns:** - Prop drilling through multiple levels - God components doing too much - Missing error boundaries - Mutating state directly - Inline functions causing unnecessary re-renders **JavaScript/TypeScript:** - Using `any` type in TypeScript - Console.log in production code - Deeply nested callbacks - Global variables - Unhandled promises **CSS/Styling:** - !important overuse - Inline styles instead of classes - Fixed pixels instead of relative units - High specificity wars **Performance:** - Synchronous expensive operations in render - Large unoptimized bundles (>500KB) - Missing code splitting and lazy loading - Unoptimized images **Accessibility:** - Non-semantic div/span buttons - Missing alt attributes - Color-only information - Keyboard traps - Missing focus management in modals ## Key Review Checkpoints **Code Quality:** - [ ] Components follow single responsibility - [ ] Functions < 50 lines, complexity < 10 - [ ] TypeScript strict mode enabled - [ ] Meaningful naming conventions - [ ] Error handling present **Performance:** - [ ] Appropriate use of React.memo/useMemo/useCallback - [ ] Images optimized (WebP/AVIF) - [ ] Code splitting implemented - [ ] Core Web Vitals within targets **Accessibility:** - [ ] Semantic HTML used - [ ] All images have alt text - [ ] Keyboard navigable - [ ] Color contrast compliant (≥4.5:1) **Security:** - [ ] User input sanitized - [ ] XSS prevention in place - [ ] No sensitive data in localStorage - [ ] Dependencies up to date ## Reference Files Load these files when detailed guidance is needed: - **references/code-quality-checklist.md**: Component patterns, code smells, fixes with examples (693 lines) - **references/performance-checklist.md**: Web Vitals optimization, rendering performance (891 lines) - **references/accessibility-checklist.md**: WCAG 2.1 compliance with detailed examples (1045 lines) - **references/security-checklist.md**: XSS, CSRF, authentication, CSP guidelines (969 lines) - **references/report-templates.md**: Review report formats and examples (1203 lines)
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.