react-native-skills
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
- License 许可
- MIT
- 所属仓库
- carterdea/dots
- 最近更新
- 2026-11-12
- Stars
- ★ 4
- Forks
- 3
01 前言 Front Matter
- name
- react-native-skills
- license
- MIT
- metadata
- { "author": "vercel", "version": "1.0.0" }
- description
- React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
02 资源文件 41
- 参考文档AGENTS.md72.0 KB
- 参考文档metadata.json896 B
- 参考文档README.md4.9 KB
- 参考文档rules/_sections.md2.2 KB
- 参考文档rules/_template.md631 B
- 参考文档rules/animation-derived-value.md1.3 KB
- 参考文档rules/animation-gesture-detector-press.md2.5 KB
- 参考文档rules/animation-gpu-properties.md2.0 KB
- 参考文档rules/design-system-compound-components.md1.6 KB
- 参考文档rules/fonts-config-plugin.md1.4 KB
- 参考文档rules/imports-design-system-folder.md1.4 KB
- 参考文档rules/js-hoist-intl.md1.6 KB
- 参考文档rules/list-performance-callbacks.md1.0 KB
- 参考文档rules/list-performance-function-references.md4.0 KB
- 参考文档rules/list-performance-images.md1.4 KB
- 参考文档rules/list-performance-inline-objects.md2.3 KB
- 参考文档rules/list-performance-item-expensive.md2.4 KB
- 参考文档rules/list-performance-item-memo.md2.2 KB
- 参考文档rules/list-performance-item-types.md2.7 KB
- 参考文档rules/list-performance-virtualize.md1.7 KB
- 参考文档rules/monorepo-native-deps-in-app.md1.1 KB
- 参考文档rules/monorepo-single-dependency-versions.md1.3 KB
- 参考文档rules/navigation-native-navigators.md4.8 KB
- 参考文档rules/react-compiler-destructure-functions.md1.2 KB
- 参考文档rules/react-compiler-reanimated-shared-values.md1.2 KB
- 参考文档rules/react-state-dispatcher.md2.2 KB
- 参考文档rules/react-state-fallback.md1.7 KB
- 参考文档rules/react-state-minimize.md1.7 KB
- 参考文档rules/rendering-no-falsy-and.md1.8 KB
- 参考文档rules/rendering-text-in-text-component.md697 B
- 参考文档rules/scroll-position-no-state.md1.9 KB
- 参考文档rules/state-ground-truth.md2.1 KB
- 参考文档rules/ui-expo-image.md1.6 KB
- 参考文档rules/ui-image-gallery.md2.5 KB
- 参考文档rules/ui-measure-views.md2.2 KB
- 参考文档rules/ui-menus.md4.5 KB
- 参考文档rules/ui-native-modals.md1.8 KB
- 参考文档rules/ui-pressable.md1.5 KB
- 参考文档rules/ui-safe-area-scroll.md1.5 KB
- 参考文档rules/ui-scrollview-content-inset.md1.3 KB
- 参考文档rules/ui-styling.md2.2 KB
03 SKILL.md 正文
React Native Skills
Comprehensive best practices for React Native and Expo applications. Contains rules across multiple categories covering performance, animations, UI patterns, and platform-specific optimizations.
When to Apply
Reference these guidelines when:
- Building React Native or Expo apps
- Optimizing list and scroll performance
- Implementing animations with Reanimated
- Working with images and media
- Configuring native modules or fonts
- Structuring monorepo projects with native dependencies
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | List Performance | CRITICAL | list-performance- |
| 2 | Animation | HIGH | animation- |
| 3 | Navigation | HIGH | navigation- |
| 4 | UI Patterns | HIGH | ui- |
| 5 | State Management | MEDIUM | react-state- |
| 6 | Rendering | MEDIUM | rendering- |
| 7 | Monorepo | MEDIUM | monorepo- |
| 8 | Configuration | LOW | fonts-, imports- |
Quick Reference
1. List Performance (CRITICAL)
list-performance-virtualize- Use FlashList for large listslist-performance-item-memo- Memoize list item componentslist-performance-callbacks- Stabilize callback referenceslist-performance-inline-objects- Avoid inline style objectslist-performance-function-references- Extract functions outside renderlist-performance-images- Optimize images in listslist-performance-item-expensive- Move expensive work outside itemslist-performance-item-types- Use item types for heterogeneous lists
2. Animation (HIGH)
animation-gpu-properties- Animate only transform and opacityanimation-derived-value- Use useDerivedValue for computed animationsanimation-gesture-detector-press- Use Gesture.Tap instead of Pressable
3. Navigation (HIGH)
navigation-native-navigators- Use native stack and native tabs over JS navigators
4. UI Patterns (HIGH)
ui-expo-image- Use expo-image for all imagesui-image-gallery- Use Galeria for image lightboxesui-pressable- Use Pressable over TouchableOpacityui-safe-area-scroll- Handle safe areas in ScrollViewsui-scrollview-content-inset- Use contentInset for headersui-menus- Use native context menusui-native-modals- Use native modals when possibleui-measure-views- Use onLayout, not measure()ui-styling- Use StyleSheet.create or Nativewind
5. State Management (MEDIUM)
react-state-minimize- Minimize state subscriptionsreact-state-dispatcher- Use dispatcher pattern for callbacksreact-state-fallback- Show fallback on first renderreact-compiler-destructure-functions- Destructure for React Compilerreact-compiler-reanimated-shared-values- Handle shared values with compiler
6. Rendering (MEDIUM)
rendering-text-in-text-component- Wrap text in Text componentsrendering-no-falsy-and- Avoid falsy && for conditional rendering
7. Monorepo (MEDIUM)
monorepo-native-deps-in-app- Keep native dependencies in app packagemonorepo-single-dependency-versions- Use single versions across packages
8. Configuration (LOW)
fonts-config-plugin- Use config plugins for custom fontsimports-design-system-folder- Organize design system importsjs-hoist-intl- Hoist Intl object creation
How to Use
Read individual rule files for detailed explanations and code examples:
rules/list-performance-virtualize.md
rules/animation-gpu-properties.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md
04 同仓库更多 Skills
test-audit
Writing/changing/reviewing/sweeping tests: reject duplicate or implementation-coupled proof; remove test-only production seams.
untangle-codebase
Untangle a whole codebase in one pass, so agents working in it read less per change, break less without noticing, and debug faster.
write-swift
How to write modern Swift well — modeling with value types, Swift 6 data-race safety and approachable concurrency (@concurrent, main-actor-by-default, actors, task groups), protocols and generics (some vs any), API design, performance and ARC, Swift Testing, macros, and the modern language features agents don't know about yet. Use when writing, reviewing, or migrating Swift, or when a concurrency error, a hang, a data race, a retain cycle, or a performance problem needs fixing.
stageshow
Build faux product UI that looks like a real product, as a still illustration or an animated demo with a cursor. Browser and app windows, dashboards, phones, notifications, terminals, bento grids and cursor walkthroughs, framed, masked and cropped the way a marketing page, feature card or docs hero needs them. Use whenever someone wants a fake or mocked UI, a product demo or walkthrough animation, a hero or feature-card illustration of an app, a product shot in the style of a polished marketing site, or an animated cursor doing things in an interface, even if they never say "faux UI". React and plain CSS.
review-animations
Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.
remove-animations
Find the animations an interface doesn't need and remove them — motion on keyboard actions, high-frequency surfaces, functional data, and decoration with no purpose — then clean up what they leave behind. Edits code, but only to subtract; it never adds or retunes motion. Use when the user says the app "feels slow", "has too much animation", "feels over-animated", wants to "tone down the motion", or asks what animations to remove. For finding places that should animate, use find-animation-opportunities; for fixing animations that should stay, use improve-animations or review-animations.