react-native-doctor

Diagnose and fix React Native & Expo codebase health issues. Use when reviewing React Native code, fixing performance problems, auditing accessibility, or improving architecture.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "react-native-doctor" with this command: npx skills add yousefalwahami/react-native-doctor/yousefalwahami-react-native-doctor-react-native-doctor

React Native Doctor

Scans your React Native and Expo codebase for performance, accessibility, architecture, correctness, and security issues. Outputs a 0–100 score with actionable diagnostics.

Usage

npx -y react-native-doc@latest . --verbose

For Expo projects:

npx -y react-native-doc@latest . --verbose --expo-only

Workflow

  1. Run the command above at the project root
  2. Read every diagnostic with file paths and line numbers
  3. Fix issues starting with errors (highest severity)
  4. Re-run to verify the score improved

Rules (70+)

React Native

  • Correctness: raw text outside <Text>, deprecated modules, removed APIs (Dimensions.get)
  • Performance: inline renderItem functions, missing keyExtractor, ScrollView for long lists, inline style objects, anonymous JSX callbacks, heavy array chains in render, single-element style arrays, missing React.memo on list items, Animated API (prefer react-native-reanimated)
  • Architecture: legacy shadow properties, hardcoded screen dimensions instead of useWindowDimensions(), excessive Platform.OS branching, hardcoded colors, prop drilling, god components, unnecessary useEffect for derived state
  • Images: missing explicit width/height on <Image>

Accessibility

  • Missing accessibilityLabel on touchable elements
  • Missing accessibilityRole on interactive components
  • Non-descriptive labels ("button", "tap here", etc.)
  • Images without accessible + accessibilityLabel
  • Small tap targets without hitSlop (< 44pt)

Navigation (React Navigation)

  • Inline component definitions in Stack.Screen
  • Missing screenOptions defaults on navigators

Expo

  • Hardcoded colors without useColorScheme() dark mode support
  • Constants.manifestConstants.expoConfig
  • _layout.tsx missing ErrorBoundary export
  • Hardcoded API keys in source code
  • Missing app/+not-found.tsx for Expo Router

React (applies to all projects)

  • Security: eval(), secrets in client bundle
  • State & Effects: derived state in useEffect, cascading setState, missing deps, fetch in effects, unnecessary useEffect for derived state
  • Architecture: nested component definitions, giant components (>200 lines)
  • Performance: missing useMemo/useCallback, non-lazy state init, inline objects to memoized components
  • Bundle Size: barrel imports, full lodash, moment.js
  • Dead Code: unused files, exports, types

Score

  • 75+: Great
  • 50–74: Needs work
  • 0–49: Critical

Fix with an AI agent

After scanning, hand off to an agent to fix all issues automatically.

Ami

npx -y react-native-doc@latest . --fix

Cline

npx -y react-native-doc@latest . --cline

If the cline CLI is installed (npm install -g cline), runs it directly. Otherwise copies the fix prompt to clipboard and opens VS Code/Cline extension.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

Solidity Guardian

Smart contract security analysis skill. Detect vulnerabilities, suggest fixes, generate audit reports. Supports Hardhat/Foundry projects. Uses pattern matchi...

Registry SourceRecently Updated
0509
Profile unavailable
Security

Skill Vettr

Static analysis security scanner for third-party OpenClaw skills. Detects eval/spawn risks, malicious dependencies, typosquatting, and prompt injection patte...

Registry SourceRecently Updated
0514
Profile unavailable
Security

AI Walllet Payment System

Manage Ethereum wallets with encrypted keys, TOTP 2FA, secure ETH transactions, audit logs, and rate limiting for AI-driven payment processing.

Registry SourceRecently Updated
0459
Profile unavailable