Install any skill in seconds. Free to start, no credit card required.
Get Started Free →aiskillstore/tamagui-best-practices
Use when working with Tamagui projects (tamagui.config.ts, @tamagui imports).
Passed 21 of 22 test cases with the skill, and 16 of 22 without it.
and 3 more in the full report
5 fixed16 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 5 test cases the skill fixed. Same model, same prompt, with and without the skill.
Which animation driver package is required for native iOS and Android target support when defining transitions in Tamagui?
| Checked | Without skill | With skill |
|---|---|---|
| Specifies react-native-reanimated as the required driver for native animations | Missed | Passed |
The instructions your model reads when the skill loads.
Tamagui v1.x patterns beyond fundamentals: Config v4, compiler optimization, compound components, and gotchas.
| Context | File | What it covers |
|---|---|---|
| Dialog, Sheet, modal overlays | @DIALOG_PATTERNS.md | Adapt component, accessibility |
| Form, Input, Label, validation | @FORM_PATTERNS.md | zod integration |
| Animations, transitions | @ANIMATION_PATTERNS.md | drivers, enterStyle/exitStyle |
| Popover, Tooltip, Select | @OVERLAY_PATTERNS.md | overlay primitives |
| Compiler optimization | @COMPILER_PATTERNS.md | what the compiler can/cannot flatten |
| Design tokens, theming | @DESIGN_SYSTEM.md | palette, token structure |
Minimal setup with @tamagui/config/v4. Add styleCompat: 'react-native' for new projects to align flexBasis with React Native behavior:
import { defaultConfig } from '@tamagui/config/v4'
import { createTamagui } from 'tamagui'
export const config = createTamagui({
...defaultConfig,
settings: { ...defaultConfig.settings, styleCompat: 'react-native' },
})
declare module 'tamagui' {
interface TamaguiCustomConfig extends typeof config {}
}
For custom themes use createThemes with palette/accent/childrenThemes — see @DESIGN_SYSTEM.md.
styled() variants instead of inline conditionals — dynamic values break flattening.style={{ ... }} with variables; use variant props instead.context pattern (createStyledContext) disables compiler flattening — use for higher-level components (Button, Card), not primitives.test cases passed, vs 16 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.