Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
61
52%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./config/claude/skills/building-native-ui/SKILL.mdQuality
Discovery
32%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description identifies its domain (Expo Router) and lists broad topic areas but lacks concrete actions and explicit trigger guidance. It reads more like a table of contents than a skill description optimized for selection. The absence of a 'Use when...' clause and missing common user-facing trigger terms significantly weaken its effectiveness for skill selection among many options.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when building mobile apps with Expo Router, setting up file-based navigation, or creating React Native screens with tabs and animations.'
Replace broad category names with specific concrete actions, e.g., 'Configure file-based routing, implement stack and tab navigation, create animated screen transitions, style components with NativeWind/StyleSheet.'
Include natural trigger term variations users would say, such as 'React Native', 'mobile app', 'tab bar', 'stack navigator', 'screen layout', and 'expo' to improve matching coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Expo Router apps) and lists several topic areas (styling, components, navigation, animations, patterns, native tabs), but these are broad categories rather than concrete actions. It says 'Covers fundamentals' rather than listing specific actionable capabilities like 'configure file-based routing' or 'implement animated transitions'. | 2 / 3 |
Completeness | Describes what it covers (fundamentals, styling, components, etc.) but completely lacks any 'Use when...' clause or explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' portion is also somewhat weak (topic listing rather than concrete actions), placing this at 1. | 1 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'Expo Router', 'navigation', 'animations', 'native tabs', and 'styling' that users might mention. However, it misses common variations like 'React Native', 'mobile app', 'tab bar', 'stack navigation', 'screen transitions', '.tsx', or 'expo' standalone. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Expo Router' specifically provides some distinctiveness, but broad terms like 'styling', 'components', 'animations', and 'patterns' could easily overlap with general React Native skills, CSS/styling skills, or animation-focused skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
72%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured skill that effectively serves as a comprehensive overview for Expo Router development, with strong progressive disclosure through clearly signaled reference files. The actionability is excellent with concrete code examples and specific library preferences. Minor weaknesses include some verbosity in the Expo Go section and lack of explicit validation checkpoints in workflows.
Suggestions
Trim the 'When Expo Go Works' section — Claude already knows what Expo Go supports; a single sentence like 'Most expo-* packages and common UI libraries work in Expo Go' suffices.
Add a brief validation step after route restructuring (e.g., 'Verify no broken routes: run npx expo start and check for missing route warnings') to strengthen workflow clarity.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient but has some unnecessary explanation (e.g., the 'When Expo Go Works' section listing things Claude would know, and the extended justification for trying Expo Go first). The library preferences and styling sections are admirably terse. | 2 / 3 |
Actionability | Provides concrete, executable code examples throughout — context menus, link previews, sheet configuration, route structure with full file paths and TSX. Library preferences are specific with clear 'use X not Y' directives. Copy-paste ready. | 3 / 3 |
Workflow Clarity | The 'Running the App' section has a clear decision tree for Expo Go vs custom builds. However, there's no validation/verification workflow for the overall app development process — no build verification steps, no error recovery patterns, and the route structure setup lacks explicit checkpoints. | 2 / 3 |
Progressive Disclosure | Excellent structure with a clear references section pointing to 11 separate topic-specific files, all one level deep with descriptive summaries. The main file serves as a well-organized overview covering fundamentals while deferring detailed topics appropriately. | 3 / 3 |
Total | 10 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
05d40bb
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.