React Native and Expo rules for lists, animation, navigation, images, and native modules.
How it works
Foe: Bug Slime, a defect in your code.
Foes
- Bug SlimeHaze Poison Ward Insight Flicker Pinned Enraged
Party · Context
- RangerYour agent100/100Haze Poison Ward Insight Flicker Pinned Enraged
The Bug Slime blocks the way.
What really happensIt stands for a defect in your code.
Ranger: Context 100/100.
The Bug Slime uses Regress.
What really happensA fix in one place breaks something that used to work.
Ranger takes 8. Ranger: Context 92/100.
The React Native scroll opens while the app is being built.
What really happensThe skill loads for React Native or Expo work: components, list performance, animations, or native platform APIs.
Bug Slime takes 18.
The worst slime is named first: long lists that rebuild every row.
What really happensList performance is the top category. Rules say use FlashList, memoize items, and keep inline objects and heavy work out of rows.
Bug Slime takes 15.
The Bug Slime uses Regress.
Ranger takes 8. Ranger: Context 84/100.
Motion is limited to transform and opacity, on the GPU.
What really happensAnimation rules: animate only transform and opacity, use useDerivedValue for computed motion, and Gesture.Tap instead of Pressable.
Bug Slime takes 36.
Lists, images, and navigators are left in the native pattern.
What really happensAlso prefer native stack and tabs, expo-image, Pressable over TouchableOpacity, and native dependencies kept in the app package.
Bug Slime takes 31. Bug Slime falls.
The Bug Slime falls.
Learn this spell
Claude Code and Codex
npx skills add vercel-labs/agent-skillsNotes
Rules for React Native and Expo, highest priority first: FlashList and list item cost, then Reanimated (transform and opacity only), native stack and tabs, expo-image, and monorepo native deps. The installer adds every skill in vercel-labs/agent-skills. Frontmatter name is vercel-react-native-skills; the folder is react-native-skills. MIT is declared in SKILL.md; the repo has no LICENSE file.
Proving Grounds record
Controlled quest results, separate from recorded usage. Each setup pools runs across its quests. The per-quest table below has casts, cast time, mana, incantation and runes; medians are not pooled.
Hero: Claude Code 2.1.305; weapon (model): claude-haiku-5-5; charge (effort): low; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.
| QuestFixed task | Clear ratePassed runs | SteadinessReliability lower bound | BuffClear-rate points vs Unarmed | Instant castsFirst-prompt clears | CastsPrompts to clear | Cast timeAgent runtime | ManaCost at API list prices | IncantationOutput tokens | RunesLines added / removed | AttunementSkills opened | SetupApp, model, effort and sandbox |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Ranger: orders screen performance passQuest v4 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 2 of 367%Unarmed: 1 of 3 | 1 | 36sUnarmed: 43s | 94 Unarmed: 98 | Not reportedUnarmed: Not reported | +77 / -39Unarmed: +67 / -37 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-haiku-5-5; charge (effort): low; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v4 and spell commits |
| Ranger: orders screen performance passQuest v4 | 100%2 of 2Unarmed: 100% (2 of 2) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 2 of 2 | 1 | 1m 1sUnarmed: 57s | 3,705 Unarmed: 2,672 | Not reportedUnarmed: Not reported | +124 / -45Unarmed: +83 / -40 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v4 and spell commits |
| Ranger: orders screen performance passQuest v4 | 100%5 of 5Unarmed: 100% (12 of 12) | 57% | +0 ppvs Unarmed | 5 of 5100%Unarmed: 12 of 12 | 1 | 38sUnarmed: 31s | 1,142 Unarmed: 978 | Not reportedUnarmed: 3.3k | +74 / -37Unarmed: +74 / -39 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v4 and spell commits |
| Ranger: orders screen performance passQuest v4 | 100%2 of 2Unarmed: 100% (12 of 12) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 12 of 12 | 1 | 40sUnarmed: 31s | 1,080 Unarmed: 978 | Not reportedUnarmed: 3.3k | +70 / -38Unarmed: +74 / -39 | 0% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v4 and spell commits |
| Ranger: orders screen performance passQuest v4 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 24sUnarmed: 35s | 815 Unarmed: 1,048 | Not reportedUnarmed: Not reported | +73 / -39Unarmed: +66 / -38 | 100% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v4 and spell commits |
| Ranger: Pantry navigation migrationQuest v5 | 100%3 of 3Unarmed: 100% (12 of 12) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 12 of 12 | 1 | 1m 5sUnarmed: 1m 2s | 2,286 Unarmed: 2,116 | Not reportedUnarmed: 8.4k | +202 / -198Unarmed: +202 / -198 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v5 and spell commits |
Scrying (screenshots of runs)
The latest run of each setup. Local paths, names and ids are blurred; credentials are removed.
This spell has no recorded sessions in the curator's logs. Tried it? Send a spell report.





